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 d8a66e08..7f6968f7 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 3ac9e7c5..8af08621 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [2.5.0](https://github.com/googleapis/java-kms/compare/v2.4.4...v2.5.0) (2022-05-24) + + +### Features + +* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-kms/issues/1440)) ([#776](https://github.com/googleapis/java-kms/issues/776)) ([b6ed68a](https://github.com/googleapis/java-kms/commit/b6ed68a3054d93f54a11a673d1db9a01205413ec)) +* AuditConfig for IAM v1 ([d0b5443](https://github.com/googleapis/java-kms/commit/d0b5443197765e9e6c25d8e614b4c3d4173e37f7)) + + +### Dependencies + +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.11.0 ([#775](https://github.com/googleapis/java-kms/issues/775)) ([cbc71a5](https://github.com/googleapis/java-kms/commit/cbc71a5cffa8ad901c8cd3f221c0e2129531fb43)) +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#777](https://github.com/googleapis/java-kms/issues/777)) ([536f296](https://github.com/googleapis/java-kms/commit/536f296684063cc0b93f2116ce2cfe2f9081c2f6)) +* update dependency com.google.protobuf:protobuf-java-util to v3.20.1 ([#769](https://github.com/googleapis/java-kms/issues/769)) ([0a40116](https://github.com/googleapis/java-kms/commit/0a4011615c65cc1a0a07ad1eb9b8830d8912b0c0)) + ### [2.4.4](https://github.com/googleapis/java-kms/compare/v2.4.3...v2.4.4) (2022-04-15) diff --git a/README.md b/README.md index 1cd3ab09..a066b2ad 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file com.google.cloud libraries-bom - 25.1.0 + 25.3.0 pom import @@ -42,7 +42,7 @@ If you are using Maven without BOM, add this to your dependencies: com.google.cloud google-cloud-kms - 2.4.3 + 2.4.4 ``` @@ -50,20 +50,20 @@ If you are using Maven without BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies ```Groovy -implementation platform('com.google.cloud:libraries-bom:25.1.0') +implementation platform('com.google.cloud:libraries-bom:25.3.0') implementation 'com.google.cloud:google-cloud-kms' ``` If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.cloud:google-cloud-kms:2.4.3' +implementation 'com.google.cloud:google-cloud-kms:2.4.4' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-kms" % "2.4.3" +libraryDependencies += "com.google.cloud" % "google-cloud-kms" % "2.4.4" ``` ## Authentication diff --git a/google-cloud-kms-bom/pom.xml b/google-cloud-kms-bom/pom.xml index fbaf2c34..268c101d 100644 --- a/google-cloud-kms-bom/pom.xml +++ b/google-cloud-kms-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-kms-bom - 2.4.4 + 2.5.0 pom com.google.cloud google-cloud-shared-config - 1.3.2 + 1.4.0 Google Cloud kms BOM @@ -52,17 +52,17 @@ com.google.cloud google-cloud-kms - 2.4.4 + 2.5.0 com.google.api.grpc grpc-google-cloud-kms-v1 - 0.95.4 + 0.96.0 com.google.api.grpc proto-google-cloud-kms-v1 - 0.95.4 + 0.96.0 diff --git a/google-cloud-kms/pom.xml b/google-cloud-kms/pom.xml index 9d1597f5..d07743ee 100644 --- a/google-cloud-kms/pom.xml +++ b/google-cloud-kms/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-kms - 2.4.4 + 2.5.0 jar Google Cloud KMS https://github.com/googleapis/java-kms @@ -11,7 +11,7 @@ com.google.cloud google-cloud-kms-parent - 2.4.4 + 2.5.0 google-cloud-kms diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceClient.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceClient.java index 61b470ee..a308bd34 100644 --- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceClient.java +++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceClient.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. @@ -54,6 +54,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 (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
  *   EkmConnectionName name = EkmConnectionName.of("[PROJECT]", "[LOCATION]", "[EKM_CONNECTION]");
  *   EkmConnection response = ekmServiceClient.getEkmConnection(name);
@@ -89,6 +91,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * EkmServiceSettings ekmServiceSettings =
  *     EkmServiceSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -99,6 +103,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.
  * EkmServiceSettings ekmServiceSettings =
  *     EkmServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
  * EkmServiceClient ekmServiceClient = EkmServiceClient.create(ekmServiceSettings);
@@ -164,6 +170,8 @@ public EkmServiceStub getStub() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   for (EkmConnection element : ekmServiceClient.listEkmConnections(parent).iterateAll()) {
@@ -192,6 +200,8 @@ public final ListEkmConnectionsPagedResponse listEkmConnections(LocationName par
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   for (EkmConnection element : ekmServiceClient.listEkmConnections(parent).iterateAll()) {
@@ -218,6 +228,8 @@ public final ListEkmConnectionsPagedResponse listEkmConnections(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 (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   ListEkmConnectionsRequest request =
    *       ListEkmConnectionsRequest.newBuilder()
@@ -248,6 +260,8 @@ public final ListEkmConnectionsPagedResponse listEkmConnections(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   ListEkmConnectionsRequest request =
    *       ListEkmConnectionsRequest.newBuilder()
@@ -278,6 +292,8 @@ public final ListEkmConnectionsPagedResponse listEkmConnections(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   ListEkmConnectionsRequest request =
    *       ListEkmConnectionsRequest.newBuilder()
@@ -315,6 +331,8 @@ public final ListEkmConnectionsPagedResponse listEkmConnections(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   EkmConnectionName name = EkmConnectionName.of("[PROJECT]", "[LOCATION]", "[EKM_CONNECTION]");
    *   EkmConnection response = ekmServiceClient.getEkmConnection(name);
@@ -338,6 +356,8 @@ public final EkmConnection getEkmConnection(EkmConnectionName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   String name = EkmConnectionName.of("[PROJECT]", "[LOCATION]", "[EKM_CONNECTION]").toString();
    *   EkmConnection response = ekmServiceClient.getEkmConnection(name);
@@ -360,6 +380,8 @@ public final EkmConnection getEkmConnection(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 (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   GetEkmConnectionRequest request =
    *       GetEkmConnectionRequest.newBuilder()
@@ -384,6 +406,8 @@ public final EkmConnection getEkmConnection(GetEkmConnectionRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   GetEkmConnectionRequest request =
    *       GetEkmConnectionRequest.newBuilder()
@@ -409,6 +433,8 @@ public final UnaryCallable getEkmConnect
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   String ekmConnectionId = "ekmConnectionId-445017408";
@@ -446,6 +472,8 @@ public final EkmConnection createEkmConnection(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   String ekmConnectionId = "ekmConnectionId-445017408";
@@ -483,6 +511,8 @@ public final EkmConnection createEkmConnection(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   CreateEkmConnectionRequest request =
    *       CreateEkmConnectionRequest.newBuilder()
@@ -509,6 +539,8 @@ public final EkmConnection createEkmConnection(CreateEkmConnectionRequest reques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   CreateEkmConnectionRequest request =
    *       CreateEkmConnectionRequest.newBuilder()
@@ -535,6 +567,8 @@ public final EkmConnection createEkmConnection(CreateEkmConnectionRequest reques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   EkmConnection ekmConnection = EkmConnection.newBuilder().build();
    *   FieldMask updateMask = FieldMask.newBuilder().build();
@@ -564,6 +598,8 @@ public final EkmConnection updateEkmConnection(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   UpdateEkmConnectionRequest request =
    *       UpdateEkmConnectionRequest.newBuilder()
@@ -588,6 +624,8 @@ public final EkmConnection updateEkmConnection(UpdateEkmConnectionRequest reques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   UpdateEkmConnectionRequest request =
    *       UpdateEkmConnectionRequest.newBuilder()
@@ -615,6 +653,8 @@ public final EkmConnection updateEkmConnection(UpdateEkmConnectionRequest reques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   SetIamPolicyRequest request =
    *       SetIamPolicyRequest.newBuilder()
@@ -622,6 +662,7 @@ public final EkmConnection updateEkmConnection(UpdateEkmConnectionRequest reques
    *               CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
    *                   .toString())
    *           .setPolicy(Policy.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
    *           .build();
    *   Policy response = ekmServiceClient.setIamPolicy(request);
    * }
@@ -643,6 +684,8 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   SetIamPolicyRequest request =
    *       SetIamPolicyRequest.newBuilder()
@@ -650,6 +693,7 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) {
    *               CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
    *                   .toString())
    *           .setPolicy(Policy.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
    *           .build();
    *   ApiFuture future = ekmServiceClient.setIamPolicyCallable().futureCall(request);
    *   // Do something.
@@ -669,6 +713,8 @@ public final UnaryCallable setIamPolicyCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   GetIamPolicyRequest request =
    *       GetIamPolicyRequest.newBuilder()
@@ -696,6 +742,8 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   GetIamPolicyRequest request =
    *       GetIamPolicyRequest.newBuilder()
@@ -726,6 +774,8 @@ public final UnaryCallable getIamPolicyCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   TestIamPermissionsRequest request =
    *       TestIamPermissionsRequest.newBuilder()
@@ -757,6 +807,8 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
    *   TestIamPermissionsRequest request =
    *       TestIamPermissionsRequest.newBuilder()
diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceSettings.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceSettings.java
index f965f566..68ceab57 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceSettings.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceSettings.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.
@@ -57,6 +57,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * EkmServiceSettings.Builder ekmServiceSettingsBuilder = EkmServiceSettings.newBuilder();
  * ekmServiceSettingsBuilder
  *     .getEkmConnectionSettings()
diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java
index 5ef2baa4..3300a9ac 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.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.
@@ -62,6 +62,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 (KeyManagementServiceClient keyManagementServiceClient =
  *     KeyManagementServiceClient.create()) {
  *   KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
@@ -99,6 +101,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * KeyManagementServiceSettings keyManagementServiceSettings =
  *     KeyManagementServiceSettings.newBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
@@ -110,6 +114,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.
  * KeyManagementServiceSettings keyManagementServiceSettings =
  *     KeyManagementServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
  * KeyManagementServiceClient keyManagementServiceClient =
@@ -178,6 +184,8 @@ public KeyManagementServiceStub getStub() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
@@ -206,6 +214,8 @@ public final ListKeyRingsPagedResponse listKeyRings(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
@@ -231,6 +241,8 @@ public final ListKeyRingsPagedResponse listKeyRings(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListKeyRingsRequest request =
@@ -261,6 +273,8 @@ public final ListKeyRingsPagedResponse listKeyRings(ListKeyRingsRequest request)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListKeyRingsRequest request =
@@ -292,6 +306,8 @@ public final ListKeyRingsPagedResponse listKeyRings(ListKeyRingsRequest request)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListKeyRingsRequest request =
@@ -329,6 +345,8 @@ public final UnaryCallable listKeyRin
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
@@ -357,6 +375,8 @@ public final ListCryptoKeysPagedResponse listCryptoKeys(KeyRingName parent) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
@@ -382,6 +402,8 @@ public final ListCryptoKeysPagedResponse listCryptoKeys(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListCryptoKeysRequest request =
@@ -412,6 +434,8 @@ public final ListCryptoKeysPagedResponse listCryptoKeys(ListCryptoKeysRequest re
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListCryptoKeysRequest request =
@@ -443,6 +467,8 @@ public final ListCryptoKeysPagedResponse listCryptoKeys(ListCryptoKeysRequest re
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListCryptoKeysRequest request =
@@ -481,6 +507,8 @@ public final ListCryptoKeysPagedResponse listCryptoKeys(ListCryptoKeysRequest re
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyName parent =
@@ -511,6 +539,8 @@ public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(CryptoKeyN
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String parent =
@@ -539,6 +569,8 @@ public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(String par
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListCryptoKeyVersionsRequest request =
@@ -573,6 +605,8 @@ public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListCryptoKeyVersionsRequest request =
@@ -606,6 +640,8 @@ public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListCryptoKeyVersionsRequest request =
@@ -646,6 +682,8 @@ public final ListCryptoKeyVersionsPagedResponse listCryptoKeyVersions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
@@ -674,6 +712,8 @@ public final ListImportJobsPagedResponse listImportJobs(KeyRingName parent) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
@@ -699,6 +739,8 @@ public final ListImportJobsPagedResponse listImportJobs(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListImportJobsRequest request =
@@ -729,6 +771,8 @@ public final ListImportJobsPagedResponse listImportJobs(ListImportJobsRequest re
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListImportJobsRequest request =
@@ -760,6 +804,8 @@ public final ListImportJobsPagedResponse listImportJobs(ListImportJobsRequest re
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ListImportJobsRequest request =
@@ -798,6 +844,8 @@ public final ListImportJobsPagedResponse listImportJobs(ListImportJobsRequest re
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
@@ -822,6 +870,8 @@ public final KeyRing getKeyRing(KeyRingName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
@@ -845,6 +895,8 @@ public final KeyRing getKeyRing(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetKeyRingRequest request =
@@ -869,6 +921,8 @@ public final KeyRing getKeyRing(GetKeyRingRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetKeyRingRequest request =
@@ -895,6 +949,8 @@ public final UnaryCallable getKeyRingCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyName name =
@@ -922,6 +978,8 @@ public final CryptoKey getCryptoKey(CryptoKeyName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -948,6 +1006,8 @@ public final CryptoKey getCryptoKey(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetCryptoKeyRequest request =
@@ -976,6 +1036,8 @@ public final CryptoKey getCryptoKey(GetCryptoKeyRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetCryptoKeyRequest request =
@@ -1002,6 +1064,8 @@ public final UnaryCallable getCryptoKeyCallable(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersionName name =
@@ -1030,6 +1094,8 @@ public final CryptoKeyVersion getCryptoKeyVersion(CryptoKeyVersionName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -1057,6 +1123,8 @@ public final CryptoKeyVersion getCryptoKeyVersion(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetCryptoKeyVersionRequest request =
@@ -1088,6 +1156,8 @@ public final CryptoKeyVersion getCryptoKeyVersion(GetCryptoKeyVersionRequest req
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetCryptoKeyVersionRequest request =
@@ -1123,6 +1193,8 @@ public final CryptoKeyVersion getCryptoKeyVersion(GetCryptoKeyVersionRequest req
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersionName name =
@@ -1152,6 +1224,8 @@ public final PublicKey getPublicKey(CryptoKeyVersionName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -1181,6 +1255,8 @@ public final PublicKey getPublicKey(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetPublicKeyRequest request =
@@ -1215,6 +1291,8 @@ public final PublicKey getPublicKey(GetPublicKeyRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetPublicKeyRequest request =
@@ -1246,6 +1324,8 @@ public final UnaryCallable getPublicKeyCallable(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ImportJobName name =
@@ -1271,6 +1351,8 @@ public final ImportJob getImportJob(ImportJobName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -1295,6 +1377,8 @@ public final ImportJob getImportJob(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetImportJobRequest request =
@@ -1321,6 +1405,8 @@ public final ImportJob getImportJob(GetImportJobRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetImportJobRequest request =
@@ -1347,6 +1433,8 @@ public final UnaryCallable getImportJobCallable(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
@@ -1380,6 +1468,8 @@ public final KeyRing createKeyRing(LocationName parent, String keyRingId, KeyRin
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
@@ -1413,6 +1503,8 @@ public final KeyRing createKeyRing(String parent, String keyRingId, KeyRing keyR
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CreateKeyRingRequest request =
@@ -1439,6 +1531,8 @@ public final KeyRing createKeyRing(CreateKeyRingRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CreateKeyRingRequest request =
@@ -1470,6 +1564,8 @@ public final UnaryCallable createKeyRingCallable(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
@@ -1511,6 +1607,8 @@ public final CryptoKey createCryptoKey(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
@@ -1551,6 +1649,8 @@ public final CryptoKey createCryptoKey(String parent, String cryptoKeyId, Crypto
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CreateCryptoKeyRequest request =
@@ -1583,6 +1683,8 @@ public final CryptoKey createCryptoKey(CreateCryptoKeyRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CreateCryptoKeyRequest request =
@@ -1615,6 +1717,8 @@ public final UnaryCallable createCryptoKeyCal
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyName parent =
@@ -1654,6 +1758,8 @@ public final CryptoKeyVersion createCryptoKeyVersion(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String parent =
@@ -1693,6 +1799,8 @@ public final CryptoKeyVersion createCryptoKeyVersion(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CreateCryptoKeyVersionRequest request =
@@ -1725,6 +1833,8 @@ public final CryptoKeyVersion createCryptoKeyVersion(CreateCryptoKeyVersionReque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CreateCryptoKeyVersionRequest request =
@@ -1759,6 +1869,8 @@ public final CryptoKeyVersion createCryptoKeyVersion(CreateCryptoKeyVersionReque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ImportCryptoKeyVersionRequest request =
@@ -1800,6 +1912,8 @@ public final CryptoKeyVersion importCryptoKeyVersion(ImportCryptoKeyVersionReque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ImportCryptoKeyVersionRequest request =
@@ -1839,6 +1953,8 @@ public final CryptoKeyVersion importCryptoKeyVersion(ImportCryptoKeyVersionReque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   KeyRingName parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
@@ -1879,6 +1995,8 @@ public final ImportJob createImportJob(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String parent = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]").toString();
@@ -1918,6 +2036,8 @@ public final ImportJob createImportJob(String parent, String importJobId, Import
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CreateImportJobRequest request =
@@ -1947,6 +2067,8 @@ public final ImportJob createImportJob(CreateImportJobRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CreateImportJobRequest request =
@@ -1973,6 +2095,8 @@ public final UnaryCallable createImportJobCal
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKey cryptoKey = CryptoKey.newBuilder().build();
@@ -2001,6 +2125,8 @@ public final CryptoKey updateCryptoKey(CryptoKey cryptoKey, FieldMask updateMask
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   UpdateCryptoKeyRequest request =
@@ -2026,6 +2152,8 @@ public final CryptoKey updateCryptoKey(UpdateCryptoKeyRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   UpdateCryptoKeyRequest request =
@@ -2059,6 +2187,8 @@ public final UnaryCallable updateCryptoKeyCal
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersion cryptoKeyVersion = CryptoKeyVersion.newBuilder().build();
@@ -2098,6 +2228,8 @@ public final CryptoKeyVersion updateCryptoKeyVersion(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   UpdateCryptoKeyVersionRequest request =
@@ -2131,6 +2263,8 @@ public final CryptoKeyVersion updateCryptoKeyVersion(UpdateCryptoKeyVersionReque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   UpdateCryptoKeyVersionRequest request =
@@ -2161,6 +2295,8 @@ public final CryptoKeyVersion updateCryptoKeyVersion(UpdateCryptoKeyVersionReque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyName name =
@@ -2198,6 +2334,8 @@ public final CryptoKey updateCryptoKeyPrimaryVersion(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -2234,6 +2372,8 @@ public final CryptoKey updateCryptoKeyPrimaryVersion(String name, String cryptoK
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   UpdateCryptoKeyPrimaryVersionRequest request =
@@ -2266,6 +2406,8 @@ public final CryptoKey updateCryptoKeyPrimaryVersion(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   UpdateCryptoKeyPrimaryVersionRequest request =
@@ -2308,6 +2450,8 @@ public final CryptoKey updateCryptoKeyPrimaryVersion(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersionName name =
@@ -2350,6 +2494,8 @@ public final CryptoKeyVersion destroyCryptoKeyVersion(CryptoKeyVersionName name)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -2391,6 +2537,8 @@ public final CryptoKeyVersion destroyCryptoKeyVersion(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   DestroyCryptoKeyVersionRequest request =
@@ -2436,6 +2584,8 @@ public final CryptoKeyVersion destroyCryptoKeyVersion(DestroyCryptoKeyVersionReq
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   DestroyCryptoKeyVersionRequest request =
@@ -2475,6 +2625,8 @@ public final CryptoKeyVersion destroyCryptoKeyVersion(DestroyCryptoKeyVersionReq
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersionName name =
@@ -2510,6 +2662,8 @@ public final CryptoKeyVersion restoreCryptoKeyVersion(CryptoKeyVersionName name)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -2544,6 +2698,8 @@ public final CryptoKeyVersion restoreCryptoKeyVersion(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 (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   RestoreCryptoKeyVersionRequest request =
@@ -2582,6 +2738,8 @@ public final CryptoKeyVersion restoreCryptoKeyVersion(RestoreCryptoKeyVersionReq
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   RestoreCryptoKeyVersionRequest request =
@@ -2617,6 +2775,8 @@ public final CryptoKeyVersion restoreCryptoKeyVersion(RestoreCryptoKeyVersionReq
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   ResourceName name = CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]");
@@ -2696,6 +2856,8 @@ public final EncryptResponse encrypt(CryptoKeyPathName name, ByteString plaintex
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -2734,6 +2896,8 @@ public final EncryptResponse encrypt(String name, ByteString plaintext) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   EncryptRequest request =
@@ -2767,6 +2931,8 @@ public final EncryptResponse encrypt(EncryptRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   EncryptRequest request =
@@ -2800,6 +2966,8 @@ public final UnaryCallable encryptCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyName name =
@@ -2834,6 +3002,8 @@ public final DecryptResponse decrypt(CryptoKeyName name, ByteString ciphertext)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -2865,6 +3035,8 @@ public final DecryptResponse decrypt(String name, ByteString ciphertext) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   DecryptRequest request =
@@ -2898,6 +3070,8 @@ public final DecryptResponse decrypt(DecryptRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   DecryptRequest request =
@@ -2931,6 +3105,8 @@ public final UnaryCallable decryptCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersionName name =
@@ -2969,6 +3145,8 @@ public final AsymmetricSignResponse asymmetricSign(CryptoKeyVersionName name, Di
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -3005,6 +3183,8 @@ public final AsymmetricSignResponse asymmetricSign(String name, Digest digest) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   AsymmetricSignRequest request =
@@ -3043,6 +3223,8 @@ public final AsymmetricSignResponse asymmetricSign(AsymmetricSignRequest request
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   AsymmetricSignRequest request =
@@ -3082,6 +3264,8 @@ public final AsymmetricSignResponse asymmetricSign(AsymmetricSignRequest request
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersionName name =
@@ -3119,6 +3303,8 @@ public final AsymmetricDecryptResponse asymmetricDecrypt(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -3153,6 +3339,8 @@ public final AsymmetricDecryptResponse asymmetricDecrypt(String name, ByteString
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   AsymmetricDecryptRequest request =
@@ -3189,6 +3377,8 @@ public final AsymmetricDecryptResponse asymmetricDecrypt(AsymmetricDecryptReques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   AsymmetricDecryptRequest request =
@@ -3225,6 +3415,8 @@ public final AsymmetricDecryptResponse asymmetricDecrypt(AsymmetricDecryptReques
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersionName name =
@@ -3259,6 +3451,8 @@ public final MacSignResponse macSign(CryptoKeyVersionName name, ByteString data)
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -3290,6 +3484,8 @@ public final MacSignResponse macSign(String name, ByteString data) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   MacSignRequest request =
@@ -3325,6 +3521,8 @@ public final MacSignResponse macSign(MacSignRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   MacSignRequest request =
@@ -3360,6 +3558,8 @@ public final UnaryCallable macSignCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   CryptoKeyVersionName name =
@@ -3398,6 +3598,8 @@ public final MacVerifyResponse macVerify(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String name =
@@ -3432,6 +3634,8 @@ public final MacVerifyResponse macVerify(String name, ByteString data, ByteStrin
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   MacVerifyRequest request =
@@ -3469,6 +3673,8 @@ public final MacVerifyResponse macVerify(MacVerifyRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   MacVerifyRequest request =
@@ -3504,6 +3710,8 @@ public final UnaryCallable macVerifyCallabl
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   String location = "location1901043637";
@@ -3541,6 +3749,8 @@ public final GenerateRandomBytesResponse generateRandomBytes(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GenerateRandomBytesRequest request =
@@ -3568,6 +3778,8 @@ public final GenerateRandomBytesResponse generateRandomBytes(GenerateRandomBytes
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GenerateRandomBytesRequest request =
@@ -3597,6 +3809,8 @@ public final GenerateRandomBytesResponse generateRandomBytes(GenerateRandomBytes
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   SetIamPolicyRequest request =
@@ -3605,6 +3819,7 @@ public final GenerateRandomBytesResponse generateRandomBytes(GenerateRandomBytes
    *               CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
    *                   .toString())
    *           .setPolicy(Policy.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
    *           .build();
    *   Policy response = keyManagementServiceClient.setIamPolicy(request);
    * }
@@ -3687,6 +3902,8 @@ public final Policy setIamPolicy(String resource, Policy policy) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   SetIamPolicyRequest request =
@@ -3695,6 +3912,7 @@ public final Policy setIamPolicy(String resource, Policy policy) {
    *               CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
    *                   .toString())
    *           .setPolicy(Policy.newBuilder().build())
+   *           .setUpdateMask(FieldMask.newBuilder().build())
    *           .build();
    *   ApiFuture future =
    *       keyManagementServiceClient.setIamPolicyCallable().futureCall(request);
@@ -3715,6 +3933,8 @@ public final UnaryCallable setIamPolicyCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetIamPolicyRequest request =
@@ -3792,6 +4012,8 @@ public final Policy getIamPolicy(String resource) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   GetIamPolicyRequest request =
@@ -3824,6 +4046,8 @@ public final UnaryCallable getIamPolicyCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   TestIamPermissionsRequest request =
@@ -3928,6 +4152,8 @@ public final TestIamPermissionsResponse testIamPermissions(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (KeyManagementServiceClient keyManagementServiceClient =
    *     KeyManagementServiceClient.create()) {
    *   TestIamPermissionsRequest request =
diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.java
index 5ea1d68b..1cf8e55d 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.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.
@@ -60,6 +60,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * KeyManagementServiceSettings.Builder keyManagementServiceSettingsBuilder =
  *     KeyManagementServiceSettings.newBuilder();
  * keyManagementServiceSettingsBuilder
diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/package-info.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/package-info.java
index 3e84e7a8..7b1dded8 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/package-info.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/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.
@@ -33,6 +33,8 @@
  * 

Sample for EkmServiceClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (EkmServiceClient ekmServiceClient = EkmServiceClient.create()) {
  *   EkmConnectionName name = EkmConnectionName.of("[PROJECT]", "[LOCATION]", "[EKM_CONNECTION]");
  *   EkmConnection response = ekmServiceClient.getEkmConnection(name);
@@ -59,6 +61,8 @@
  * 

Sample for KeyManagementServiceClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (KeyManagementServiceClient keyManagementServiceClient =
  *     KeyManagementServiceClient.create()) {
  *   KeyRingName name = KeyRingName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]");
diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStub.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStub.java
index 83e1f143..5238bb56 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStub.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStub.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-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStubSettings.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStubSettings.java
index 9e39abf8..7bf48b3b 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStubSettings.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStubSettings.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.
@@ -78,6 +78,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * EkmServiceStubSettings.Builder ekmServiceSettingsBuilder = EkmServiceStubSettings.newBuilder();
  * ekmServiceSettingsBuilder
  *     .getEkmConnectionSettings()
diff --git a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcEkmServiceCallableFactory.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcEkmServiceCallableFactory.java
index d3dbd85f..f31242b5 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcEkmServiceCallableFactory.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcEkmServiceCallableFactory.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-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcEkmServiceStub.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcEkmServiceStub.java
index a7172bce..d3215550 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcEkmServiceStub.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcEkmServiceStub.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-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.java
index 2b94e5ff..72cb7f85 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceCallableFactory.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-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.java
index 7ebd65ac..f519d925 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/GrpcKeyManagementServiceStub.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-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.java
index 75a38b14..1ed1a4c7 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStub.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-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java
index dafd33dd..19a3f788 100644
--- a/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java
+++ b/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.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.
@@ -117,6 +117,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * KeyManagementServiceStubSettings.Builder keyManagementServiceSettingsBuilder =
  *     KeyManagementServiceStubSettings.newBuilder();
  * keyManagementServiceSettingsBuilder
diff --git a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/EkmServiceClientTest.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/EkmServiceClientTest.java
index 1d3fe2ec..7fe2ae68 100644
--- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/EkmServiceClientTest.java
+++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/EkmServiceClientTest.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,7 @@
 import com.google.api.gax.rpc.ApiClientHeaderProvider;
 import com.google.api.gax.rpc.InvalidArgumentException;
 import com.google.common.collect.Lists;
+import com.google.iam.v1.AuditConfig;
 import com.google.iam.v1.Binding;
 import com.google.iam.v1.GetIamPolicyRequest;
 import com.google.iam.v1.GetPolicyOptions;
@@ -409,6 +410,7 @@ public void setIamPolicyTest() throws Exception {
         Policy.newBuilder()
             .setVersion(351608024)
             .addAllBindings(new ArrayList())
+            .addAllAuditConfigs(new ArrayList())
             .setEtag(ByteString.EMPTY)
             .build();
     mockIAMPolicy.addResponse(expectedResponse);
@@ -419,6 +421,7 @@ public void setIamPolicyTest() throws Exception {
                 CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                     .toString())
             .setPolicy(Policy.newBuilder().build())
+            .setUpdateMask(FieldMask.newBuilder().build())
             .build();
 
     Policy actualResponse = client.setIamPolicy(request);
@@ -430,6 +433,7 @@ public void setIamPolicyTest() throws Exception {
 
     Assert.assertEquals(request.getResource(), actualRequest.getResource());
     Assert.assertEquals(request.getPolicy(), actualRequest.getPolicy());
+    Assert.assertEquals(request.getUpdateMask(), actualRequest.getUpdateMask());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
@@ -448,6 +452,7 @@ public void setIamPolicyExceptionTest() throws Exception {
                   CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                       .toString())
               .setPolicy(Policy.newBuilder().build())
+              .setUpdateMask(FieldMask.newBuilder().build())
               .build();
       client.setIamPolicy(request);
       Assert.fail("No exception raised");
@@ -462,6 +467,7 @@ public void getIamPolicyTest() throws Exception {
         Policy.newBuilder()
             .setVersion(351608024)
             .addAllBindings(new ArrayList())
+            .addAllAuditConfigs(new ArrayList())
             .setEtag(ByteString.EMPTY)
             .build();
     mockIAMPolicy.addResponse(expectedResponse);
diff --git a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.java
index e9f3b96e..bc6e7440 100644
--- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.java
+++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/KeyManagementServiceClientTest.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.
@@ -30,6 +30,7 @@
 import com.google.api.gax.rpc.InvalidArgumentException;
 import com.google.api.resourcenames.ResourceName;
 import com.google.common.collect.Lists;
+import com.google.iam.v1.AuditConfig;
 import com.google.iam.v1.Binding;
 import com.google.iam.v1.GetIamPolicyRequest;
 import com.google.iam.v1.GetPolicyOptions;
@@ -2526,6 +2527,7 @@ public void setIamPolicyTest() throws Exception {
         Policy.newBuilder()
             .setVersion(351608024)
             .addAllBindings(new ArrayList())
+            .addAllAuditConfigs(new ArrayList())
             .setEtag(ByteString.EMPTY)
             .build();
     mockIAMPolicy.addResponse(expectedResponse);
@@ -2536,6 +2538,7 @@ public void setIamPolicyTest() throws Exception {
                 CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                     .toString())
             .setPolicy(Policy.newBuilder().build())
+            .setUpdateMask(FieldMask.newBuilder().build())
             .build();
 
     Policy actualResponse = client.setIamPolicy(request);
@@ -2547,6 +2550,7 @@ public void setIamPolicyTest() throws Exception {
 
     Assert.assertEquals(request.getResource(), actualRequest.getResource());
     Assert.assertEquals(request.getPolicy(), actualRequest.getPolicy());
+    Assert.assertEquals(request.getUpdateMask(), actualRequest.getUpdateMask());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
@@ -2565,6 +2569,7 @@ public void setIamPolicyExceptionTest() throws Exception {
                   CryptoKeyName.of("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]")
                       .toString())
               .setPolicy(Policy.newBuilder().build())
+              .setUpdateMask(FieldMask.newBuilder().build())
               .build();
       client.setIamPolicy(request);
       Assert.fail("No exception raised");
@@ -2579,6 +2584,7 @@ public void getIamPolicyTest() throws Exception {
         Policy.newBuilder()
             .setVersion(351608024)
             .addAllBindings(new ArrayList())
+            .addAllAuditConfigs(new ArrayList())
             .setEtag(ByteString.EMPTY)
             .build();
     mockIAMPolicy.addResponse(expectedResponse);
diff --git a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockEkmService.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockEkmService.java
index e96818e0..7b30d519 100644
--- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockEkmService.java
+++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockEkmService.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-kms/src/test/java/com/google/cloud/kms/v1/MockEkmServiceImpl.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockEkmServiceImpl.java
index 392f937f..a6151b97 100644
--- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockEkmServiceImpl.java
+++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockEkmServiceImpl.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-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.java
index 873089a2..10fb060e 100644
--- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.java
+++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementService.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-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.java b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.java
index 85b6f2b5..ac7d28a5 100644
--- a/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.java
+++ b/google-cloud-kms/src/test/java/com/google/cloud/kms/v1/MockKeyManagementServiceImpl.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-kms/src/test/java/com/google/iam/v1/MockIAMPolicy.java b/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicy.java
index 01223b3a..3d785982 100644
--- a/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicy.java
+++ b/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicy.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-kms/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.java b/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.java
index 91c8a075..4c1f9e24 100644
--- a/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.java
+++ b/google-cloud-kms/src/test/java/com/google/iam/v1/MockIAMPolicyImpl.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-kms-v1/pom.xml b/grpc-google-cloud-kms-v1/pom.xml
index 696dd6e1..1370a087 100644
--- a/grpc-google-cloud-kms-v1/pom.xml
+++ b/grpc-google-cloud-kms-v1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   grpc-google-cloud-kms-v1
-  0.95.4
+  0.96.0
   grpc-google-cloud-kms-v1
   GRPC library for grpc-google-cloud-kms-v1
   
     com.google.cloud
     google-cloud-kms-parent
-    2.4.4
+    2.5.0
   
   
     
diff --git a/pom.xml b/pom.xml
index 43fadba3..33b03087 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   com.google.cloud
   google-cloud-kms-parent
   pom
-  2.4.4
+  2.5.0
   Google Cloud KMS Parent
   https://github.com/googleapis/java-kms
   
@@ -14,7 +14,7 @@
   
     com.google.cloud
     google-cloud-shared-config
-    1.3.2
+    1.4.0
   
 
   
@@ -61,28 +61,28 @@
       
         com.google.api.grpc
         proto-google-cloud-kms-v1
-        0.95.4
+        0.96.0
       
       
         com.google.api.grpc
         grpc-google-cloud-kms-v1
-        0.95.4
+        0.96.0
       
       
         com.google.cloud
         google-cloud-kms
-        2.4.4
+        2.5.0
       
       
         com.google.cloud
         google-cloud-kms-bom
-        2.4.3
+        2.4.4
       
 
       
         com.google.cloud
         google-cloud-shared-dependencies
-        2.10.0
+        2.12.0
         pom
         import
       
@@ -125,7 +125,7 @@
       
         org.apache.maven.plugins
         maven-project-info-reports-plugin
-        3.2.2
+        3.3.0
         
           
             
@@ -152,7 +152,7 @@
       
         org.apache.maven.plugins
         maven-javadoc-plugin
-        3.3.2
+        3.4.0
         
           
             html
diff --git a/proto-google-cloud-kms-v1/pom.xml b/proto-google-cloud-kms-v1/pom.xml
index a9c73463..9cf26337 100644
--- a/proto-google-cloud-kms-v1/pom.xml
+++ b/proto-google-cloud-kms-v1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   proto-google-cloud-kms-v1
-  0.95.4
+  0.96.0
   proto-google-cloud-kms-v1
   PROTO library for proto-google-cloud-kms-v1
   
     com.google.cloud
     google-cloud-kms-parent
-    2.4.4
+    2.5.0
   
   
     
diff --git a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricDecryptRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricDecryptRequest.java
index 8b2ab727..57c19b70 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricDecryptRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricDecryptRequest.java
@@ -110,6 +110,8 @@ private AsymmetricDecryptRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricDecryptResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricDecryptResponse.java
index b235d933..8e011611 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricDecryptResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricDecryptResponse.java
@@ -115,6 +115,8 @@ private AsymmetricDecryptResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricSignRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricSignRequest.java
index b2778bb4..a947d4c4 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricSignRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricSignRequest.java
@@ -140,6 +140,8 @@ private AsymmetricSignRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricSignResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricSignResponse.java
index 58c65505..dd74676e 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricSignResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/AsymmetricSignResponse.java
@@ -128,6 +128,8 @@ private AsymmetricSignResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/Certificate.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/Certificate.java
index 61c8b1c3..140dd81a 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/Certificate.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/Certificate.java
@@ -166,6 +166,8 @@ private Certificate(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateCryptoKeyRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateCryptoKeyRequest.java
index 8034a5c6..8395954b 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateCryptoKeyRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateCryptoKeyRequest.java
@@ -117,6 +117,8 @@ private CreateCryptoKeyRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateCryptoKeyVersionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateCryptoKeyVersionRequest.java
index 27f11708..c05dfd8b 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateCryptoKeyVersionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateCryptoKeyVersionRequest.java
@@ -105,6 +105,8 @@ private CreateCryptoKeyVersionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateEkmConnectionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateEkmConnectionRequest.java
index 437a9755..e417e6d5 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateEkmConnectionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateEkmConnectionRequest.java
@@ -112,6 +112,8 @@ private CreateEkmConnectionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateImportJobRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateImportJobRequest.java
index 1cd44a44..a56cdf32 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateImportJobRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateImportJobRequest.java
@@ -112,6 +112,8 @@ private CreateImportJobRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateKeyRingRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateKeyRingRequest.java
index f742185b..eed057f3 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateKeyRingRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CreateKeyRingRequest.java
@@ -112,6 +112,8 @@ private CreateKeyRingRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKey.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKey.java
index f6087929..4545f377 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKey.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKey.java
@@ -219,6 +219,8 @@ private CryptoKey(
       }
     } 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 {
@@ -1022,7 +1024,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);
   }
@@ -1059,7 +1061,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;
@@ -1077,7 +1079,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)) {
@@ -3029,8 +3031,9 @@ public Builder mergeRotationPeriod(com.google.protobuf.Duration value) {
       } else {
         if (rotationScheduleCase_ == 8) {
           rotationPeriodBuilder_.mergeFrom(value);
+        } else {
+          rotationPeriodBuilder_.setMessage(value);
         }
-        rotationPeriodBuilder_.setMessage(value);
       }
       rotationScheduleCase_ = 8;
       return this;
@@ -3431,7 +3434,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);
     }
@@ -3469,7 +3472,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;
@@ -3487,7 +3490,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)) {
@@ -3512,7 +3515,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;
@@ -3534,11 +3537,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-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyName.java
index ade8511e..ce54ab8f 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyName.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyName.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-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyOrBuilder.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyOrBuilder.java
index 6b23e561..0fa161f2 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyOrBuilder.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyOrBuilder.java
@@ -424,7 +424,12 @@ public interface CryptoKeyOrBuilder
    *
    * map<string, string> labels = 10;
    */
-  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-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersion.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersion.java
index 2e61a1dc..5c5a5c21 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersion.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersion.java
@@ -249,6 +249,8 @@ private CryptoKeyVersion(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionName.java
index f60ef735..5991b1a7 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionName.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionName.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-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionTemplate.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionTemplate.java
index 241823e5..83cb6eae 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionTemplate.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/CryptoKeyVersionTemplate.java
@@ -101,6 +101,8 @@ private CryptoKeyVersionTemplate(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/DecryptRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DecryptRequest.java
index f5ec769e..44f5b00f 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DecryptRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DecryptRequest.java
@@ -131,6 +131,8 @@ private DecryptRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/DecryptResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DecryptResponse.java
index a0dff134..e6be0889 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DecryptResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DecryptResponse.java
@@ -115,6 +115,8 @@ private DecryptResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/DestroyCryptoKeyVersionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DestroyCryptoKeyVersionRequest.java
index 82d5b10a..9af5164e 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DestroyCryptoKeyVersionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/DestroyCryptoKeyVersionRequest.java
@@ -90,6 +90,8 @@ private DestroyCryptoKeyVersionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/Digest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/Digest.java
index e9577b24..dbd74673 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/Digest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/Digest.java
@@ -70,20 +70,20 @@ private Digest(
             break;
           case 10:
             {
-              digestCase_ = 1;
               digest_ = input.readBytes();
+              digestCase_ = 1;
               break;
             }
           case 18:
             {
-              digestCase_ = 2;
               digest_ = input.readBytes();
+              digestCase_ = 2;
               break;
             }
           case 26:
             {
-              digestCase_ = 3;
               digest_ = input.readBytes();
+              digestCase_ = 3;
               break;
             }
           default:
@@ -97,6 +97,8 @@ private Digest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/EkmConnection.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EkmConnection.java
index 56782ed2..0d516264 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EkmConnection.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EkmConnection.java
@@ -134,6 +134,8 @@ private EkmConnection(
       }
     } 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 {
@@ -425,6 +427,8 @@ private ServiceResolver(
         }
       } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/EkmConnectionName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EkmConnectionName.java
index 95a1cdb0..037dc2d5 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EkmConnectionName.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EkmConnectionName.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-kms-v1/src/main/java/com/google/cloud/kms/v1/EncryptRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EncryptRequest.java
index 8fba1718..c27a0478 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EncryptRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EncryptRequest.java
@@ -131,6 +131,8 @@ private EncryptRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/EncryptResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EncryptResponse.java
index 195fdabe..3b2d7837 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EncryptResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/EncryptResponse.java
@@ -128,6 +128,8 @@ private EncryptResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ExternalProtectionLevelOptions.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ExternalProtectionLevelOptions.java
index 2c112fcc..ec834a1a 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ExternalProtectionLevelOptions.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ExternalProtectionLevelOptions.java
@@ -102,6 +102,8 @@ private ExternalProtectionLevelOptions(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/GenerateRandomBytesRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GenerateRandomBytesRequest.java
index 20c13f32..88df6f74 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GenerateRandomBytesRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GenerateRandomBytesRequest.java
@@ -102,6 +102,8 @@ private GenerateRandomBytesRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/GenerateRandomBytesResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GenerateRandomBytesResponse.java
index 62eb3f91..61d7694d 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GenerateRandomBytesResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GenerateRandomBytesResponse.java
@@ -102,6 +102,8 @@ private GenerateRandomBytesResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/GetCryptoKeyRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetCryptoKeyRequest.java
index 47987c26..c636d3c5 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetCryptoKeyRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetCryptoKeyRequest.java
@@ -89,6 +89,8 @@ private GetCryptoKeyRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/GetCryptoKeyVersionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetCryptoKeyVersionRequest.java
index ec605463..f058bc6a 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetCryptoKeyVersionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetCryptoKeyVersionRequest.java
@@ -89,6 +89,8 @@ private GetCryptoKeyVersionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/GetEkmConnectionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetEkmConnectionRequest.java
index b21eb005..d973cc2f 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetEkmConnectionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetEkmConnectionRequest.java
@@ -88,6 +88,8 @@ private GetEkmConnectionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/GetImportJobRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetImportJobRequest.java
index 6aafa2f5..d56aec6c 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetImportJobRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetImportJobRequest.java
@@ -89,6 +89,8 @@ private GetImportJobRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/GetKeyRingRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetKeyRingRequest.java
index 4698a609..c46a1604 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetKeyRingRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetKeyRingRequest.java
@@ -89,6 +89,8 @@ private GetKeyRingRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/GetPublicKeyRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetPublicKeyRequest.java
index bcc2d4f9..1cd58295 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetPublicKeyRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/GetPublicKeyRequest.java
@@ -89,6 +89,8 @@ private GetPublicKeyRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportCryptoKeyVersionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportCryptoKeyVersionRequest.java
index c1cb537b..49865e4f 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportCryptoKeyVersionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportCryptoKeyVersionRequest.java
@@ -97,8 +97,8 @@ private ImportCryptoKeyVersionRequest(
             }
           case 42:
             {
-              wrappedKeyMaterialCase_ = 5;
               wrappedKeyMaterial_ = input.readBytes();
+              wrappedKeyMaterialCase_ = 5;
               break;
             }
           case 50:
@@ -119,6 +119,8 @@ private ImportCryptoKeyVersionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJob.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJob.java
index a5600f09..476f050f 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJob.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJob.java
@@ -233,6 +233,8 @@ private ImportJob(
       }
     } 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 {
@@ -739,6 +741,8 @@ private WrappingPublicKey(
         }
       } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJobName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJobName.java
index 8b966623..f601253f 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJobName.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ImportJobName.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-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyOperationAttestation.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyOperationAttestation.java
index ed16efbc..2b8f3149 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyOperationAttestation.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyOperationAttestation.java
@@ -114,6 +114,8 @@ private KeyOperationAttestation(
       }
     } 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 {
@@ -557,6 +559,8 @@ private CertificateChains(
         }
       } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRing.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRing.java
index 6eea37d8..5d8b4b15 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRing.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRing.java
@@ -104,6 +104,8 @@ private KeyRing(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRingName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRingName.java
index 93e7936a..694cea4c 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRingName.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/KeyRingName.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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeyVersionsRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeyVersionsRequest.java
index b9b78524..c6ae7da9 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeyVersionsRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeyVersionsRequest.java
@@ -126,6 +126,8 @@ private ListCryptoKeyVersionsRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeyVersionsResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeyVersionsResponse.java
index 6f4eb13f..ec77b6a7 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeyVersionsResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeyVersionsResponse.java
@@ -108,6 +108,8 @@ private ListCryptoKeyVersionsResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeysRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeysRequest.java
index 4d2e1f02..b2835770 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeysRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeysRequest.java
@@ -126,6 +126,8 @@ private ListCryptoKeysRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeysResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeysResponse.java
index 9af973dc..4aa454af 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeysResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListCryptoKeysResponse.java
@@ -106,6 +106,8 @@ private ListCryptoKeysResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListEkmConnectionsRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListEkmConnectionsRequest.java
index 48b4dd56..26aaa8f6 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListEkmConnectionsRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListEkmConnectionsRequest.java
@@ -117,6 +117,8 @@ private ListEkmConnectionsRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListEkmConnectionsResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListEkmConnectionsResponse.java
index b6108dc0..6a350d82 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListEkmConnectionsResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListEkmConnectionsResponse.java
@@ -106,6 +106,8 @@ private ListEkmConnectionsResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListImportJobsRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListImportJobsRequest.java
index fca6bcb8..2d14a815 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListImportJobsRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListImportJobsRequest.java
@@ -118,6 +118,8 @@ private ListImportJobsRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListImportJobsResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListImportJobsResponse.java
index 39c5f628..3152b54d 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListImportJobsResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListImportJobsResponse.java
@@ -106,6 +106,8 @@ private ListImportJobsResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListKeyRingsRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListKeyRingsRequest.java
index f6aee19c..1fea7759 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListKeyRingsRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListKeyRingsRequest.java
@@ -118,6 +118,8 @@ private ListKeyRingsRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/ListKeyRingsResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListKeyRingsResponse.java
index 111d6a71..8ca99164 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListKeyRingsResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/ListKeyRingsResponse.java
@@ -106,6 +106,8 @@ private ListKeyRingsResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationMetadata.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationMetadata.java
index c8c87f91..1d9e565d 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationMetadata.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationMetadata.java
@@ -90,6 +90,8 @@ private LocationMetadata(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationName.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationName.java
index 143d06cd..3c76f221 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/LocationName.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/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-kms-v1/src/main/java/com/google/cloud/kms/v1/MacSignRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacSignRequest.java
index 57db81c0..b2b00c56 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacSignRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacSignRequest.java
@@ -110,6 +110,8 @@ private MacSignRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/MacSignResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacSignResponse.java
index a1d28f07..05fcf97e 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacSignResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacSignResponse.java
@@ -123,6 +123,8 @@ private MacSignResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/MacVerifyRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacVerifyRequest.java
index 78042b65..00017e74 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacVerifyRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacVerifyRequest.java
@@ -131,6 +131,8 @@ private MacVerifyRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/MacVerifyResponse.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacVerifyResponse.java
index 321e1514..782f4304 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacVerifyResponse.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/MacVerifyResponse.java
@@ -117,6 +117,8 @@ private MacVerifyResponse(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/PublicKey.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/PublicKey.java
index 5218ff39..8088bec0 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/PublicKey.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/PublicKey.java
@@ -129,6 +129,8 @@ private PublicKey(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/RestoreCryptoKeyVersionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/RestoreCryptoKeyVersionRequest.java
index 5ae63fef..f0fc668b 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/RestoreCryptoKeyVersionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/RestoreCryptoKeyVersionRequest.java
@@ -90,6 +90,8 @@ private RestoreCryptoKeyVersionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyPrimaryVersionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyPrimaryVersionRequest.java
index f4ddde07..da7671c2 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyPrimaryVersionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyPrimaryVersionRequest.java
@@ -99,6 +99,8 @@ private UpdateCryptoKeyPrimaryVersionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyRequest.java
index e9f0dcc2..54c8ddac 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyRequest.java
@@ -110,6 +110,8 @@ private UpdateCryptoKeyRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyVersionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyVersionRequest.java
index 9cd802d0..fa9ee994 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyVersionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateCryptoKeyVersionRequest.java
@@ -111,6 +111,8 @@ private UpdateCryptoKeyVersionRequest(
       }
     } 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-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateEkmConnectionRequest.java b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateEkmConnectionRequest.java
index a52b558d..f114cdc5 100644
--- a/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateEkmConnectionRequest.java
+++ b/proto-google-cloud-kms-v1/src/main/java/com/google/cloud/kms/v1/UpdateEkmConnectionRequest.java
@@ -110,6 +110,8 @@ private UpdateEkmConnectionRequest(
       }
     } 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 db46201d..16c0b667 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -29,14 +29,14 @@
     
       com.google.cloud
       google-cloud-kms
-      2.4.3
+      2.4.4
     
     
 
     
       com.google.protobuf
       protobuf-java-util
-      3.20.0
+      3.20.1
     
     
       junit
diff --git a/samples/pom.xml b/samples/pom.xml
index e45d0e9b..664a080a 100644
--- a/samples/pom.xml
+++ b/samples/pom.xml
@@ -46,7 +46,7 @@
       
         org.sonatype.plugins
         nexus-staging-maven-plugin
-        1.6.11
+        1.6.13
         
           true
         
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index e84b32c2..890b0b68 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,14 +28,14 @@
     
       com.google.cloud
       google-cloud-kms
-      2.4.4
+      2.5.0
     
     
 
     
       com.google.protobuf
       protobuf-java-util
-      3.20.0
+      3.20.1
     
     
       junit
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 0bbe29ae..afd36a5b 100644
--- a/samples/snippets/pom.xml
+++ b/samples/snippets/pom.xml
@@ -30,7 +30,7 @@
       
         com.google.cloud
         libraries-bom
-        25.1.0
+        25.3.0
         pom
         import
       
diff --git a/versions.txt b/versions.txt
index a3c41aae..7ae0088d 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,6 +1,6 @@
 # Format:
 # module:released-version:current-version
 
-google-cloud-kms:2.4.4:2.4.4
-grpc-google-cloud-kms-v1:0.95.4:0.95.4
-proto-google-cloud-kms-v1:0.95.4:0.95.4
+google-cloud-kms:2.5.0:2.5.0
+grpc-google-cloud-kms-v1:0.96.0:0.96.0
+proto-google-cloud-kms-v1:0.96.0:0.96.0