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 b027e6ae..49075492 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 d5ff71a8..a0247477 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [2.2.0](https://github.com/googleapis/java-memcache/compare/v2.1.11...v2.2.0) (2022-05-19) + + +### Features + +* add build scripts for native image testing in Java 17 ([#1440](https://github.com/googleapis/java-memcache/issues/1440)) ([#630](https://github.com/googleapis/java-memcache/issues/630)) ([e05ab3b](https://github.com/googleapis/java-memcache/commit/e05ab3b4c6082ae5fb4b7bb79059b38793729c74)) + + +### Dependencies + +* update dependency com.google.cloud:google-cloud-shared-dependencies to v2.12.0 ([#629](https://github.com/googleapis/java-memcache/issues/629)) ([0c043e2](https://github.com/googleapis/java-memcache/commit/0c043e217f413d1d12385ce80075c16697257fca)) + ### [2.1.11](https://github.com/googleapis/java-memcache/compare/v2.1.10...v2.1.11) (2022-04-15) diff --git a/README.md b/README.md index 9df0e596..c7e26a30 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 @@ -41,7 +41,7 @@ If you are using Maven without BOM, add this to your dependencies: com.google.cloud google-cloud-memcache - 2.1.10 + 2.1.11 ``` @@ -49,20 +49,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-memcache' ``` If you are using Gradle without BOM, add this to your dependencies ```Groovy -implementation 'com.google.cloud:google-cloud-memcache:2.1.10' +implementation 'com.google.cloud:google-cloud-memcache:2.1.11' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-memcache" % "2.1.10" +libraryDependencies += "com.google.cloud" % "google-cloud-memcache" % "2.1.11" ``` ## Authentication diff --git a/google-cloud-memcache-bom/pom.xml b/google-cloud-memcache-bom/pom.xml index 738cb4ce..83b84510 100644 --- a/google-cloud-memcache-bom/pom.xml +++ b/google-cloud-memcache-bom/pom.xml @@ -3,12 +3,12 @@ 4.0.0 com.google.cloud google-cloud-memcache-bom - 2.1.11 + 2.2.0 pom com.google.cloud google-cloud-shared-config - 1.3.2 + 1.4.0 Google Cloud Memcache BOM @@ -56,27 +56,27 @@ com.google.cloud google-cloud-memcache - 2.1.11 + 2.2.0 com.google.api.grpc grpc-google-cloud-memcache-v1beta2 - 0.8.11 + 0.9.0 com.google.api.grpc grpc-google-cloud-memcache-v1 - 2.1.11 + 2.2.0 com.google.api.grpc proto-google-cloud-memcache-v1beta2 - 0.8.11 + 0.9.0 com.google.api.grpc proto-google-cloud-memcache-v1 - 2.1.11 + 2.2.0 diff --git a/google-cloud-memcache/pom.xml b/google-cloud-memcache/pom.xml index d4ce259e..1f08b5de 100644 --- a/google-cloud-memcache/pom.xml +++ b/google-cloud-memcache/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-memcache - 2.1.11 + 2.2.0 jar Google Cloud Memcache https://github.com/googleapis/java-memcache @@ -11,7 +11,7 @@ com.google.cloud google-cloud-memcache-parent - 2.1.11 + 2.2.0 google-cloud-memcache diff --git a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheClient.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheClient.java index c90e8f79..4046bd2d 100644 --- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheClient.java +++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheClient.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. @@ -65,6 +65,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 (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
  *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
  *   Instance response = cloudMemcacheClient.getInstance(name);
@@ -100,6 +102,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudMemcacheSettings cloudMemcacheSettings =
  *     CloudMemcacheSettings.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.
  * CloudMemcacheSettings cloudMemcacheSettings =
  *     CloudMemcacheSettings.newBuilder().setEndpoint(myEndpoint).build();
  * CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create(cloudMemcacheSettings);
@@ -188,6 +194,8 @@ public final OperationsClient getOperationsClient() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   for (Instance element : cloudMemcacheClient.listInstances(parent).iterateAll()) {
@@ -215,6 +223,8 @@ public final ListInstancesPagedResponse listInstances(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 (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   for (Instance element : cloudMemcacheClient.listInstances(parent).iterateAll()) {
@@ -239,6 +249,8 @@ public final ListInstancesPagedResponse listInstances(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 (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -268,6 +280,8 @@ public final ListInstancesPagedResponse listInstances(ListInstancesRequest reque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -298,6 +312,8 @@ public final ListInstancesPagedResponse listInstances(ListInstancesRequest reque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -333,6 +349,8 @@ public final UnaryCallable listInst
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   Instance response = cloudMemcacheClient.getInstance(name);
@@ -357,6 +375,8 @@ public final Instance getInstance(InstanceName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   Instance response = cloudMemcacheClient.getInstance(name);
@@ -380,6 +400,8 @@ public final Instance getInstance(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 (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   GetInstanceRequest request =
    *       GetInstanceRequest.newBuilder()
@@ -403,6 +425,8 @@ public final Instance getInstance(GetInstanceRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   GetInstanceRequest request =
    *       GetInstanceRequest.newBuilder()
@@ -425,6 +449,8 @@ public final UnaryCallable getInstanceCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   Instance instance = Instance.newBuilder().build();
@@ -467,6 +493,8 @@ public final OperationFuture createInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   Instance instance = Instance.newBuilder().build();
@@ -509,6 +537,8 @@ public final OperationFuture createInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -535,6 +565,8 @@ public final OperationFuture createInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -561,6 +593,8 @@ public final OperationFuture createInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -586,6 +620,8 @@ public final UnaryCallable createInstanceCalla
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   Instance instance = Instance.newBuilder().build();
    *   FieldMask updateMask = FieldMask.newBuilder().build();
@@ -612,6 +648,8 @@ public final OperationFuture updateInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -637,6 +675,8 @@ public final OperationFuture updateInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -662,6 +702,8 @@ public final OperationFuture updateInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -688,6 +730,8 @@ public final UnaryCallable updateInstanceCalla
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   FieldMask updateMask = FieldMask.newBuilder().build();
@@ -723,6 +767,8 @@ public final OperationFuture updateParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   FieldMask updateMask = FieldMask.newBuilder().build();
@@ -758,6 +804,8 @@ public final OperationFuture updateParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateParametersRequest request =
    *       UpdateParametersRequest.newBuilder()
@@ -786,6 +834,8 @@ public final OperationFuture updateParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateParametersRequest request =
    *       UpdateParametersRequest.newBuilder()
@@ -814,6 +864,8 @@ public final OperationFuture updateParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateParametersRequest request =
    *       UpdateParametersRequest.newBuilder()
@@ -839,6 +891,8 @@ public final UnaryCallable updateParametersC
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   cloudMemcacheClient.deleteInstanceAsync(name).get();
@@ -863,6 +917,8 @@ public final OperationFuture deleteInstanceAsync(Insta
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   cloudMemcacheClient.deleteInstanceAsync(name).get();
@@ -886,6 +942,8 @@ public final OperationFuture deleteInstanceAsync(Strin
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   DeleteInstanceRequest request =
    *       DeleteInstanceRequest.newBuilder()
@@ -910,6 +968,8 @@ public final OperationFuture deleteInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   DeleteInstanceRequest request =
    *       DeleteInstanceRequest.newBuilder()
@@ -934,6 +994,8 @@ public final OperationFuture deleteInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   DeleteInstanceRequest request =
    *       DeleteInstanceRequest.newBuilder()
@@ -958,6 +1020,8 @@ public final UnaryCallable deleteInstanceCalla
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   List nodeIds = new ArrayList<>();
@@ -993,6 +1057,8 @@ public final OperationFuture applyParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   List nodeIds = new ArrayList<>();
@@ -1028,6 +1094,8 @@ public final OperationFuture applyParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplyParametersRequest request =
    *       ApplyParametersRequest.newBuilder()
@@ -1055,6 +1123,8 @@ public final OperationFuture applyParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplyParametersRequest request =
    *       ApplyParametersRequest.newBuilder()
@@ -1082,6 +1152,8 @@ public final OperationFuture applyParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplyParametersRequest request =
    *       ApplyParametersRequest.newBuilder()
diff --git a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheSettings.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheSettings.java
index fbac85fd..dc798c7d 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheSettings.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/CloudMemcacheSettings.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.
@@ -55,6 +55,8 @@
  * 

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

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

Sample for CloudMemcacheClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
  *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
  *   Instance response = cloudMemcacheClient.getInstance(name);
diff --git a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStub.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStub.java
index b2e4a161..a6b58cd5 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStub.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStub.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-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStubSettings.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStubSettings.java
index 6544358c..522bffc1 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStubSettings.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/CloudMemcacheStubSettings.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.
@@ -83,6 +83,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudMemcacheStubSettings.Builder cloudMemcacheSettingsBuilder =
  *     CloudMemcacheStubSettings.newBuilder();
  * cloudMemcacheSettingsBuilder
diff --git a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/GrpcCloudMemcacheCallableFactory.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/GrpcCloudMemcacheCallableFactory.java
index c43a5f4f..e72d9818 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/GrpcCloudMemcacheCallableFactory.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/GrpcCloudMemcacheCallableFactory.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-memcache/src/main/java/com/google/cloud/memcache/v1/stub/GrpcCloudMemcacheStub.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/GrpcCloudMemcacheStub.java
index e426c19e..ad20db98 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/GrpcCloudMemcacheStub.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1/stub/GrpcCloudMemcacheStub.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-memcache/src/main/java/com/google/cloud/memcache/v1beta2/CloudMemcacheClient.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/CloudMemcacheClient.java
index 04a135a2..e247abce 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/CloudMemcacheClient.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/CloudMemcacheClient.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.
@@ -65,6 +65,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 (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
  *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
  *   Instance response = cloudMemcacheClient.getInstance(name);
@@ -100,6 +102,8 @@
  * 

To customize credentials: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudMemcacheSettings cloudMemcacheSettings =
  *     CloudMemcacheSettings.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.
  * CloudMemcacheSettings cloudMemcacheSettings =
  *     CloudMemcacheSettings.newBuilder().setEndpoint(myEndpoint).build();
  * CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create(cloudMemcacheSettings);
@@ -189,6 +195,8 @@ public final OperationsClient getOperationsClient() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   for (Instance element : cloudMemcacheClient.listInstances(parent).iterateAll()) {
@@ -216,6 +224,8 @@ public final ListInstancesPagedResponse listInstances(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 (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   for (Instance element : cloudMemcacheClient.listInstances(parent).iterateAll()) {
@@ -240,6 +250,8 @@ public final ListInstancesPagedResponse listInstances(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 (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -269,6 +281,8 @@ public final ListInstancesPagedResponse listInstances(ListInstancesRequest reque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -299,6 +313,8 @@ public final ListInstancesPagedResponse listInstances(ListInstancesRequest reque
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ListInstancesRequest request =
    *       ListInstancesRequest.newBuilder()
@@ -334,6 +350,8 @@ public final UnaryCallable listInst
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   Instance response = cloudMemcacheClient.getInstance(name);
@@ -358,6 +376,8 @@ public final Instance getInstance(InstanceName name) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   Instance response = cloudMemcacheClient.getInstance(name);
@@ -381,6 +401,8 @@ public final Instance getInstance(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 (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   GetInstanceRequest request =
    *       GetInstanceRequest.newBuilder()
@@ -404,6 +426,8 @@ public final Instance getInstance(GetInstanceRequest request) {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   GetInstanceRequest request =
    *       GetInstanceRequest.newBuilder()
@@ -426,6 +450,8 @@ public final UnaryCallable getInstanceCallable() {
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
    *   String instanceId = "instanceId902024336";
@@ -468,6 +494,8 @@ public final OperationFuture createInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String parent = LocationName.of("[PROJECT]", "[LOCATION]").toString();
    *   String instanceId = "instanceId902024336";
@@ -510,6 +538,8 @@ public final OperationFuture createInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -536,6 +566,8 @@ public final OperationFuture createInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -562,6 +594,8 @@ public final OperationFuture createInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   CreateInstanceRequest request =
    *       CreateInstanceRequest.newBuilder()
@@ -587,6 +621,8 @@ public final UnaryCallable createInstanceCalla
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   FieldMask updateMask = FieldMask.newBuilder().build();
    *   Instance resource = Instance.newBuilder().build();
@@ -613,6 +649,8 @@ public final OperationFuture updateInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -638,6 +676,8 @@ public final OperationFuture updateInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -663,6 +703,8 @@ public final OperationFuture updateInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateInstanceRequest request =
    *       UpdateInstanceRequest.newBuilder()
@@ -689,6 +731,8 @@ public final UnaryCallable updateInstanceCalla
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   FieldMask updateMask = FieldMask.newBuilder().build();
@@ -724,6 +768,8 @@ public final OperationFuture updateParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   FieldMask updateMask = FieldMask.newBuilder().build();
@@ -759,6 +805,8 @@ public final OperationFuture updateParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateParametersRequest request =
    *       UpdateParametersRequest.newBuilder()
@@ -787,6 +835,8 @@ public final OperationFuture updateParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateParametersRequest request =
    *       UpdateParametersRequest.newBuilder()
@@ -815,6 +865,8 @@ public final OperationFuture updateParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   UpdateParametersRequest request =
    *       UpdateParametersRequest.newBuilder()
@@ -840,6 +892,8 @@ public final UnaryCallable updateParametersC
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   cloudMemcacheClient.deleteInstanceAsync(name).get();
@@ -864,6 +918,8 @@ public final OperationFuture deleteInstanceAsync(Insta
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   cloudMemcacheClient.deleteInstanceAsync(name).get();
@@ -887,6 +943,8 @@ public final OperationFuture deleteInstanceAsync(Strin
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   DeleteInstanceRequest request =
    *       DeleteInstanceRequest.newBuilder()
@@ -911,6 +969,8 @@ public final OperationFuture deleteInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   DeleteInstanceRequest request =
    *       DeleteInstanceRequest.newBuilder()
@@ -935,6 +995,8 @@ public final OperationFuture deleteInstanceAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   DeleteInstanceRequest request =
    *       DeleteInstanceRequest.newBuilder()
@@ -959,6 +1021,8 @@ public final UnaryCallable deleteInstanceCalla
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   List nodeIds = new ArrayList<>();
@@ -994,6 +1058,8 @@ public final OperationFuture applyParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   List nodeIds = new ArrayList<>();
@@ -1029,6 +1095,8 @@ public final OperationFuture applyParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplyParametersRequest request =
    *       ApplyParametersRequest.newBuilder()
@@ -1056,6 +1124,8 @@ public final OperationFuture applyParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplyParametersRequest request =
    *       ApplyParametersRequest.newBuilder()
@@ -1083,6 +1153,8 @@ public final OperationFuture applyParametersAsync(
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplyParametersRequest request =
    *       ApplyParametersRequest.newBuilder()
@@ -1108,6 +1180,8 @@ public final UnaryCallable applyParametersCal
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   InstanceName instance = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
    *   List nodeIds = new ArrayList<>();
@@ -1144,6 +1218,8 @@ public final OperationFuture applySoftwareUpdateAsy
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   String instance = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]").toString();
    *   List nodeIds = new ArrayList<>();
@@ -1180,6 +1256,8 @@ public final OperationFuture applySoftwareUpdateAsy
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplySoftwareUpdateRequest request =
    *       ApplySoftwareUpdateRequest.newBuilder()
@@ -1206,6 +1284,8 @@ public final OperationFuture applySoftwareUpdateAsy
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplySoftwareUpdateRequest request =
    *       ApplySoftwareUpdateRequest.newBuilder()
@@ -1232,6 +1312,8 @@ public final OperationFuture applySoftwareUpdateAsy
    * 

Sample code: * *

{@code
+   * // This snippet has been automatically generated for illustrative purposes only.
+   * // It may require modifications to work in your environment.
    * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
    *   ApplySoftwareUpdateRequest request =
    *       ApplySoftwareUpdateRequest.newBuilder()
diff --git a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/CloudMemcacheSettings.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/CloudMemcacheSettings.java
index e7beff1f..da0e94a6 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/CloudMemcacheSettings.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/CloudMemcacheSettings.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.
@@ -55,6 +55,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudMemcacheSettings.Builder cloudMemcacheSettingsBuilder = CloudMemcacheSettings.newBuilder();
  * cloudMemcacheSettingsBuilder
  *     .getInstanceSettings()
diff --git a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/package-info.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/package-info.java
index 1a02af33..96cda576 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/package-info.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/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.
@@ -42,6 +42,8 @@
  * 

Sample for CloudMemcacheClient: * *

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * try (CloudMemcacheClient cloudMemcacheClient = CloudMemcacheClient.create()) {
  *   InstanceName name = InstanceName.of("[PROJECT]", "[LOCATION]", "[INSTANCE]");
  *   Instance response = cloudMemcacheClient.getInstance(name);
diff --git a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/CloudMemcacheStub.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/CloudMemcacheStub.java
index ab6502ed..94b69df1 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/CloudMemcacheStub.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/CloudMemcacheStub.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-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/CloudMemcacheStubSettings.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/CloudMemcacheStubSettings.java
index 3d75fb72..a9f625c7 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/CloudMemcacheStubSettings.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/CloudMemcacheStubSettings.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.
@@ -84,6 +84,8 @@
  * 

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

{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
  * CloudMemcacheStubSettings.Builder cloudMemcacheSettingsBuilder =
  *     CloudMemcacheStubSettings.newBuilder();
  * cloudMemcacheSettingsBuilder
diff --git a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/GrpcCloudMemcacheCallableFactory.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/GrpcCloudMemcacheCallableFactory.java
index 8e9feaae..e6b1e0db 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/GrpcCloudMemcacheCallableFactory.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/GrpcCloudMemcacheCallableFactory.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-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/GrpcCloudMemcacheStub.java b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/GrpcCloudMemcacheStub.java
index c9592edd..65e359bb 100644
--- a/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/GrpcCloudMemcacheStub.java
+++ b/google-cloud-memcache/src/main/java/com/google/cloud/memcache/v1beta2/stub/GrpcCloudMemcacheStub.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-memcache/src/test/java/com/google/cloud/memcache/v1/CloudMemcacheClientTest.java b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/CloudMemcacheClientTest.java
index ec2341ca..e5ef7dd7 100644
--- a/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/CloudMemcacheClientTest.java
+++ b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/CloudMemcacheClientTest.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-memcache/src/test/java/com/google/cloud/memcache/v1/MockCloudMemcache.java b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/MockCloudMemcache.java
index 4ccaf040..0a4431b9 100644
--- a/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/MockCloudMemcache.java
+++ b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/MockCloudMemcache.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-memcache/src/test/java/com/google/cloud/memcache/v1/MockCloudMemcacheImpl.java b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/MockCloudMemcacheImpl.java
index a6272cdc..ed10fbbb 100644
--- a/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/MockCloudMemcacheImpl.java
+++ b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1/MockCloudMemcacheImpl.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-memcache/src/test/java/com/google/cloud/memcache/v1beta2/CloudMemcacheClientTest.java b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/CloudMemcacheClientTest.java
index 6e586b94..a21deeb5 100644
--- a/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/CloudMemcacheClientTest.java
+++ b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/CloudMemcacheClientTest.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-memcache/src/test/java/com/google/cloud/memcache/v1beta2/MockCloudMemcache.java b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/MockCloudMemcache.java
index 6e8036f7..f7435ccf 100644
--- a/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/MockCloudMemcache.java
+++ b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/MockCloudMemcache.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-memcache/src/test/java/com/google/cloud/memcache/v1beta2/MockCloudMemcacheImpl.java b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/MockCloudMemcacheImpl.java
index 07ac0ccb..354fe6e5 100644
--- a/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/MockCloudMemcacheImpl.java
+++ b/google-cloud-memcache/src/test/java/com/google/cloud/memcache/v1beta2/MockCloudMemcacheImpl.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-memcache-v1/pom.xml b/grpc-google-cloud-memcache-v1/pom.xml
index 1eba1699..16e14714 100644
--- a/grpc-google-cloud-memcache-v1/pom.xml
+++ b/grpc-google-cloud-memcache-v1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   grpc-google-cloud-memcache-v1
-  2.1.11
+  2.2.0
   grpc-google-cloud-memcache-v1
   GRPC library for grpc-google-cloud-memcache-v1
   
     com.google.cloud
     google-cloud-memcache-parent
-    2.1.11
+    2.2.0
   
   
     
diff --git a/grpc-google-cloud-memcache-v1beta2/pom.xml b/grpc-google-cloud-memcache-v1beta2/pom.xml
index b87da6e5..5090ad1e 100644
--- a/grpc-google-cloud-memcache-v1beta2/pom.xml
+++ b/grpc-google-cloud-memcache-v1beta2/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   grpc-google-cloud-memcache-v1beta2
-  0.8.11
+  0.9.0
   grpc-google-cloud-memcache-v1beta2
   GRPC library for grpc-google-cloud-memcache-v1beta2
   
     com.google.cloud
     google-cloud-memcache-parent
-    2.1.11
+    2.2.0
   
   
     
diff --git a/pom.xml b/pom.xml
index 9df429d2..32155985 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   com.google.cloud
   google-cloud-memcache-parent
   pom
-  2.1.11
+  2.2.0
   Google Cloud Memcache Parent
   https://github.com/googleapis/java-memcache
   
@@ -14,7 +14,7 @@
   
     com.google.cloud
     google-cloud-shared-config
-    1.3.2
+    1.4.0
   
 
   
@@ -61,33 +61,33 @@
       
         com.google.api.grpc
         proto-google-cloud-memcache-v1beta2
-        0.8.11
+        0.9.0
       
       
         com.google.api.grpc
         grpc-google-cloud-memcache-v1beta2
-        0.8.11
+        0.9.0
       
       
         com.google.api.grpc
         proto-google-cloud-memcache-v1
-        2.1.11
+        2.2.0
       
       
         com.google.api.grpc
         grpc-google-cloud-memcache-v1
-        2.1.11
+        2.2.0
       
       
         com.google.cloud
         google-cloud-memcache
-        2.1.11
+        2.2.0
       
 
       
         com.google.cloud
         google-cloud-shared-dependencies
-        2.10.0
+        2.12.0
         pom
         import
       
@@ -132,7 +132,7 @@
       
         org.apache.maven.plugins
         maven-project-info-reports-plugin
-        3.2.2
+        3.3.0
         
           
             
@@ -159,7 +159,7 @@
       
         org.apache.maven.plugins
         maven-javadoc-plugin
-        3.3.2
+        3.4.0
         
           
             html
diff --git a/proto-google-cloud-memcache-v1/pom.xml b/proto-google-cloud-memcache-v1/pom.xml
index f208c0ed..e329a60d 100644
--- a/proto-google-cloud-memcache-v1/pom.xml
+++ b/proto-google-cloud-memcache-v1/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   proto-google-cloud-memcache-v1
-  2.1.11
+  2.2.0
   proto-google-cloud-memcache-v1
   PROTO library for proto-google-cloud-memcache-v1
   
     com.google.cloud
     google-cloud-memcache-parent
-    2.1.11
+    2.2.0
   
   
     
diff --git a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ApplyParametersRequest.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ApplyParametersRequest.java
index d382a7f7..ae4a50c1 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ApplyParametersRequest.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ApplyParametersRequest.java
@@ -105,6 +105,8 @@ private ApplyParametersRequest(
       }
     } 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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/CreateInstanceRequest.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/CreateInstanceRequest.java
index 735c63b0..9f0c7d4c 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/CreateInstanceRequest.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/CreateInstanceRequest.java
@@ -112,6 +112,8 @@ private CreateInstanceRequest(
       }
     } 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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/DeleteInstanceRequest.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/DeleteInstanceRequest.java
index 12f80c49..6574a6a1 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/DeleteInstanceRequest.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/DeleteInstanceRequest.java
@@ -88,6 +88,8 @@ private DeleteInstanceRequest(
       }
     } 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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/GetInstanceRequest.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/GetInstanceRequest.java
index c8f66a7b..decfa8ba 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/GetInstanceRequest.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/GetInstanceRequest.java
@@ -88,6 +88,8 @@ private GetInstanceRequest(
       }
     } 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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/Instance.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/Instance.java
index aa067797..969bb6ac 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/Instance.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/Instance.java
@@ -248,6 +248,8 @@ private Instance(
       }
     } 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 {
@@ -594,6 +596,8 @@ private NodeConfig(
         }
       } 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 {
@@ -1414,6 +1418,8 @@ private Node(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
       } finally {
@@ -3147,6 +3153,8 @@ private InstanceMessage(
         }
       } 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 {
@@ -4122,7 +4130,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);
   }
@@ -4161,7 +4169,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;
@@ -4180,7 +4188,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)) {
@@ -5888,7 +5896,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);
     }
@@ -5928,7 +5936,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;
@@ -5947,7 +5955,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)) {
@@ -5973,7 +5981,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;
@@ -5996,11 +6004,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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/InstanceName.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/InstanceName.java
index d03bfa4b..9f77f3dd 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/InstanceName.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/InstanceName.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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/InstanceOrBuilder.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/InstanceOrBuilder.java
index 05839bc9..928feb0a 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/InstanceOrBuilder.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/InstanceOrBuilder.java
@@ -137,7 +137,12 @@ public interface InstanceOrBuilder
    *
    * map<string, string> labels = 3;
    */
-  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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ListInstancesRequest.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ListInstancesRequest.java
index 506729ae..172a608b 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ListInstancesRequest.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ListInstancesRequest.java
@@ -117,6 +117,8 @@ private ListInstancesRequest(
       }
     } 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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ListInstancesResponse.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ListInstancesResponse.java
index b5bde2c7..442d8f04 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ListInstancesResponse.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/ListInstancesResponse.java
@@ -112,6 +112,8 @@ private ListInstancesResponse(
       }
     } 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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/LocationName.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/LocationName.java
index e4ac4932..ffd79095 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/LocationName.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/MemcacheParameters.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/MemcacheParameters.java
index 2c860b1e..1b1eed01 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/MemcacheParameters.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/MemcacheParameters.java
@@ -94,6 +94,8 @@ private MemcacheParameters(
       }
     } 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 {
@@ -220,7 +222,7 @@ public int getParamsCount() {
   @java.lang.Override
   public boolean containsParams(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetParams().getMap().containsKey(key);
   }
@@ -255,7 +257,7 @@ public java.util.Map getParamsMap() {
   @java.lang.Override
   public java.lang.String getParamsOrDefault(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 = internalGetParams().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -272,7 +274,7 @@ public java.lang.String getParamsOrDefault(java.lang.String key, java.lang.Strin
   @java.lang.Override
   public java.lang.String getParamsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetParams().getMap();
     if (!map.containsKey(key)) {
@@ -792,7 +794,7 @@ public int getParamsCount() {
     @java.lang.Override
     public boolean containsParams(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetParams().getMap().containsKey(key);
     }
@@ -828,7 +830,7 @@ public java.util.Map getParamsMap() {
     public java.lang.String getParamsOrDefault(
         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 = internalGetParams().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -845,7 +847,7 @@ public java.lang.String getParamsOrDefault(
     @java.lang.Override
     public java.lang.String getParamsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetParams().getMap();
       if (!map.containsKey(key)) {
@@ -869,7 +871,7 @@ public Builder clearParams() {
      */
     public Builder removeParams(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableParams().getMutableMap().remove(key);
       return this;
@@ -890,11 +892,12 @@ public java.util.Map getMutableParams() {
      */
     public Builder putParams(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");
       }
+
       internalGetMutableParams().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/MemcacheParametersOrBuilder.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/MemcacheParametersOrBuilder.java
index 6fb6549b..1deaaa58 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/MemcacheParametersOrBuilder.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/MemcacheParametersOrBuilder.java
@@ -96,7 +96,12 @@ public interface MemcacheParametersOrBuilder
    *
    * map<string, string> params = 3;
    */
-  java.lang.String getParamsOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getParamsOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/OperationMetadata.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/OperationMetadata.java
index 65a50ebf..16236681 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/OperationMetadata.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/OperationMetadata.java
@@ -147,6 +147,8 @@ private OperationMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/UpdateInstanceRequest.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/UpdateInstanceRequest.java
index 9d0153ae..5b6e9c54 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/UpdateInstanceRequest.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/UpdateInstanceRequest.java
@@ -110,6 +110,8 @@ private UpdateInstanceRequest(
       }
     } 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-memcache-v1/src/main/java/com/google/cloud/memcache/v1/UpdateParametersRequest.java b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/UpdateParametersRequest.java
index 7ee27f44..0d3e5de9 100644
--- a/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/UpdateParametersRequest.java
+++ b/proto-google-cloud-memcache-v1/src/main/java/com/google/cloud/memcache/v1/UpdateParametersRequest.java
@@ -119,6 +119,8 @@ private UpdateParametersRequest(
       }
     } 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-memcache-v1beta2/pom.xml b/proto-google-cloud-memcache-v1beta2/pom.xml
index 9c5b2739..6c1aa463 100644
--- a/proto-google-cloud-memcache-v1beta2/pom.xml
+++ b/proto-google-cloud-memcache-v1beta2/pom.xml
@@ -4,13 +4,13 @@
   4.0.0
   com.google.api.grpc
   proto-google-cloud-memcache-v1beta2
-  0.8.11
+  0.9.0
   proto-google-cloud-memcache-v1beta2
   PROTO library for proto-google-cloud-memcache-v1beta2
   
     com.google.cloud
     google-cloud-memcache-parent
-    2.1.11
+    2.2.0
   
   
     
diff --git a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ApplyParametersRequest.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ApplyParametersRequest.java
index a6c986e4..ff3f8863 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ApplyParametersRequest.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ApplyParametersRequest.java
@@ -105,6 +105,8 @@ private ApplyParametersRequest(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ApplySoftwareUpdateRequest.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ApplySoftwareUpdateRequest.java
index 23aae2a1..6eaa5601 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ApplySoftwareUpdateRequest.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ApplySoftwareUpdateRequest.java
@@ -105,6 +105,8 @@ private ApplySoftwareUpdateRequest(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/CreateInstanceRequest.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/CreateInstanceRequest.java
index 6903111b..c4d8d0c8 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/CreateInstanceRequest.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/CreateInstanceRequest.java
@@ -112,6 +112,8 @@ private CreateInstanceRequest(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/DeleteInstanceRequest.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/DeleteInstanceRequest.java
index 6e681019..9603a981 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/DeleteInstanceRequest.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/DeleteInstanceRequest.java
@@ -88,6 +88,8 @@ private DeleteInstanceRequest(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/GetInstanceRequest.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/GetInstanceRequest.java
index 707b682a..ae6e7b72 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/GetInstanceRequest.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/GetInstanceRequest.java
@@ -88,6 +88,8 @@ private GetInstanceRequest(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/Instance.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/Instance.java
index e94a030a..61f82a41 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/Instance.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/Instance.java
@@ -263,6 +263,8 @@ private Instance(
       }
     } 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 {
@@ -609,6 +611,8 @@ private NodeConfig(
         }
       } 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 {
@@ -1448,6 +1452,8 @@ private Node(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
       } finally {
@@ -3271,6 +3277,8 @@ private InstanceMessage(
         }
       } 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 {
@@ -4250,7 +4258,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);
   }
@@ -4289,7 +4297,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;
@@ -4308,7 +4316,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)) {
@@ -6064,7 +6072,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);
     }
@@ -6104,7 +6112,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;
@@ -6123,7 +6131,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)) {
@@ -6149,7 +6157,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;
@@ -6172,11 +6180,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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/InstanceName.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/InstanceName.java
index dc1f1fd4..416cdeca 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/InstanceName.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/InstanceName.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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/InstanceOrBuilder.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/InstanceOrBuilder.java
index 0e843659..70d316ce 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/InstanceOrBuilder.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/InstanceOrBuilder.java
@@ -137,7 +137,12 @@ public interface InstanceOrBuilder
    *
    * map<string, string> labels = 3;
    */
-  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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ListInstancesRequest.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ListInstancesRequest.java
index 9f1ce9e1..e9447e92 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ListInstancesRequest.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ListInstancesRequest.java
@@ -117,6 +117,8 @@ private ListInstancesRequest(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ListInstancesResponse.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ListInstancesResponse.java
index c52a9e2e..83faa9b9 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ListInstancesResponse.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ListInstancesResponse.java
@@ -112,6 +112,8 @@ private ListInstancesResponse(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationMetadata.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationMetadata.java
index 32a5d05c..775beafc 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationMetadata.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationMetadata.java
@@ -99,6 +99,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 {
@@ -183,7 +185,7 @@ public int getAvailableZonesCount() {
   @java.lang.Override
   public boolean containsAvailableZones(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetAvailableZones().getMap().containsKey(key);
   }
@@ -229,7 +231,7 @@ public boolean containsAvailableZones(java.lang.String key) {
   public com.google.cloud.memcache.v1beta2.ZoneMetadata getAvailableZonesOrDefault(
       java.lang.String key, com.google.cloud.memcache.v1beta2.ZoneMetadata defaultValue) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetAvailableZones().getMap();
@@ -252,7 +254,7 @@ public com.google.cloud.memcache.v1beta2.ZoneMetadata getAvailableZonesOrDefault
   public com.google.cloud.memcache.v1beta2.ZoneMetadata getAvailableZonesOrThrow(
       java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map =
         internalGetAvailableZones().getMap();
@@ -657,7 +659,7 @@ public int getAvailableZonesCount() {
     @java.lang.Override
     public boolean containsAvailableZones(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetAvailableZones().getMap().containsKey(key);
     }
@@ -703,7 +705,7 @@ public boolean containsAvailableZones(java.lang.String key) {
     public com.google.cloud.memcache.v1beta2.ZoneMetadata getAvailableZonesOrDefault(
         java.lang.String key, com.google.cloud.memcache.v1beta2.ZoneMetadata defaultValue) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetAvailableZones().getMap();
@@ -726,7 +728,7 @@ public com.google.cloud.memcache.v1beta2.ZoneMetadata getAvailableZonesOrDefault
     public com.google.cloud.memcache.v1beta2.ZoneMetadata getAvailableZonesOrThrow(
         java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map =
           internalGetAvailableZones().getMap();
@@ -755,7 +757,7 @@ public Builder clearAvailableZones() {
      */
     public Builder removeAvailableZones(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableAvailableZones().getMutableMap().remove(key);
       return this;
@@ -782,11 +784,12 @@ public Builder removeAvailableZones(java.lang.String key) {
     public Builder putAvailableZones(
         java.lang.String key, com.google.cloud.memcache.v1beta2.ZoneMetadata 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");
       }
+
       internalGetMutableAvailableZones().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationMetadataOrBuilder.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationMetadataOrBuilder.java
index 3e6a0632..abceeea7 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationMetadataOrBuilder.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationMetadataOrBuilder.java
@@ -83,8 +83,12 @@ public interface LocationMetadataOrBuilder
    * map<string, .google.cloud.memcache.v1beta2.ZoneMetadata> available_zones = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];
    * 
    */
+
+  /* nullable */
   com.google.cloud.memcache.v1beta2.ZoneMetadata getAvailableZonesOrDefault(
-      java.lang.String key, com.google.cloud.memcache.v1beta2.ZoneMetadata defaultValue);
+      java.lang.String key,
+      /* nullable */
+      com.google.cloud.memcache.v1beta2.ZoneMetadata defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationName.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationName.java
index 3b3bc9ff..9d7df19a 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/LocationName.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/MemcacheParameters.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/MemcacheParameters.java
index daa4eea2..f0bfb3c3 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/MemcacheParameters.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/MemcacheParameters.java
@@ -106,6 +106,8 @@ private MemcacheParameters(
       }
     } 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 {
@@ -226,7 +228,7 @@ public int getParamsCount() {
   @java.lang.Override
   public boolean containsParams(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     return internalGetParams().getMap().containsKey(key);
   }
@@ -261,7 +263,7 @@ public java.util.Map getParamsMap() {
   @java.lang.Override
   public java.lang.String getParamsOrDefault(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 = internalGetParams().getMap();
     return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -278,7 +280,7 @@ public java.lang.String getParamsOrDefault(java.lang.String key, java.lang.Strin
   @java.lang.Override
   public java.lang.String getParamsOrThrow(java.lang.String key) {
     if (key == null) {
-      throw new java.lang.NullPointerException();
+      throw new NullPointerException("map key");
     }
     java.util.Map map = internalGetParams().getMap();
     if (!map.containsKey(key)) {
@@ -796,7 +798,7 @@ public int getParamsCount() {
     @java.lang.Override
     public boolean containsParams(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       return internalGetParams().getMap().containsKey(key);
     }
@@ -832,7 +834,7 @@ public java.util.Map getParamsMap() {
     public java.lang.String getParamsOrDefault(
         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 = internalGetParams().getMap();
       return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -849,7 +851,7 @@ public java.lang.String getParamsOrDefault(
     @java.lang.Override
     public java.lang.String getParamsOrThrow(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       java.util.Map map = internalGetParams().getMap();
       if (!map.containsKey(key)) {
@@ -873,7 +875,7 @@ public Builder clearParams() {
      */
     public Builder removeParams(java.lang.String key) {
       if (key == null) {
-        throw new java.lang.NullPointerException();
+        throw new NullPointerException("map key");
       }
       internalGetMutableParams().getMutableMap().remove(key);
       return this;
@@ -894,11 +896,12 @@ public java.util.Map getMutableParams() {
      */
     public Builder putParams(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");
       }
+
       internalGetMutableParams().getMutableMap().put(key, value);
       return this;
     }
diff --git a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/MemcacheParametersOrBuilder.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/MemcacheParametersOrBuilder.java
index 56b8b086..91e20f76 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/MemcacheParametersOrBuilder.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/MemcacheParametersOrBuilder.java
@@ -90,7 +90,12 @@ public interface MemcacheParametersOrBuilder
    *
    * map<string, string> params = 3;
    */
-  java.lang.String getParamsOrDefault(java.lang.String key, java.lang.String defaultValue);
+
+  /* nullable */
+  java.lang.String getParamsOrDefault(
+      java.lang.String key,
+      /* nullable */
+      java.lang.String defaultValue);
   /**
    *
    *
diff --git a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/OperationMetadata.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/OperationMetadata.java
index d2ceaf31..d3d4f3da 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/OperationMetadata.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/OperationMetadata.java
@@ -147,6 +147,8 @@ private OperationMetadata(
       }
     } catch (com.google.protobuf.InvalidProtocolBufferException e) {
       throw e.setUnfinishedMessage(this);
+    } catch (com.google.protobuf.UninitializedMessageException e) {
+      throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
     } catch (java.io.IOException e) {
       throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
     } finally {
diff --git a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/UpdateInstanceRequest.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/UpdateInstanceRequest.java
index dd40153b..a3f8920c 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/UpdateInstanceRequest.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/UpdateInstanceRequest.java
@@ -110,6 +110,8 @@ private UpdateInstanceRequest(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/UpdateParametersRequest.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/UpdateParametersRequest.java
index 6a686345..1466051b 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/UpdateParametersRequest.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/UpdateParametersRequest.java
@@ -120,6 +120,8 @@ private UpdateParametersRequest(
       }
     } 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-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ZoneMetadata.java b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ZoneMetadata.java
index e8ac3a66..dbf6a92a 100644
--- a/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ZoneMetadata.java
+++ b/proto-google-cloud-memcache-v1beta2/src/main/java/com/google/cloud/memcache/v1beta2/ZoneMetadata.java
@@ -71,6 +71,8 @@ private ZoneMetadata(
       }
     } 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 c2948532..385c0991 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -29,7 +29,7 @@
     
       com.google.cloud
       google-cloud-memcache
-      2.1.10
+      2.1.11
     
     
 
diff --git a/samples/pom.xml b/samples/pom.xml
index 6147f09f..120b1837 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 d48312cd..8ff48504 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,7 +28,7 @@
     
       com.google.cloud
       google-cloud-memcache
-      2.1.10
+      2.1.11
     
 
     
diff --git a/samples/snippets/pom.xml b/samples/snippets/pom.xml
index 1aa18e38..319c9fba 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 c8932bd3..944b5302 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,8 +1,8 @@
 # Format:
 # module:released-version:current-version
 
-google-cloud-memcache:2.1.11:2.1.11
-grpc-google-cloud-memcache-v1beta2:0.8.11:0.8.11
-grpc-google-cloud-memcache-v1:2.1.11:2.1.11
-proto-google-cloud-memcache-v1beta2:0.8.11:0.8.11
-proto-google-cloud-memcache-v1:2.1.11:2.1.11
+google-cloud-memcache:2.2.0:2.2.0
+grpc-google-cloud-memcache-v1beta2:0.9.0:0.9.0
+grpc-google-cloud-memcache-v1:2.2.0:2.2.0
+proto-google-cloud-memcache-v1beta2:0.9.0:0.9.0
+proto-google-cloud-memcache-v1:2.2.0:2.2.0