From 46b068a7a4c4236e1e25275545dec4f8fc9af5f6 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Thu, 7 May 2020 17:25:54 +0200 Subject: [PATCH 1/5] chore(deps): update dependency com.google.cloud:google-cloud-bigtable to v1.12.0 (#286) --- samples/install-without-bom/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml index 35927cb3a6..55b71b31fb 100644 --- a/samples/install-without-bom/pom.xml +++ b/samples/install-without-bom/pom.xml @@ -29,7 +29,7 @@ com.google.cloud google-cloud-bigtable - 1.11.0 + 1.12.0 From 322fc6a39066ca13d3f523ff524c1c6c1d387bda Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 7 May 2020 15:36:05 +0000 Subject: [PATCH 2/5] chore: release 1.12.1-SNAPSHOT (#288) :robot: I have created a release \*beep\* \*boop\* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). --- google-cloud-bigtable-bom/pom.xml | 14 +++++++------- google-cloud-bigtable-deps-bom/pom.xml | 2 +- google-cloud-bigtable-emulator/pom.xml | 8 ++++---- google-cloud-bigtable/pom.xml | 8 ++++---- grpc-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- grpc-google-cloud-bigtable-v2/pom.xml | 8 ++++---- pom.xml | 2 +- proto-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- proto-google-cloud-bigtable-v2/pom.xml | 8 ++++---- samples/snapshot/pom.xml | 2 +- versions.txt | 12 ++++++------ 11 files changed, 40 insertions(+), 40 deletions(-) diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index f8741c0a8d..7f3d645dac 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigtable-bom - 1.12.0 + 1.12.1-SNAPSHOT pom com.google.cloud @@ -72,32 +72,32 @@ com.google.cloud google-cloud-bigtable - 1.12.0 + 1.12.1-SNAPSHOT com.google.cloud google-cloud-bigtable-emulator - 0.121.0 + 0.121.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 1.12.0 + 1.12.1-SNAPSHOT com.google.api.grpc grpc-google-cloud-bigtable-v2 - 1.12.0 + 1.12.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 1.12.0 + 1.12.1-SNAPSHOT com.google.api.grpc proto-google-cloud-bigtable-v2 - 1.12.0 + 1.12.1-SNAPSHOT diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index ed0141ba3f..547df1fcd6 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -12,7 +12,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.0 + 1.12.1-SNAPSHOT pom diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index 86d6c20574..3bccd12ef1 100644 --- a/google-cloud-bigtable-emulator/pom.xml +++ b/google-cloud-bigtable-emulator/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-bigtable-emulator - 0.121.0 + 0.121.1-SNAPSHOT Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 1.12.0 + 1.12.1-SNAPSHOT scm:git:git@github.com:googleapis/java-bigtable.git @@ -80,14 +80,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index 76e26dc486..a6068544a7 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 1.12.0 + 1.12.1-SNAPSHOT jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,7 +12,7 @@ com.google.cloud google-cloud-bigtable-parent - 1.12.0 + 1.12.1-SNAPSHOT google-cloud-bigtable @@ -36,14 +36,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import diff --git a/grpc-google-cloud-bigtable-admin-v2/pom.xml b/grpc-google-cloud-bigtable-admin-v2/pom.xml index 54f6da380a..cf6f09fc79 100644 --- a/grpc-google-cloud-bigtable-admin-v2/pom.xml +++ b/grpc-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 1.12.0 + 1.12.1-SNAPSHOT grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 1.12.0 + 1.12.1-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index b366b57e3e..a9a2d74683 100644 --- a/grpc-google-cloud-bigtable-v2/pom.xml +++ b/grpc-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 1.12.0 + 1.12.1-SNAPSHOT grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 1.12.0 + 1.12.1-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import diff --git a/pom.xml b/pom.xml index d01d5b67f2..ed5f59014b 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 1.12.0 + 1.12.1-SNAPSHOT Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index d557c7d680..8b550a82e9 100644 --- a/proto-google-cloud-bigtable-admin-v2/pom.xml +++ b/proto-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 1.12.0 + 1.12.1-SNAPSHOT proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 1.12.0 + 1.12.1-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index 25525c7180..466f8c44f1 100644 --- a/proto-google-cloud-bigtable-v2/pom.xml +++ b/proto-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 1.12.0 + 1.12.1-SNAPSHOT proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 1.12.0 + 1.12.1-SNAPSHOT @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import com.google.cloud google-cloud-bigtable-bom - 1.12.0 + 1.12.1-SNAPSHOT pom import diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index 8a5d513cdc..c5a967969a 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 1.12.0 + 1.12.1-SNAPSHOT diff --git a/versions.txt b/versions.txt index 2f8739a9ff..46963c8822 100644 --- a/versions.txt +++ b/versions.txt @@ -1,9 +1,9 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:1.12.0:1.12.0 -grpc-google-cloud-bigtable-admin-v2:1.12.0:1.12.0 -grpc-google-cloud-bigtable-v2:1.12.0:1.12.0 -proto-google-cloud-bigtable-admin-v2:1.12.0:1.12.0 -proto-google-cloud-bigtable-v2:1.12.0:1.12.0 -google-cloud-bigtable-emulator:0.121.0:0.121.0 +google-cloud-bigtable:1.12.0:1.12.1-SNAPSHOT +grpc-google-cloud-bigtable-admin-v2:1.12.0:1.12.1-SNAPSHOT +grpc-google-cloud-bigtable-v2:1.12.0:1.12.1-SNAPSHOT +proto-google-cloud-bigtable-admin-v2:1.12.0:1.12.1-SNAPSHOT +proto-google-cloud-bigtable-v2:1.12.0:1.12.1-SNAPSHOT +google-cloud-bigtable-emulator:0.121.0:0.121.1-SNAPSHOT From 592ff872bf8e326d8126bf4977f4fb39705472fc Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 8 May 2020 08:33:11 -0700 Subject: [PATCH 3/5] chore: Re-generated to pick up changes in the API or client library generator. (#289) * Integrate Python GAPIC Microgenerator in googleapis. This PR uses using documentai as an example. Depends on https://github.com/googleapis/gapic-generator-python/pull/402 PiperOrigin-RevId: 309824146 Source-Author: Google APIs Source-Date: Mon May 4 15:06:44 2020 -0700 Source-Repo: googleapis/googleapis Source-Sha: e0f9d9e1f9de890db765be46f45ca8490723e3eb Source-Link: https://github.com/googleapis/googleapis/commit/e0f9d9e1f9de890db765be46f45ca8490723e3eb * fix: retry_codes in BTAdmin.GetIamPolicy for bigtable/admin/v2 Committer: @miraleung PiperOrigin-RevId: 310426317 Source-Author: Google APIs Source-Date: Thu May 7 13:31:13 2020 -0700 Source-Repo: googleapis/googleapis Source-Sha: fb8f62b6784f43faf4b64179c57ce4b4931b1a00 Source-Link: https://github.com/googleapis/googleapis/commit/fb8f62b6784f43faf4b64179c57ce4b4931b1a00 * add clirr ignored differences file Co-authored-by: Kristen O'Leary --- .../clirr-ignored-differences.xml | 10 ++ .../v2/BaseBigtableInstanceAdminClient.java | 134 +++++++++++--- .../v2/BaseBigtableTableAdminClient.java | 167 +++++++++++++----- .../BigtableInstanceAdminStubSettings.java | 6 +- .../stub/BigtableTableAdminStubSettings.java | 6 +- .../BaseBigtableInstanceAdminClientTest.java | 70 ++++---- .../v2/BaseBigtableTableAdminClientTest.java | 48 +++-- .../admin/v2/BigtableTableAdminProto.java | 118 +++++++------ .../com/google/bigtable/admin/v2/Cluster.java | 16 +- .../bigtable/admin/v2/ClusterOrBuilder.java | 4 +- .../google/bigtable/admin/v2/CommonProto.java | 26 ++- .../bigtable/admin/v2/InstanceProto.java | 89 +++++----- .../google/bigtable/admin/v2/TableProto.java | 159 ++++++++--------- .../admin/v2/bigtable_table_admin.proto | 5 + .../google/bigtable/admin/v2/common.proto | 1 - .../google/bigtable/admin/v2/instance.proto | 5 +- .../google/bigtable/admin/v2/table.proto | 1 - synth.metadata | 11 +- 18 files changed, 517 insertions(+), 359 deletions(-) create mode 100644 google-cloud-bigtable/clirr-ignored-differences.xml diff --git a/google-cloud-bigtable/clirr-ignored-differences.xml b/google-cloud-bigtable/clirr-ignored-differences.xml new file mode 100644 index 0000000000..9dec1aa01d --- /dev/null +++ b/google-cloud-bigtable/clirr-ignored-differences.xml @@ -0,0 +1,10 @@ + + + + + 7005 + com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient* + *snapshot* + *snapshot* + + \ No newline at end of file diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java index 26f89dfb51..bca97fdfab 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClient.java @@ -28,6 +28,7 @@ import com.google.api.gax.rpc.OperationCallable; import com.google.api.gax.rpc.PageContext; import com.google.api.gax.rpc.UnaryCallable; +import com.google.api.resourcenames.ResourceName; import com.google.bigtable.admin.v2.AppProfile; import com.google.bigtable.admin.v2.AppProfileName; import com.google.bigtable.admin.v2.Cluster; @@ -1058,10 +1059,8 @@ public final UnaryCallable listCluste * *

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   ClusterName name = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
    *   int serveNodes = 0;
    *   Cluster request = Cluster.newBuilder()
-   *     .setName(name.toString())
    *     .setServeNodes(serveNodes)
    *     .build();
    *   Cluster response = baseBigtableInstanceAdminClient.updateClusterAsync(request).get();
@@ -1085,10 +1084,8 @@ public final OperationFuture updateClusterAsync(
    *
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   ClusterName name = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
    *   int serveNodes = 0;
    *   Cluster request = Cluster.newBuilder()
-   *     .setName(name.toString())
    *     .setServeNodes(serveNodes)
    *     .build();
    *   OperationFuture<Cluster, UpdateClusterMetadata> future = baseBigtableInstanceAdminClient.updateClusterOperationCallable().futureCall(request);
@@ -1111,10 +1108,8 @@ public final OperationFuture updateClusterAsync(
    *
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   ClusterName name = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
    *   int serveNodes = 0;
    *   Cluster request = Cluster.newBuilder()
-   *     .setName(name.toString())
    *     .setServeNodes(serveNodes)
    *     .build();
    *   ApiFuture<Operation> future = baseBigtableInstanceAdminClient.updateClusterCallable().futureCall(request);
@@ -1730,10 +1725,8 @@ public final void deleteAppProfile(String name) {
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
    *   AppProfileName name = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
-   *   boolean ignoreWarnings = false;
    *   DeleteAppProfileRequest request = DeleteAppProfileRequest.newBuilder()
    *     .setName(name.toString())
-   *     .setIgnoreWarnings(ignoreWarnings)
    *     .build();
    *   baseBigtableInstanceAdminClient.deleteAppProfile(request);
    * }
@@ -1755,10 +1748,8 @@ public final void deleteAppProfile(DeleteAppProfileRequest request) {
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
    *   AppProfileName name = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
-   *   boolean ignoreWarnings = false;
    *   DeleteAppProfileRequest request = DeleteAppProfileRequest.newBuilder()
    *     .setName(name.toString())
-   *     .setIgnoreWarnings(ignoreWarnings)
    *     .build();
    *   ApiFuture<Void> future = baseBigtableInstanceAdminClient.deleteAppProfileCallable().futureCall(request);
    *   // Do something
@@ -1779,8 +1770,34 @@ public final UnaryCallable deleteAppProfileCalla
    *
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
-   *   Policy response = baseBigtableInstanceAdminClient.getIamPolicy(formattedResource);
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
+   *   Policy response = baseBigtableInstanceAdminClient.getIamPolicy(resource);
+   * }
+   * 
+ * + * @param resource REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Policy getIamPolicy(ResourceName resource) { + GetIamPolicyRequest request = + GetIamPolicyRequest.newBuilder() + .setResource(resource == null ? null : resource.toString()) + .build(); + return getIamPolicy(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets the access control policy for an instance resource. Returns an empty policy if an instance + * exists but does not have a policy set. + * + *

Sample code: + * + *


+   * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
+   *   Policy response = baseBigtableInstanceAdminClient.getIamPolicy(resource.toString());
    * }
    * 
* @@ -1802,9 +1819,9 @@ public final Policy getIamPolicy(String resource) { * *

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .build();
    *   Policy response = baseBigtableInstanceAdminClient.getIamPolicy(request);
    * }
@@ -1826,9 +1843,9 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) {
    *
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .build();
    *   ApiFuture<Policy> future = baseBigtableInstanceAdminClient.getIamPolicyCallable().futureCall(request);
    *   // Do something
@@ -1848,9 +1865,39 @@ public final UnaryCallable getIamPolicyCallable() {
    *
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   Policy policy = Policy.newBuilder().build();
-   *   Policy response = baseBigtableInstanceAdminClient.setIamPolicy(formattedResource, policy);
+   *   Policy response = baseBigtableInstanceAdminClient.setIamPolicy(resource, policy);
+   * }
+   * 
+ * + * @param resource REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + * @param policy REQUIRED: The complete policy to be applied to the `resource`. The size of the + * policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud + * Platform services (such as Projects) might reject them. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Policy setIamPolicy(ResourceName resource, Policy policy) { + SetIamPolicyRequest request = + SetIamPolicyRequest.newBuilder() + .setResource(resource == null ? null : resource.toString()) + .setPolicy(policy) + .build(); + return setIamPolicy(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Sets the access control policy on an instance resource. Replaces any existing policy. + * + *

Sample code: + * + *


+   * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
+   *   Policy policy = Policy.newBuilder().build();
+   *   Policy response = baseBigtableInstanceAdminClient.setIamPolicy(resource.toString(), policy);
    * }
    * 
* @@ -1875,10 +1922,10 @@ public final Policy setIamPolicy(String resource, Policy policy) { * *

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   Policy policy = Policy.newBuilder().build();
    *   SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .setPolicy(policy)
    *     .build();
    *   Policy response = baseBigtableInstanceAdminClient.setIamPolicy(request);
@@ -1900,10 +1947,10 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) {
    *
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   Policy policy = Policy.newBuilder().build();
    *   SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .setPolicy(policy)
    *     .build();
    *   ApiFuture<Policy> future = baseBigtableInstanceAdminClient.setIamPolicyCallable().futureCall(request);
@@ -1924,9 +1971,40 @@ public final UnaryCallable setIamPolicyCallable() {
    *
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
+   *   List<String> permissions = new ArrayList<>();
+   *   TestIamPermissionsResponse response = baseBigtableInstanceAdminClient.testIamPermissions(resource, permissions);
+   * }
+   * 
+ * + * @param resource REQUIRED: The resource for which the policy detail is being requested. See the + * operation documentation for the appropriate value for this field. + * @param permissions The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final TestIamPermissionsResponse testIamPermissions( + ResourceName resource, List permissions) { + TestIamPermissionsRequest request = + TestIamPermissionsRequest.newBuilder() + .setResource(resource == null ? null : resource.toString()) + .addAllPermissions(permissions) + .build(); + return testIamPermissions(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Returns permissions that the caller has on the specified instance resource. + * + *

Sample code: + * + *


+   * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   List<String> permissions = new ArrayList<>();
-   *   TestIamPermissionsResponse response = baseBigtableInstanceAdminClient.testIamPermissions(formattedResource, permissions);
+   *   TestIamPermissionsResponse response = baseBigtableInstanceAdminClient.testIamPermissions(resource.toString(), permissions);
    * }
    * 
* @@ -1955,10 +2033,10 @@ public final TestIamPermissionsResponse testIamPermissions( * *

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   List<String> permissions = new ArrayList<>();
    *   TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .addAllPermissions(permissions)
    *     .build();
    *   TestIamPermissionsResponse response = baseBigtableInstanceAdminClient.testIamPermissions(request);
@@ -1980,10 +2058,10 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
    *
    * 

    * try (BaseBigtableInstanceAdminClient baseBigtableInstanceAdminClient = BaseBigtableInstanceAdminClient.create()) {
-   *   String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   List<String> permissions = new ArrayList<>();
    *   TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .addAllPermissions(permissions)
    *     .build();
    *   ApiFuture<TestIamPermissionsResponse> future = baseBigtableInstanceAdminClient.testIamPermissionsCallable().futureCall(request);
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java
index c4b7de6c74..4a5efaccd7 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClient.java
@@ -28,6 +28,7 @@
 import com.google.api.gax.rpc.OperationCallable;
 import com.google.api.gax.rpc.PageContext;
 import com.google.api.gax.rpc.UnaryCallable;
+import com.google.api.resourcenames.ResourceName;
 import com.google.bigtable.admin.v2.Backup;
 import com.google.bigtable.admin.v2.BackupName;
 import com.google.bigtable.admin.v2.CheckConsistencyRequest;
@@ -1163,8 +1164,34 @@ public final CheckConsistencyResponse checkConsistency(CheckConsistencyRequest r
    *
    * 

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
-   *   Policy response = baseBigtableTableAdminClient.getIamPolicy(formattedResource);
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
+   *   Policy response = baseBigtableTableAdminClient.getIamPolicy(resource);
+   * }
+   * 
+ * + * @param resource REQUIRED: The resource for which the policy is being requested. See the + * operation documentation for the appropriate value for this field. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Policy getIamPolicy(ResourceName resource) { + GetIamPolicyRequest request = + GetIamPolicyRequest.newBuilder() + .setResource(resource == null ? null : resource.toString()) + .build(); + return getIamPolicy(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists + * but does not have a policy set. + * + *

Sample code: + * + *


+   * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
+   *   Policy response = baseBigtableTableAdminClient.getIamPolicy(resource.toString());
    * }
    * 
* @@ -1186,9 +1213,9 @@ public final Policy getIamPolicy(String resource) { * *

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .build();
    *   Policy response = baseBigtableTableAdminClient.getIamPolicy(request);
    * }
@@ -1210,9 +1237,9 @@ public final Policy getIamPolicy(GetIamPolicyRequest request) {
    *
    * 

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .build();
    *   ApiFuture<Policy> future = baseBigtableTableAdminClient.getIamPolicyCallable().futureCall(request);
    *   // Do something
@@ -1232,9 +1259,39 @@ public final UnaryCallable getIamPolicyCallable() {
    *
    * 

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
+   *   Policy policy = Policy.newBuilder().build();
+   *   Policy response = baseBigtableTableAdminClient.setIamPolicy(resource, policy);
+   * }
+   * 
+ * + * @param resource REQUIRED: The resource for which the policy is being specified. See the + * operation documentation for the appropriate value for this field. + * @param policy REQUIRED: The complete policy to be applied to the `resource`. The size of the + * policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud + * Platform services (such as Projects) might reject them. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final Policy setIamPolicy(ResourceName resource, Policy policy) { + SetIamPolicyRequest request = + SetIamPolicyRequest.newBuilder() + .setResource(resource == null ? null : resource.toString()) + .setPolicy(policy) + .build(); + return setIamPolicy(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Sets the access control policy on a Table or Backup resource. Replaces any existing policy. + * + *

Sample code: + * + *


+   * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   Policy policy = Policy.newBuilder().build();
-   *   Policy response = baseBigtableTableAdminClient.setIamPolicy(formattedResource, policy);
+   *   Policy response = baseBigtableTableAdminClient.setIamPolicy(resource.toString(), policy);
    * }
    * 
* @@ -1259,10 +1316,10 @@ public final Policy setIamPolicy(String resource, Policy policy) { * *

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   Policy policy = Policy.newBuilder().build();
    *   SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .setPolicy(policy)
    *     .build();
    *   Policy response = baseBigtableTableAdminClient.setIamPolicy(request);
@@ -1284,10 +1341,10 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) {
    *
    * 

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   Policy policy = Policy.newBuilder().build();
    *   SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .setPolicy(policy)
    *     .build();
    *   ApiFuture<Policy> future = baseBigtableTableAdminClient.setIamPolicyCallable().futureCall(request);
@@ -1308,9 +1365,40 @@ public final UnaryCallable setIamPolicyCallable() {
    *
    * 

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   List<String> permissions = new ArrayList<>();
-   *   TestIamPermissionsResponse response = baseBigtableTableAdminClient.testIamPermissions(formattedResource, permissions);
+   *   TestIamPermissionsResponse response = baseBigtableTableAdminClient.testIamPermissions(resource, permissions);
+   * }
+   * 
+ * + * @param resource REQUIRED: The resource for which the policy detail is being requested. See the + * operation documentation for the appropriate value for this field. + * @param permissions The set of permissions to check for the `resource`. Permissions with + * wildcards (such as '*' or 'storage.*') are not allowed. For more information see + * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final TestIamPermissionsResponse testIamPermissions( + ResourceName resource, List permissions) { + TestIamPermissionsRequest request = + TestIamPermissionsRequest.newBuilder() + .setResource(resource == null ? null : resource.toString()) + .addAllPermissions(permissions) + .build(); + return testIamPermissions(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Returns permissions that the caller has on the specified table resource. + * + *

Sample code: + * + *


+   * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
+   *   List<String> permissions = new ArrayList<>();
+   *   TestIamPermissionsResponse response = baseBigtableTableAdminClient.testIamPermissions(resource.toString(), permissions);
    * }
    * 
* @@ -1339,10 +1427,10 @@ public final TestIamPermissionsResponse testIamPermissions( * *

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   List<String> permissions = new ArrayList<>();
    *   TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .addAllPermissions(permissions)
    *     .build();
    *   TestIamPermissionsResponse response = baseBigtableTableAdminClient.testIamPermissions(request);
@@ -1364,10 +1452,10 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
    *
    * 

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+   *   ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
    *   List<String> permissions = new ArrayList<>();
    *   TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
-   *     .setResource(formattedResource)
+   *     .setResource(resource.toString())
    *     .addAllPermissions(permissions)
    *     .build();
    *   ApiFuture<TestIamPermissionsResponse> future = baseBigtableTableAdminClient.testIamPermissionsCallable().futureCall(request);
@@ -1397,7 +1485,7 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
    *   TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
    *   ClusterName cluster = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
-   *   SnapshotName snapshotId = SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]");
+   *   String snapshotId = "";
    *   String description = "";
    *   Snapshot response = baseBigtableTableAdminClient.snapshotTableAsync(name, cluster, snapshotId, description).get();
    * }
@@ -1416,12 +1504,12 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
   @BetaApi(
       "The surface for long-running operations is not stable yet and may change in the future.")
   public final OperationFuture snapshotTableAsync(
-      TableName name, ClusterName cluster, SnapshotName snapshotId, String description) {
+      TableName name, ClusterName cluster, String snapshotId, String description) {
     SnapshotTableRequest request =
         SnapshotTableRequest.newBuilder()
             .setName(name == null ? null : name.toString())
             .setCluster(cluster == null ? null : cluster.toString())
-            .setSnapshotId(snapshotId == null ? null : snapshotId.toString())
+            .setSnapshotId(snapshotId)
             .setDescription(description)
             .build();
     return snapshotTableAsync(request);
@@ -1443,9 +1531,9 @@ public final OperationFuture snapshotTableAsync
    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
    *   TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
    *   ClusterName cluster = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
-   *   SnapshotName snapshotId = SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]");
+   *   String snapshotId = "";
    *   String description = "";
-   *   Snapshot response = baseBigtableTableAdminClient.snapshotTableAsync(name.toString(), cluster.toString(), snapshotId.toString(), description).get();
+   *   Snapshot response = baseBigtableTableAdminClient.snapshotTableAsync(name.toString(), cluster.toString(), snapshotId, description).get();
    * }
    * 
* @@ -1489,13 +1577,11 @@ public final OperationFuture snapshotTableAsync * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) { * TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); * ClusterName cluster = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]"); - * SnapshotName snapshotId = SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]"); - * String description = ""; + * String snapshotId = ""; * SnapshotTableRequest request = SnapshotTableRequest.newBuilder() * .setName(name.toString()) * .setCluster(cluster.toString()) - * .setSnapshotId(snapshotId.toString()) - * .setDescription(description) + * .setSnapshotId(snapshotId) * .build(); * Snapshot response = baseBigtableTableAdminClient.snapshotTableAsync(request).get(); * } @@ -1527,13 +1613,11 @@ public final OperationFuture snapshotTableAsync * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) { * TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); * ClusterName cluster = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]"); - * SnapshotName snapshotId = SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]"); - * String description = ""; + * String snapshotId = ""; * SnapshotTableRequest request = SnapshotTableRequest.newBuilder() * .setName(name.toString()) * .setCluster(cluster.toString()) - * .setSnapshotId(snapshotId.toString()) - * .setDescription(description) + * .setSnapshotId(snapshotId) * .build(); * OperationFuture<Snapshot, SnapshotTableMetadata> future = baseBigtableTableAdminClient.snapshotTableOperationCallable().futureCall(request); * // Do something @@ -1563,13 +1647,11 @@ public final OperationFuture snapshotTableAsync * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) { * TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]"); * ClusterName cluster = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]"); - * SnapshotName snapshotId = SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]"); - * String description = ""; + * String snapshotId = ""; * SnapshotTableRequest request = SnapshotTableRequest.newBuilder() * .setName(name.toString()) * .setCluster(cluster.toString()) - * .setSnapshotId(snapshotId.toString()) - * .setDescription(description) + * .setSnapshotId(snapshotId) * .build(); * ApiFuture<Operation> future = baseBigtableTableAdminClient.snapshotTableCallable().futureCall(request); * // Do something @@ -2564,10 +2646,7 @@ public final UnaryCallable deleteBackupCallable() { * *

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String parent = "";
-   *   RestoreTableRequest request = RestoreTableRequest.newBuilder()
-   *     .setParent(parent)
-   *     .build();
+   *   RestoreTableRequest request = RestoreTableRequest.newBuilder().build();
    *   Table response = baseBigtableTableAdminClient.restoreTableAsync(request).get();
    * }
    * 
@@ -2596,10 +2675,7 @@ public final OperationFuture restoreTableAsync( * *

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String parent = "";
-   *   RestoreTableRequest request = RestoreTableRequest.newBuilder()
-   *     .setParent(parent)
-   *     .build();
+   *   RestoreTableRequest request = RestoreTableRequest.newBuilder().build();
    *   OperationFuture<Table, RestoreTableMetadata> future = baseBigtableTableAdminClient.restoreTableOperationCallable().futureCall(request);
    *   // Do something
    *   Table response = future.get();
@@ -2626,10 +2702,7 @@ public final OperationFuture restoreTableAsync(
    *
    * 

    * try (BaseBigtableTableAdminClient baseBigtableTableAdminClient = BaseBigtableTableAdminClient.create()) {
-   *   String parent = "";
-   *   RestoreTableRequest request = RestoreTableRequest.newBuilder()
-   *     .setParent(parent)
-   *     .build();
+   *   RestoreTableRequest request = RestoreTableRequest.newBuilder().build();
    *   ApiFuture<Operation> future = baseBigtableTableAdminClient.restoreTableCallable().futureCall(request);
    *   // Do something
    *   Operation response = future.get();
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableInstanceAdminStubSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableInstanceAdminStubSettings.java
index 1d2c6b76dc..ee6a361cbd 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableInstanceAdminStubSettings.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableInstanceAdminStubSettings.java
@@ -410,14 +410,12 @@ public ListAppProfilesRequest injectToken(
             @Override
             public ListAppProfilesRequest injectPageSize(
                 ListAppProfilesRequest payload, int pageSize) {
-              throw new UnsupportedOperationException(
-                  "page size is not supported by this API method");
+              return ListAppProfilesRequest.newBuilder(payload).setPageSize(pageSize).build();
             }
 
             @Override
             public Integer extractPageSize(ListAppProfilesRequest payload) {
-              throw new UnsupportedOperationException(
-                  "page size is not supported by this API method");
+              return payload.getPageSize();
             }
 
             @Override
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableTableAdminStubSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableTableAdminStubSettings.java
index 9153e8cab5..dafc8effe2 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableTableAdminStubSettings.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/admin/v2/stub/BigtableTableAdminStubSettings.java
@@ -439,14 +439,12 @@ public ListTablesRequest injectToken(ListTablesRequest payload, String token) {
 
             @Override
             public ListTablesRequest injectPageSize(ListTablesRequest payload, int pageSize) {
-              throw new UnsupportedOperationException(
-                  "page size is not supported by this API method");
+              return ListTablesRequest.newBuilder(payload).setPageSize(pageSize).build();
             }
 
             @Override
             public Integer extractPageSize(ListTablesRequest payload) {
-              throw new UnsupportedOperationException(
-                  "page size is not supported by this API method");
+              return payload.getPageSize();
             }
 
             @Override
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClientTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClientTest.java
index 1aeb52a67f..ee6ba19ec1 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClientTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableInstanceAdminClientTest.java
@@ -25,6 +25,7 @@
 import com.google.api.gax.rpc.ApiClientHeaderProvider;
 import com.google.api.gax.rpc.InvalidArgumentException;
 import com.google.api.gax.rpc.StatusCode;
+import com.google.api.resourcenames.ResourceName;
 import com.google.bigtable.admin.v2.AppProfile;
 import com.google.bigtable.admin.v2.AppProfileName;
 import com.google.bigtable.admin.v2.Cluster;
@@ -70,6 +71,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.UUID;
 import java.util.concurrent.ExecutionException;
 import org.junit.After;
@@ -499,12 +501,12 @@ public void listClustersExceptionTest() throws Exception {
   @Test
   @SuppressWarnings("all")
   public void updateClusterTest() throws Exception {
-    ClusterName name2 = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
+    ClusterName name = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
     LocationName location = LocationName.of("[PROJECT]", "[LOCATION]");
     int serveNodes2 = 1623486220;
     Cluster expectedResponse =
         Cluster.newBuilder()
-            .setName(name2.toString())
+            .setName(name.toString())
             .setLocation(location.toString())
             .setServeNodes(serveNodes2)
             .build();
@@ -516,10 +518,8 @@ public void updateClusterTest() throws Exception {
             .build();
     mockBigtableInstanceAdmin.addResponse(resultOperation);
 
-    ClusterName name = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
     int serveNodes = 1288838783;
-    Cluster request =
-        Cluster.newBuilder().setName(name.toString()).setServeNodes(serveNodes).build();
+    Cluster request = Cluster.newBuilder().setServeNodes(serveNodes).build();
 
     Cluster actualResponse = client.updateClusterAsync(request).get();
     Assert.assertEquals(expectedResponse, actualResponse);
@@ -528,7 +528,6 @@ public void updateClusterTest() throws Exception {
     Assert.assertEquals(1, actualRequests.size());
     Cluster actualRequest = (Cluster) actualRequests.get(0);
 
-    Assert.assertEquals(name, ClusterName.parse(actualRequest.getName()));
     Assert.assertEquals(serveNodes, actualRequest.getServeNodes());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
@@ -543,10 +542,8 @@ public void updateClusterExceptionTest() throws Exception {
     mockBigtableInstanceAdmin.addException(exception);
 
     try {
-      ClusterName name = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
       int serveNodes = 1288838783;
-      Cluster request =
-          Cluster.newBuilder().setName(name.toString()).setServeNodes(serveNodes).build();
+      Cluster request = Cluster.newBuilder().setServeNodes(serveNodes).build();
 
       client.updateClusterAsync(request).get();
       Assert.fail("No exception raised");
@@ -597,11 +594,15 @@ public void deleteClusterExceptionTest() throws Exception {
   @Test
   @SuppressWarnings("all")
   public void createAppProfileTest() {
-    String name = "name3373707";
+    AppProfileName name = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
     String etag = "etag3123477";
     String description = "description-1724546052";
     AppProfile expectedResponse =
-        AppProfile.newBuilder().setName(name).setEtag(etag).setDescription(description).build();
+        AppProfile.newBuilder()
+            .setName(name.toString())
+            .setEtag(etag)
+            .setDescription(description)
+            .build();
     mockBigtableInstanceAdmin.addResponse(expectedResponse);
 
     InstanceName parent = InstanceName.of("[PROJECT]", "[INSTANCE]");
@@ -645,11 +646,15 @@ public void createAppProfileExceptionTest() throws Exception {
   @Test
   @SuppressWarnings("all")
   public void getAppProfileTest() {
-    String name2 = "name2-1052831874";
+    AppProfileName name2 = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
     String etag = "etag3123477";
     String description = "description-1724546052";
     AppProfile expectedResponse =
-        AppProfile.newBuilder().setName(name2).setEtag(etag).setDescription(description).build();
+        AppProfile.newBuilder()
+            .setName(name2.toString())
+            .setEtag(etag)
+            .setDescription(description)
+            .build();
     mockBigtableInstanceAdmin.addResponse(expectedResponse);
 
     AppProfileName name = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
@@ -735,11 +740,15 @@ public void listAppProfilesExceptionTest() throws Exception {
   @Test
   @SuppressWarnings("all")
   public void updateAppProfileTest() throws Exception {
-    String name = "name3373707";
+    AppProfileName name = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
     String etag = "etag3123477";
     String description = "description-1724546052";
     AppProfile expectedResponse =
-        AppProfile.newBuilder().setName(name).setEtag(etag).setDescription(description).build();
+        AppProfile.newBuilder()
+            .setName(name.toString())
+            .setEtag(etag)
+            .setDescription(description)
+            .build();
     Operation resultOperation =
         Operation.newBuilder()
             .setName("updateAppProfileTest")
@@ -830,16 +839,16 @@ public void getIamPolicyTest() {
     Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build();
     mockBigtableInstanceAdmin.addResponse(expectedResponse);
 
-    String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+    ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
 
-    Policy actualResponse = client.getIamPolicy(formattedResource);
+    Policy actualResponse = client.getIamPolicy(resource);
     Assert.assertEquals(expectedResponse, actualResponse);
 
     List actualRequests = mockBigtableInstanceAdmin.getRequests();
     Assert.assertEquals(1, actualRequests.size());
     GetIamPolicyRequest actualRequest = (GetIamPolicyRequest) actualRequests.get(0);
 
-    Assert.assertEquals(formattedResource, actualRequest.getResource());
+    Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
     Assert.assertTrue(
         channelProvider.isHeaderSent(
             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
@@ -853,9 +862,9 @@ public void getIamPolicyExceptionTest() throws Exception {
     mockBigtableInstanceAdmin.addException(exception);
 
     try {
-      String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+      ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
 
-      client.getIamPolicy(formattedResource);
+      client.getIamPolicy(resource);
       Assert.fail("No exception raised");
     } catch (InvalidArgumentException e) {
       // Expected exception
@@ -870,17 +879,17 @@ public void setIamPolicyTest() {
     Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build();
     mockBigtableInstanceAdmin.addResponse(expectedResponse);
 
-    String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+    ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
     Policy policy = Policy.newBuilder().build();
 
-    Policy actualResponse = client.setIamPolicy(formattedResource, policy);
+    Policy actualResponse = client.setIamPolicy(resource, policy);
     Assert.assertEquals(expectedResponse, actualResponse);
 
     List actualRequests = mockBigtableInstanceAdmin.getRequests();
     Assert.assertEquals(1, actualRequests.size());
     SetIamPolicyRequest actualRequest = (SetIamPolicyRequest) actualRequests.get(0);
 
-    Assert.assertEquals(formattedResource, actualRequest.getResource());
+    Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
     Assert.assertEquals(policy, actualRequest.getPolicy());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
@@ -895,10 +904,10 @@ public void setIamPolicyExceptionTest() throws Exception {
     mockBigtableInstanceAdmin.addException(exception);
 
     try {
-      String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+      ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
       Policy policy = Policy.newBuilder().build();
 
-      client.setIamPolicy(formattedResource, policy);
+      client.setIamPolicy(resource, policy);
       Assert.fail("No exception raised");
     } catch (InvalidArgumentException e) {
       // Expected exception
@@ -911,18 +920,17 @@ public void testIamPermissionsTest() {
     TestIamPermissionsResponse expectedResponse = TestIamPermissionsResponse.newBuilder().build();
     mockBigtableInstanceAdmin.addResponse(expectedResponse);
 
-    String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+    ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
     List permissions = new ArrayList<>();
 
-    TestIamPermissionsResponse actualResponse =
-        client.testIamPermissions(formattedResource, permissions);
+    TestIamPermissionsResponse actualResponse = client.testIamPermissions(resource, permissions);
     Assert.assertEquals(expectedResponse, actualResponse);
 
     List actualRequests = mockBigtableInstanceAdmin.getRequests();
     Assert.assertEquals(1, actualRequests.size());
     TestIamPermissionsRequest actualRequest = (TestIamPermissionsRequest) actualRequests.get(0);
 
-    Assert.assertEquals(formattedResource, actualRequest.getResource());
+    Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
     Assert.assertEquals(permissions, actualRequest.getPermissionsList());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
@@ -937,10 +945,10 @@ public void testIamPermissionsExceptionTest() throws Exception {
     mockBigtableInstanceAdmin.addException(exception);
 
     try {
-      String formattedResource = InstanceName.format("[PROJECT]", "[INSTANCE]");
+      ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
       List permissions = new ArrayList<>();
 
-      client.testIamPermissions(formattedResource, permissions);
+      client.testIamPermissions(resource, permissions);
       Assert.fail("No exception raised");
     } catch (InvalidArgumentException e) {
       // Expected exception
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClientTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClientTest.java
index 85cfabf875..32b4ba289c 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClientTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BaseBigtableTableAdminClientTest.java
@@ -27,6 +27,8 @@
 import com.google.api.gax.rpc.ApiClientHeaderProvider;
 import com.google.api.gax.rpc.InvalidArgumentException;
 import com.google.api.gax.rpc.StatusCode;
+import com.google.api.resourcenames.ResourceName;
+import com.google.bigtable.admin.v2.AppProfileName;
 import com.google.bigtable.admin.v2.Backup;
 import com.google.bigtable.admin.v2.BackupName;
 import com.google.bigtable.admin.v2.CheckConsistencyRequest;
@@ -77,6 +79,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Objects;
 import java.util.UUID;
 import java.util.concurrent.ExecutionException;
 import org.junit.After;
@@ -527,16 +530,16 @@ public void getIamPolicyTest() {
     Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build();
     mockBigtableTableAdmin.addResponse(expectedResponse);
 
-    String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+    ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
 
-    Policy actualResponse = client.getIamPolicy(formattedResource);
+    Policy actualResponse = client.getIamPolicy(resource);
     Assert.assertEquals(expectedResponse, actualResponse);
 
     List actualRequests = mockBigtableTableAdmin.getRequests();
     Assert.assertEquals(1, actualRequests.size());
     GetIamPolicyRequest actualRequest = (GetIamPolicyRequest) actualRequests.get(0);
 
-    Assert.assertEquals(formattedResource, actualRequest.getResource());
+    Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
     Assert.assertTrue(
         channelProvider.isHeaderSent(
             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
@@ -550,9 +553,9 @@ public void getIamPolicyExceptionTest() throws Exception {
     mockBigtableTableAdmin.addException(exception);
 
     try {
-      String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+      ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
 
-      client.getIamPolicy(formattedResource);
+      client.getIamPolicy(resource);
       Assert.fail("No exception raised");
     } catch (InvalidArgumentException e) {
       // Expected exception
@@ -567,17 +570,17 @@ public void setIamPolicyTest() {
     Policy expectedResponse = Policy.newBuilder().setVersion(version).setEtag(etag).build();
     mockBigtableTableAdmin.addResponse(expectedResponse);
 
-    String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+    ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
     Policy policy = Policy.newBuilder().build();
 
-    Policy actualResponse = client.setIamPolicy(formattedResource, policy);
+    Policy actualResponse = client.setIamPolicy(resource, policy);
     Assert.assertEquals(expectedResponse, actualResponse);
 
     List actualRequests = mockBigtableTableAdmin.getRequests();
     Assert.assertEquals(1, actualRequests.size());
     SetIamPolicyRequest actualRequest = (SetIamPolicyRequest) actualRequests.get(0);
 
-    Assert.assertEquals(formattedResource, actualRequest.getResource());
+    Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
     Assert.assertEquals(policy, actualRequest.getPolicy());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
@@ -592,10 +595,10 @@ public void setIamPolicyExceptionTest() throws Exception {
     mockBigtableTableAdmin.addException(exception);
 
     try {
-      String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+      ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
       Policy policy = Policy.newBuilder().build();
 
-      client.setIamPolicy(formattedResource, policy);
+      client.setIamPolicy(resource, policy);
       Assert.fail("No exception raised");
     } catch (InvalidArgumentException e) {
       // Expected exception
@@ -608,18 +611,17 @@ public void testIamPermissionsTest() {
     TestIamPermissionsResponse expectedResponse = TestIamPermissionsResponse.newBuilder().build();
     mockBigtableTableAdmin.addResponse(expectedResponse);
 
-    String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+    ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
     List permissions = new ArrayList<>();
 
-    TestIamPermissionsResponse actualResponse =
-        client.testIamPermissions(formattedResource, permissions);
+    TestIamPermissionsResponse actualResponse = client.testIamPermissions(resource, permissions);
     Assert.assertEquals(expectedResponse, actualResponse);
 
     List actualRequests = mockBigtableTableAdmin.getRequests();
     Assert.assertEquals(1, actualRequests.size());
     TestIamPermissionsRequest actualRequest = (TestIamPermissionsRequest) actualRequests.get(0);
 
-    Assert.assertEquals(formattedResource, actualRequest.getResource());
+    Assert.assertEquals(Objects.toString(resource), Objects.toString(actualRequest.getResource()));
     Assert.assertEquals(permissions, actualRequest.getPermissionsList());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
@@ -634,10 +636,10 @@ public void testIamPermissionsExceptionTest() throws Exception {
     mockBigtableTableAdmin.addException(exception);
 
     try {
-      String formattedResource = TableName.format("[PROJECT]", "[INSTANCE]", "[TABLE]");
+      ResourceName resource = AppProfileName.of("[PROJECT]", "[INSTANCE]", "[APP_PROFILE]");
       List permissions = new ArrayList<>();
 
-      client.testIamPermissions(formattedResource, permissions);
+      client.testIamPermissions(resource, permissions);
       Assert.fail("No exception raised");
     } catch (InvalidArgumentException e) {
       // Expected exception
@@ -666,7 +668,7 @@ public void snapshotTableTest() throws Exception {
 
     TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
     ClusterName cluster = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
-    SnapshotName snapshotId = SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]");
+    String snapshotId = "snapshotId-168585866";
     String description = "description-1724546052";
 
     Snapshot actualResponse =
@@ -679,7 +681,7 @@ public void snapshotTableTest() throws Exception {
 
     Assert.assertEquals(name, TableName.parse(actualRequest.getName()));
     Assert.assertEquals(cluster, ClusterName.parse(actualRequest.getCluster()));
-    Assert.assertEquals(snapshotId, SnapshotName.parse(actualRequest.getSnapshotId()));
+    Assert.assertEquals(snapshotId, actualRequest.getSnapshotId());
     Assert.assertEquals(description, actualRequest.getDescription());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
@@ -696,8 +698,7 @@ public void snapshotTableExceptionTest() throws Exception {
     try {
       TableName name = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
       ClusterName cluster = ClusterName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]");
-      SnapshotName snapshotId =
-          SnapshotName.of("[PROJECT]", "[INSTANCE]", "[CLUSTER]", "[SNAPSHOT]");
+      String snapshotId = "snapshotId-168585866";
       String description = "description-1724546052";
 
       client.snapshotTableAsync(name, cluster, snapshotId, description).get();
@@ -1093,8 +1094,7 @@ public void restoreTableTest() throws Exception {
             .build();
     mockBigtableTableAdmin.addResponse(resultOperation);
 
-    String parent = "parent-995424086";
-    RestoreTableRequest request = RestoreTableRequest.newBuilder().setParent(parent).build();
+    RestoreTableRequest request = RestoreTableRequest.newBuilder().build();
 
     Table actualResponse = client.restoreTableAsync(request).get();
     Assert.assertEquals(expectedResponse, actualResponse);
@@ -1103,7 +1103,6 @@ public void restoreTableTest() throws Exception {
     Assert.assertEquals(1, actualRequests.size());
     RestoreTableRequest actualRequest = (RestoreTableRequest) actualRequests.get(0);
 
-    Assert.assertEquals(parent, actualRequest.getParent());
     Assert.assertTrue(
         channelProvider.isHeaderSent(
             ApiClientHeaderProvider.getDefaultApiClientHeaderKey(),
@@ -1117,8 +1116,7 @@ public void restoreTableExceptionTest() throws Exception {
     mockBigtableTableAdmin.addException(exception);
 
     try {
-      String parent = "parent-995424086";
-      RestoreTableRequest request = RestoreTableRequest.newBuilder().setParent(parent).build();
+      RestoreTableRequest request = RestoreTableRequest.newBuilder().build();
 
       client.restoreTableAsync(request).get();
       Assert.fail("No exception raised");
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/BigtableTableAdminProto.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/BigtableTableAdminProto.java
index 208501e162..61045c36dd 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/BigtableTableAdminProto.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/BigtableTableAdminProto.java
@@ -274,7 +274,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
           + "B\r\n\013source_info\"l\n\035OptimizeRestoredTable"
           + "Metadata\022\014\n\004name\030\001 \001(\t\022=\n\010progress\030\002 \001(\013"
           + "2+.google.bigtable.admin.v2.OperationPro"
-          + "gress2\201$\n\022BigtableTableAdmin\022\253\001\n\013CreateT"
+          + "gress2\310$\n\022BigtableTableAdmin\022\253\001\n\013CreateT"
           + "able\022,.google.bigtable.admin.v2.CreateTa"
           + "bleRequest\032\037.google.bigtable.admin.v2.Ta"
           + "ble\"M\202\323\344\223\002/\"*/v2/{parent=projects/*/inst"
@@ -336,65 +336,67 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
           + "teSnapshot\022/.google.bigtable.admin.v2.De"
           + "leteSnapshotRequest\032\026.google.protobuf.Em"
           + "pty\"G\202\323\344\223\002:*8/v2/{name=projects/*/instan"
-          + "ces/*/clusters/*/snapshots/*}\332A\004name\022\305\001\n"
+          + "ces/*/clusters/*/snapshots/*}\332A\004name\022\340\001\n"
           + "\014CreateBackup\022-.google.bigtable.admin.v2"
           + ".CreateBackupRequest\032\035.google.longrunnin"
-          + "g.Operation\"g\202\323\344\223\002@\"6/v2/{parent=project"
-          + "s/*/instances/*/clusters/*}/backups:\006bac"
-          + "kup\312A\036\n\006Backup\022\024CreateBackupMetadata\022\231\001\n"
-          + "\tGetBackup\022*.google.bigtable.admin.v2.Ge"
-          + "tBackupRequest\032 .google.bigtable.admin.v"
-          + "2.Backup\">\202\323\344\223\0028\0226/v2/{name=projects/*/i"
-          + "nstances/*/clusters/*/backups/*}\022\256\001\n\014Upd"
-          + "ateBackup\022-.google.bigtable.admin.v2.Upd"
-          + "ateBackupRequest\032 .google.bigtable.admin"
-          + ".v2.Backup\"M\202\323\344\223\002G2=/v2/{backup.name=pro"
-          + "jects/*/instances/*/clusters/*/backups/*"
-          + "}:\006backup\022\225\001\n\014DeleteBackup\022-.google.bigt"
-          + "able.admin.v2.DeleteBackupRequest\032\026.goog"
-          + "le.protobuf.Empty\">\202\323\344\223\0028*6/v2/{name=pro"
-          + "jects/*/instances/*/clusters/*/backups/*"
-          + "}\022\252\001\n\013ListBackups\022,.google.bigtable.admi"
-          + "n.v2.ListBackupsRequest\032-.google.bigtabl"
-          + "e.admin.v2.ListBackupsResponse\">\202\323\344\223\0028\0226"
-          + "/v2/{parent=projects/*/instances/*/clust"
-          + "ers/*}/backups\022\273\001\n\014RestoreTable\022-.google"
-          + ".bigtable.admin.v2.RestoreTableRequest\032\035"
-          + ".google.longrunning.Operation\"]\202\323\344\223\0027\"2/"
-          + "v2/{parent=projects/*/instances/*}/table"
-          + "s:restore:\001*\312A\035\n\005Table\022\024RestoreTableMeta"
-          + "data\022\234\001\n\014GetIamPolicy\022\".google.iam.v1.Ge"
-          + "tIamPolicyRequest\032\025.google.iam.v1.Policy"
-          + "\"Q\202\323\344\223\002@\";/v2/{resource=projects/*/insta"
-          + "nces/*/tables/*}:getIamPolicy:\001*\332A\010resou"
-          + "rce\022\363\001\n\014SetIamPolicy\022\".google.iam.v1.Set"
-          + "IamPolicyRequest\032\025.google.iam.v1.Policy\""
-          + "\247\001\202\323\344\223\002\216\001\";/v2/{resource=projects/*/inst"
-          + "ances/*/tables/*}:setIamPolicy:\001*ZL\"G/v2"
-          + "/{resource=projects/*/instances/*/cluste"
-          + "rs/*/backups/*}:setIamPolicy:\001*\332A\017resour"
-          + "ce,policy\022\244\002\n\022TestIamPermissions\022(.googl"
-          + "e.iam.v1.TestIamPermissionsRequest\032).goo"
-          + "gle.iam.v1.TestIamPermissionsResponse\"\270\001"
-          + "\202\323\344\223\002\232\001\"A/v2/{resource=projects/*/instan"
-          + "ces/*/tables/*}:testIamPermissions:\001*ZR\""
-          + "M/v2/{resource=projects/*/instances/*/cl"
-          + "usters/*/backups/*}:testIamPermissions:\001"
-          + "*\332A\024resource,permissions\032\336\002\312A\034bigtablead"
-          + "min.googleapis.com\322A\273\002https://www.google"
-          + "apis.com/auth/bigtable.admin,https://www"
-          + ".googleapis.com/auth/bigtable.admin.tabl"
-          + "e,https://www.googleapis.com/auth/cloud-"
-          + "bigtable.admin,https://www.googleapis.co"
-          + "m/auth/cloud-bigtable.admin.table,https:"
-          + "//www.googleapis.com/auth/cloud-platform"
-          + ",https://www.googleapis.com/auth/cloud-p"
-          + "latform.read-onlyB\272\001\n\034com.google.bigtabl"
-          + "e.admin.v2B\027BigtableTableAdminProtoP\001Z=g"
-          + "oogle.golang.org/genproto/googleapis/big"
-          + "table/admin/v2;admin\252\002\036Google.Cloud.Bigt"
-          + "able.Admin.V2\312\002\036Google\\Cloud\\Bigtable\\Ad"
-          + "min\\V2b\006proto3"
+          + "g.Operation\"\201\001\202\323\344\223\002@\"6/v2/{parent=projec"
+          + "ts/*/instances/*/clusters/*}/backups:\006ba"
+          + "ckup\312A\036\n\006Backup\022\024CreateBackupMetadata\332A\027"
+          + "parent,backup_id,backup\022\240\001\n\tGetBackup\022*."
+          + "google.bigtable.admin.v2.GetBackupReques"
+          + "t\032 .google.bigtable.admin.v2.Backup\"E\202\323\344"
+          + "\223\0028\0226/v2/{name=projects/*/instances/*/cl"
+          + "usters/*/backups/*}\332A\004name\022\303\001\n\014UpdateBac"
+          + "kup\022-.google.bigtable.admin.v2.UpdateBac"
+          + "kupRequest\032 .google.bigtable.admin.v2.Ba"
+          + "ckup\"b\202\323\344\223\002G2=/v2/{backup.name=projects/"
+          + "*/instances/*/clusters/*/backups/*}:\006bac"
+          + "kup\332A\022backup,update_mask\022\234\001\n\014DeleteBacku"
+          + "p\022-.google.bigtable.admin.v2.DeleteBacku"
+          + "pRequest\032\026.google.protobuf.Empty\"E\202\323\344\223\0028"
+          + "*6/v2/{name=projects/*/instances/*/clust"
+          + "ers/*/backups/*}\332A\004name\022\263\001\n\013ListBackups\022"
+          + ",.google.bigtable.admin.v2.ListBackupsRe"
+          + "quest\032-.google.bigtable.admin.v2.ListBac"
+          + "kupsResponse\"G\202\323\344\223\0028\0226/v2/{parent=projec"
+          + "ts/*/instances/*/clusters/*}/backups\332A\006p"
+          + "arent\022\273\001\n\014RestoreTable\022-.google.bigtable"
+          + ".admin.v2.RestoreTableRequest\032\035.google.l"
+          + "ongrunning.Operation\"]\202\323\344\223\0027\"2/v2/{paren"
+          + "t=projects/*/instances/*}/tables:restore"
+          + ":\001*\312A\035\n\005Table\022\024RestoreTableMetadata\022\234\001\n\014"
+          + "GetIamPolicy\022\".google.iam.v1.GetIamPolic"
+          + "yRequest\032\025.google.iam.v1.Policy\"Q\202\323\344\223\002@\""
+          + ";/v2/{resource=projects/*/instances/*/ta"
+          + "bles/*}:getIamPolicy:\001*\332A\010resource\022\363\001\n\014S"
+          + "etIamPolicy\022\".google.iam.v1.SetIamPolicy"
+          + "Request\032\025.google.iam.v1.Policy\"\247\001\202\323\344\223\002\216\001"
+          + "\";/v2/{resource=projects/*/instances/*/t"
+          + "ables/*}:setIamPolicy:\001*ZL\"G/v2/{resourc"
+          + "e=projects/*/instances/*/clusters/*/back"
+          + "ups/*}:setIamPolicy:\001*\332A\017resource,policy"
+          + "\022\244\002\n\022TestIamPermissions\022(.google.iam.v1."
+          + "TestIamPermissionsRequest\032).google.iam.v"
+          + "1.TestIamPermissionsResponse\"\270\001\202\323\344\223\002\232\001\"A"
+          + "/v2/{resource=projects/*/instances/*/tab"
+          + "les/*}:testIamPermissions:\001*ZR\"M/v2/{res"
+          + "ource=projects/*/instances/*/clusters/*/"
+          + "backups/*}:testIamPermissions:\001*\332A\024resou"
+          + "rce,permissions\032\336\002\312A\034bigtableadmin.googl"
+          + "eapis.com\322A\273\002https://www.googleapis.com/"
+          + "auth/bigtable.admin,https://www.googleap"
+          + "is.com/auth/bigtable.admin.table,https:/"
+          + "/www.googleapis.com/auth/cloud-bigtable."
+          + "admin,https://www.googleapis.com/auth/cl"
+          + "oud-bigtable.admin.table,https://www.goo"
+          + "gleapis.com/auth/cloud-platform,https://"
+          + "www.googleapis.com/auth/cloud-platform.r"
+          + "ead-onlyB\272\001\n\034com.google.bigtable.admin.v"
+          + "2B\027BigtableTableAdminProtoP\001Z=google.gol"
+          + "ang.org/genproto/googleapis/bigtable/adm"
+          + "in/v2;admin\252\002\036Google.Cloud.Bigtable.Admi"
+          + "n.V2\312\002\036Google\\Cloud\\Bigtable\\Admin\\V2b\006p"
+          + "roto3"
     };
     descriptor =
         com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Cluster.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Cluster.java
index fa0d9a9962..9075a26a8d 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Cluster.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Cluster.java
@@ -501,8 +501,8 @@ public com.google.bigtable.admin.v2.Cluster.State getState() {
    *
    *
    * 
-   * Required. The number of nodes allocated to this cluster. More nodes enable higher
-   * throughput and more consistent performance.
+   * Required. The number of nodes allocated to this cluster. More nodes enable
+   * higher throughput and more consistent performance.
    * 
* * int32 serve_nodes = 4 [(.google.api.field_behavior) = REQUIRED]; @@ -1269,8 +1269,8 @@ public Builder clearState() { * * *
-     * Required. The number of nodes allocated to this cluster. More nodes enable higher
-     * throughput and more consistent performance.
+     * Required. The number of nodes allocated to this cluster. More nodes enable
+     * higher throughput and more consistent performance.
      * 
* * int32 serve_nodes = 4 [(.google.api.field_behavior) = REQUIRED]; @@ -1284,8 +1284,8 @@ public int getServeNodes() { * * *
-     * Required. The number of nodes allocated to this cluster. More nodes enable higher
-     * throughput and more consistent performance.
+     * Required. The number of nodes allocated to this cluster. More nodes enable
+     * higher throughput and more consistent performance.
      * 
* * int32 serve_nodes = 4 [(.google.api.field_behavior) = REQUIRED]; @@ -1303,8 +1303,8 @@ public Builder setServeNodes(int value) { * * *
-     * Required. The number of nodes allocated to this cluster. More nodes enable higher
-     * throughput and more consistent performance.
+     * Required. The number of nodes allocated to this cluster. More nodes enable
+     * higher throughput and more consistent performance.
      * 
* * int32 serve_nodes = 4 [(.google.api.field_behavior) = REQUIRED]; diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ClusterOrBuilder.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ClusterOrBuilder.java index 4526a7d312..40a3fd32d5 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ClusterOrBuilder.java +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ClusterOrBuilder.java @@ -116,8 +116,8 @@ public interface ClusterOrBuilder * * *
-   * Required. The number of nodes allocated to this cluster. More nodes enable higher
-   * throughput and more consistent performance.
+   * Required. The number of nodes allocated to this cluster. More nodes enable
+   * higher throughput and more consistent performance.
    * 
* * int32 serve_nodes = 4 [(.google.api.field_behavior) = REQUIRED]; diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/CommonProto.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/CommonProto.java index 22cf1dd4e8..6425c4b78f 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/CommonProto.java +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/CommonProto.java @@ -41,24 +41,23 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { static { java.lang.String[] descriptorData = { "\n%google/bigtable/admin/v2/common.proto\022" - + "\030google.bigtable.admin.v2\032\034google/api/an" - + "notations.proto\032\037google/protobuf/timesta" - + "mp.proto\"\213\001\n\021OperationProgress\022\030\n\020progre" - + "ss_percent\030\001 \001(\005\022.\n\nstart_time\030\002 \001(\0132\032.g" - + "oogle.protobuf.Timestamp\022,\n\010end_time\030\003 \001" - + "(\0132\032.google.protobuf.Timestamp*=\n\013Storag" - + "eType\022\034\n\030STORAGE_TYPE_UNSPECIFIED\020\000\022\007\n\003S" - + "SD\020\001\022\007\n\003HDD\020\002B\256\001\n\034com.google.bigtable.ad" - + "min.v2B\013CommonProtoP\001Z=google.golang.org" - + "/genproto/googleapis/bigtable/admin/v2;a" - + "dmin\252\002\036Google.Cloud.Bigtable.Admin.V2\312\002\036" - + "Google\\Cloud\\Bigtable\\Admin\\V2b\006proto3" + + "\030google.bigtable.admin.v2\032\037google/protob" + + "uf/timestamp.proto\"\213\001\n\021OperationProgress" + + "\022\030\n\020progress_percent\030\001 \001(\005\022.\n\nstart_time" + + "\030\002 \001(\0132\032.google.protobuf.Timestamp\022,\n\010en" + + "d_time\030\003 \001(\0132\032.google.protobuf.Timestamp" + + "*=\n\013StorageType\022\034\n\030STORAGE_TYPE_UNSPECIF" + + "IED\020\000\022\007\n\003SSD\020\001\022\007\n\003HDD\020\002B\256\001\n\034com.google.b" + + "igtable.admin.v2B\013CommonProtoP\001Z=google." + + "golang.org/genproto/googleapis/bigtable/" + + "admin/v2;admin\252\002\036Google.Cloud.Bigtable.A" + + "dmin.V2\312\002\036Google\\Cloud\\Bigtable\\Admin\\V2" + + "b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { - com.google.api.AnnotationsProto.getDescriptor(), com.google.protobuf.TimestampProto.getDescriptor(), }); internal_static_google_bigtable_admin_v2_OperationProgress_descriptor = @@ -69,7 +68,6 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "ProgressPercent", "StartTime", "EndTime", }); - com.google.api.AnnotationsProto.getDescriptor(); com.google.protobuf.TimestampProto.getDescriptor(); } diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/InstanceProto.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/InstanceProto.java index faf3c77d81..8df639e42a 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/InstanceProto.java +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/InstanceProto.java @@ -61,56 +61,54 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { static { java.lang.String[] descriptorData = { "\n\'google/bigtable/admin/v2/instance.prot" - + "o\022\030google.bigtable.admin.v2\032\034google/api/" - + "annotations.proto\032\037google/api/field_beha" - + "vior.proto\032\031google/api/resource.proto\032%g" - + "oogle/bigtable/admin/v2/common.proto\"\335\003\n" - + "\010Instance\022\021\n\004name\030\001 \001(\tB\003\340A\003\022\031\n\014display_" - + "name\030\002 \001(\tB\003\340A\002\0227\n\005state\030\003 \001(\0162(.google." - + "bigtable.admin.v2.Instance.State\0225\n\004type" - + "\030\004 \001(\0162\'.google.bigtable.admin.v2.Instan" - + "ce.Type\022>\n\006labels\030\005 \003(\0132..google.bigtabl" - + "e.admin.v2.Instance.LabelsEntry\032-\n\013Label" - + "sEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"5" - + "\n\005State\022\023\n\017STATE_NOT_KNOWN\020\000\022\t\n\005READY\020\001\022" - + "\014\n\010CREATING\020\002\"=\n\004Type\022\024\n\020TYPE_UNSPECIFIE" - + "D\020\000\022\016\n\nPRODUCTION\020\001\022\017\n\013DEVELOPMENT\020\002:N\352A" - + "K\n bigtable.googleapis.com/Instance\022\'pro" - + "jects/{project}/instances/{instance}\"\247\003\n" - + "\007Cluster\022\021\n\004name\030\001 \001(\tB\003\340A\003\0228\n\010location\030" - + "\002 \001(\tB&\372A#\n!locations.googleapis.com/Loc" - + "ation\022;\n\005state\030\003 \001(\0162\'.google.bigtable.a" - + "dmin.v2.Cluster.StateB\003\340A\003\022\030\n\013serve_node" - + "s\030\004 \001(\005B\003\340A\002\022C\n\024default_storage_type\030\005 \001" - + "(\0162%.google.bigtable.admin.v2.StorageTyp" - + "e\"Q\n\005State\022\023\n\017STATE_NOT_KNOWN\020\000\022\t\n\005READY" - + "\020\001\022\014\n\010CREATING\020\002\022\014\n\010RESIZING\020\003\022\014\n\010DISABL" - + "ED\020\004:`\352A]\n\037bigtable.googleapis.com/Clust" - + "er\022:projects/{project}/instances/{instan" - + "ce}/clusters/{cluster}\"\356\003\n\nAppProfile\022\014\n" - + "\004name\030\001 \001(\t\022\014\n\004etag\030\002 \001(\t\022\023\n\013description" - + "\030\003 \001(\t\022g\n\035multi_cluster_routing_use_any\030" - + "\005 \001(\0132>.google.bigtable.admin.v2.AppProf" - + "ile.MultiClusterRoutingUseAnyH\000\022[\n\026singl" - + "e_cluster_routing\030\006 \001(\01329.google.bigtabl" - + "e.admin.v2.AppProfile.SingleClusterRouti" - + "ngH\000\032\033\n\031MultiClusterRoutingUseAny\032N\n\024Sin" - + "gleClusterRouting\022\022\n\ncluster_id\030\001 \001(\t\022\"\n" - + "\032allow_transactional_writes\030\002 \001(\010:j\352Ag\n\"" - + "bigtable.googleapis.com/AppProfile\022Aproj" - + "ects/{project}/instances/{instance}/appP" - + "rofiles/{app_profile}B\020\n\016routing_policyB" - + "\260\001\n\034com.google.bigtable.admin.v2B\rInstan" - + "ceProtoP\001Z=google.golang.org/genproto/go" - + "ogleapis/bigtable/admin/v2;admin\252\002\036Googl" - + "e.Cloud.Bigtable.Admin.V2\312\002\036Google\\Cloud" - + "\\Bigtable\\Admin\\V2b\006proto3" + + "o\022\030google.bigtable.admin.v2\032\037google/api/" + + "field_behavior.proto\032\031google/api/resourc" + + "e.proto\032%google/bigtable/admin/v2/common" + + ".proto\"\335\003\n\010Instance\022\021\n\004name\030\001 \001(\tB\003\340A\003\022\031" + + "\n\014display_name\030\002 \001(\tB\003\340A\002\0227\n\005state\030\003 \001(\016" + + "2(.google.bigtable.admin.v2.Instance.Sta" + + "te\0225\n\004type\030\004 \001(\0162\'.google.bigtable.admin" + + ".v2.Instance.Type\022>\n\006labels\030\005 \003(\0132..goog" + + "le.bigtable.admin.v2.Instance.LabelsEntr" + + "y\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002" + + " \001(\t:\0028\001\"5\n\005State\022\023\n\017STATE_NOT_KNOWN\020\000\022\t" + + "\n\005READY\020\001\022\014\n\010CREATING\020\002\"=\n\004Type\022\024\n\020TYPE_" + + "UNSPECIFIED\020\000\022\016\n\nPRODUCTION\020\001\022\017\n\013DEVELOP" + + "MENT\020\002:N\352AK\n bigtable.googleapis.com/Ins" + + "tance\022\'projects/{project}/instances/{ins" + + "tance}\"\247\003\n\007Cluster\022\021\n\004name\030\001 \001(\tB\003\340A\003\0228\n" + + "\010location\030\002 \001(\tB&\372A#\n!locations.googleap" + + "is.com/Location\022;\n\005state\030\003 \001(\0162\'.google." + + "bigtable.admin.v2.Cluster.StateB\003\340A\003\022\030\n\013" + + "serve_nodes\030\004 \001(\005B\003\340A\002\022C\n\024default_storag" + + "e_type\030\005 \001(\0162%.google.bigtable.admin.v2." + + "StorageType\"Q\n\005State\022\023\n\017STATE_NOT_KNOWN\020" + + "\000\022\t\n\005READY\020\001\022\014\n\010CREATING\020\002\022\014\n\010RESIZING\020\003" + + "\022\014\n\010DISABLED\020\004:`\352A]\n\037bigtable.googleapis" + + ".com/Cluster\022:projects/{project}/instanc" + + "es/{instance}/clusters/{cluster}\"\356\003\n\nApp" + + "Profile\022\014\n\004name\030\001 \001(\t\022\014\n\004etag\030\002 \001(\t\022\023\n\013d" + + "escription\030\003 \001(\t\022g\n\035multi_cluster_routin" + + "g_use_any\030\005 \001(\0132>.google.bigtable.admin." + + "v2.AppProfile.MultiClusterRoutingUseAnyH" + + "\000\022[\n\026single_cluster_routing\030\006 \001(\01329.goog" + + "le.bigtable.admin.v2.AppProfile.SingleCl" + + "usterRoutingH\000\032\033\n\031MultiClusterRoutingUse" + + "Any\032N\n\024SingleClusterRouting\022\022\n\ncluster_i" + + "d\030\001 \001(\t\022\"\n\032allow_transactional_writes\030\002 " + + "\001(\010:j\352Ag\n\"bigtable.googleapis.com/AppPro" + + "file\022Aprojects/{project}/instances/{inst" + + "ance}/appProfiles/{app_profile}B\020\n\016routi" + + "ng_policyB\260\001\n\034com.google.bigtable.admin." + + "v2B\rInstanceProtoP\001Z=google.golang.org/g" + + "enproto/googleapis/bigtable/admin/v2;adm" + + "in\252\002\036Google.Cloud.Bigtable.Admin.V2\312\002\036Go" + + "ogle\\Cloud\\Bigtable\\Admin\\V2b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { - com.google.api.AnnotationsProto.getDescriptor(), com.google.api.FieldBehaviorProto.getDescriptor(), com.google.api.ResourceProto.getDescriptor(), com.google.bigtable.admin.v2.CommonProto.getDescriptor(), @@ -173,7 +171,6 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { registry.add(com.google.api.ResourceProto.resourceReference); com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( descriptor, registry); - com.google.api.AnnotationsProto.getDescriptor(); com.google.api.FieldBehaviorProto.getDescriptor(); com.google.api.ResourceProto.getDescriptor(); com.google.bigtable.admin.v2.CommonProto.getDescriptor(); diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java index 839b1fabf4..54408fb4e1 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java +++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java @@ -85,91 +85,89 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { static { java.lang.String[] descriptorData = { "\n$google/bigtable/admin/v2/table.proto\022\030" - + "google.bigtable.admin.v2\032\034google/api/ann" - + "otations.proto\032\037google/api/field_behavio" - + "r.proto\032\031google/api/resource.proto\032\036goog" - + "le/protobuf/duration.proto\032\037google/proto" - + "buf/timestamp.proto\"\233\001\n\013RestoreInfo\022@\n\013s" - + "ource_type\030\001 \001(\0162+.google.bigtable.admin" - + ".v2.RestoreSourceType\022;\n\013backup_info\030\002 \001" - + "(\0132$.google.bigtable.admin.v2.BackupInfo" - + "H\000B\r\n\013source_info\"\373\007\n\005Table\022\014\n\004name\030\001 \001(" - + "\t\022J\n\016cluster_states\030\002 \003(\01322.google.bigta" - + "ble.admin.v2.Table.ClusterStatesEntry\022L\n" - + "\017column_families\030\003 \003(\01323.google.bigtable" - + ".admin.v2.Table.ColumnFamiliesEntry\022I\n\013g" - + "ranularity\030\004 \001(\01624.google.bigtable.admin" - + ".v2.Table.TimestampGranularity\022;\n\014restor" - + "e_info\030\006 \001(\0132%.google.bigtable.admin.v2." - + "RestoreInfo\032\371\001\n\014ClusterState\022X\n\021replicat" - + "ion_state\030\001 \001(\0162=.google.bigtable.admin." - + "v2.Table.ClusterState.ReplicationState\"\216" - + "\001\n\020ReplicationState\022\023\n\017STATE_NOT_KNOWN\020\000" - + "\022\020\n\014INITIALIZING\020\001\022\027\n\023PLANNED_MAINTENANC" - + "E\020\002\022\031\n\025UNPLANNED_MAINTENANCE\020\003\022\t\n\005READY\020" - + "\004\022\024\n\020READY_OPTIMIZING\020\005\032b\n\022ClusterStates" - + "Entry\022\013\n\003key\030\001 \001(\t\022;\n\005value\030\002 \001(\0132,.goog" - + "le.bigtable.admin.v2.Table.ClusterState:" - + "\0028\001\032]\n\023ColumnFamiliesEntry\022\013\n\003key\030\001 \001(\t\022" - + "5\n\005value\030\002 \001(\0132&.google.bigtable.admin.v" - + "2.ColumnFamily:\0028\001\"I\n\024TimestampGranulari" - + "ty\022%\n!TIMESTAMP_GRANULARITY_UNSPECIFIED\020" - + "\000\022\n\n\006MILLIS\020\001\"\\\n\004View\022\024\n\020VIEW_UNSPECIFIE" - + "D\020\000\022\r\n\tNAME_ONLY\020\001\022\017\n\013SCHEMA_VIEW\020\002\022\024\n\020R" - + "EPLICATION_VIEW\020\003\022\010\n\004FULL\020\004:Z\352AW\n\035bigtab" - + "le.googleapis.com/Table\0226projects/{proje" - + "ct}/instances/{instance}/tables/{table}\"" - + "A\n\014ColumnFamily\0221\n\007gc_rule\030\001 \001(\0132 .googl" - + "e.bigtable.admin.v2.GcRule\"\325\002\n\006GcRule\022\032\n" - + "\020max_num_versions\030\001 \001(\005H\000\022,\n\007max_age\030\002 \001" - + "(\0132\031.google.protobuf.DurationH\000\022E\n\014inter" - + "section\030\003 \001(\0132-.google.bigtable.admin.v2" - + ".GcRule.IntersectionH\000\0227\n\005union\030\004 \001(\0132&." - + "google.bigtable.admin.v2.GcRule.UnionH\000\032" - + "?\n\014Intersection\022/\n\005rules\030\001 \003(\0132 .google." - + "bigtable.admin.v2.GcRule\0328\n\005Union\022/\n\005rul" - + "es\030\001 \003(\0132 .google.bigtable.admin.v2.GcRu" - + "leB\006\n\004rule\"\307\003\n\010Snapshot\022\014\n\004name\030\001 \001(\t\0225\n" - + "\014source_table\030\002 \001(\0132\037.google.bigtable.ad" - + "min.v2.Table\022\027\n\017data_size_bytes\030\003 \001(\003\022/\n" - + "\013create_time\030\004 \001(\0132\032.google.protobuf.Tim" - + "estamp\022/\n\013delete_time\030\005 \001(\0132\032.google.pro" - + "tobuf.Timestamp\0227\n\005state\030\006 \001(\0162(.google." - + "bigtable.admin.v2.Snapshot.State\022\023\n\013desc" - + "ription\030\007 \001(\t\"5\n\005State\022\023\n\017STATE_NOT_KNOW" - + "N\020\000\022\t\n\005READY\020\001\022\014\n\010CREATING\020\002:v\352As\n bigta" - + "ble.googleapis.com/Snapshot\022Oprojects/{p" - + "roject}/instances/{instance}/clusters/{c" - + "luster}/snapshots/{snapshot}\"\327\003\n\006Backup\022" - + "\021\n\004name\030\001 \001(\tB\003\340A\003\022\034\n\014source_table\030\002 \001(\t" - + "B\006\340A\005\340A\002\0224\n\013expire_time\030\003 \001(\0132\032.google.p" - + "rotobuf.TimestampB\003\340A\002\0223\n\nstart_time\030\004 \001" - + "(\0132\032.google.protobuf.TimestampB\003\340A\003\0221\n\010e" - + "nd_time\030\005 \001(\0132\032.google.protobuf.Timestam" - + "pB\003\340A\003\022\027\n\nsize_bytes\030\006 \001(\003B\003\340A\003\022:\n\005state" - + "\030\007 \001(\0162&.google.bigtable.admin.v2.Backup" - + ".StateB\003\340A\003\"7\n\005State\022\025\n\021STATE_UNSPECIFIE" - + "D\020\000\022\014\n\010CREATING\020\001\022\t\n\005READY\020\002:p\352Am\n\036bigta" - + "ble.googleapis.com/Backup\022Kprojects/{pro" - + "ject}/instances/{instance}/clusters/{clu" - + "ster}/backups/{backup}\"\244\001\n\nBackupInfo\022\023\n" - + "\006backup\030\001 \001(\tB\003\340A\003\0223\n\nstart_time\030\002 \001(\0132\032" - + ".google.protobuf.TimestampB\003\340A\003\0221\n\010end_t" - + "ime\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340" - + "A\003\022\031\n\014source_table\030\004 \001(\tB\003\340A\003*D\n\021Restore" - + "SourceType\022#\n\037RESTORE_SOURCE_TYPE_UNSPEC" - + "IFIED\020\000\022\n\n\006BACKUP\020\001B\255\001\n\034com.google.bigta" - + "ble.admin.v2B\nTableProtoP\001Z=google.golan" - + "g.org/genproto/googleapis/bigtable/admin" - + "/v2;admin\252\002\036Google.Cloud.Bigtable.Admin." - + "V2\312\002\036Google\\Cloud\\Bigtable\\Admin\\V2b\006pro" - + "to3" + + "google.bigtable.admin.v2\032\037google/api/fie" + + "ld_behavior.proto\032\031google/api/resource.p" + + "roto\032\036google/protobuf/duration.proto\032\037go" + + "ogle/protobuf/timestamp.proto\"\233\001\n\013Restor" + + "eInfo\022@\n\013source_type\030\001 \001(\0162+.google.bigt" + + "able.admin.v2.RestoreSourceType\022;\n\013backu" + + "p_info\030\002 \001(\0132$.google.bigtable.admin.v2." + + "BackupInfoH\000B\r\n\013source_info\"\373\007\n\005Table\022\014\n" + + "\004name\030\001 \001(\t\022J\n\016cluster_states\030\002 \003(\01322.go" + + "ogle.bigtable.admin.v2.Table.ClusterStat" + + "esEntry\022L\n\017column_families\030\003 \003(\01323.googl" + + "e.bigtable.admin.v2.Table.ColumnFamilies" + + "Entry\022I\n\013granularity\030\004 \001(\01624.google.bigt" + + "able.admin.v2.Table.TimestampGranularity" + + "\022;\n\014restore_info\030\006 \001(\0132%.google.bigtable" + + ".admin.v2.RestoreInfo\032\371\001\n\014ClusterState\022X" + + "\n\021replication_state\030\001 \001(\0162=.google.bigta" + + "ble.admin.v2.Table.ClusterState.Replicat" + + "ionState\"\216\001\n\020ReplicationState\022\023\n\017STATE_N" + + "OT_KNOWN\020\000\022\020\n\014INITIALIZING\020\001\022\027\n\023PLANNED_" + + "MAINTENANCE\020\002\022\031\n\025UNPLANNED_MAINTENANCE\020\003" + + "\022\t\n\005READY\020\004\022\024\n\020READY_OPTIMIZING\020\005\032b\n\022Clu" + + "sterStatesEntry\022\013\n\003key\030\001 \001(\t\022;\n\005value\030\002 " + + "\001(\0132,.google.bigtable.admin.v2.Table.Clu" + + "sterState:\0028\001\032]\n\023ColumnFamiliesEntry\022\013\n\003" + + "key\030\001 \001(\t\0225\n\005value\030\002 \001(\0132&.google.bigtab" + + "le.admin.v2.ColumnFamily:\0028\001\"I\n\024Timestam" + + "pGranularity\022%\n!TIMESTAMP_GRANULARITY_UN" + + "SPECIFIED\020\000\022\n\n\006MILLIS\020\001\"\\\n\004View\022\024\n\020VIEW_" + + "UNSPECIFIED\020\000\022\r\n\tNAME_ONLY\020\001\022\017\n\013SCHEMA_V" + + "IEW\020\002\022\024\n\020REPLICATION_VIEW\020\003\022\010\n\004FULL\020\004:Z\352" + + "AW\n\035bigtable.googleapis.com/Table\0226proje" + + "cts/{project}/instances/{instance}/table" + + "s/{table}\"A\n\014ColumnFamily\0221\n\007gc_rule\030\001 \001" + + "(\0132 .google.bigtable.admin.v2.GcRule\"\325\002\n" + + "\006GcRule\022\032\n\020max_num_versions\030\001 \001(\005H\000\022,\n\007m" + + "ax_age\030\002 \001(\0132\031.google.protobuf.DurationH" + + "\000\022E\n\014intersection\030\003 \001(\0132-.google.bigtabl" + + "e.admin.v2.GcRule.IntersectionH\000\0227\n\005unio" + + "n\030\004 \001(\0132&.google.bigtable.admin.v2.GcRul" + + "e.UnionH\000\032?\n\014Intersection\022/\n\005rules\030\001 \003(\013" + + "2 .google.bigtable.admin.v2.GcRule\0328\n\005Un" + + "ion\022/\n\005rules\030\001 \003(\0132 .google.bigtable.adm" + + "in.v2.GcRuleB\006\n\004rule\"\307\003\n\010Snapshot\022\014\n\004nam" + + "e\030\001 \001(\t\0225\n\014source_table\030\002 \001(\0132\037.google.b" + + "igtable.admin.v2.Table\022\027\n\017data_size_byte" + + "s\030\003 \001(\003\022/\n\013create_time\030\004 \001(\0132\032.google.pr" + + "otobuf.Timestamp\022/\n\013delete_time\030\005 \001(\0132\032." + + "google.protobuf.Timestamp\0227\n\005state\030\006 \001(\016" + + "2(.google.bigtable.admin.v2.Snapshot.Sta" + + "te\022\023\n\013description\030\007 \001(\t\"5\n\005State\022\023\n\017STAT" + + "E_NOT_KNOWN\020\000\022\t\n\005READY\020\001\022\014\n\010CREATING\020\002:v" + + "\352As\n bigtable.googleapis.com/Snapshot\022Op" + + "rojects/{project}/instances/{instance}/c" + + "lusters/{cluster}/snapshots/{snapshot}\"\327" + + "\003\n\006Backup\022\021\n\004name\030\001 \001(\tB\003\340A\003\022\034\n\014source_t" + + "able\030\002 \001(\tB\006\340A\005\340A\002\0224\n\013expire_time\030\003 \001(\0132" + + "\032.google.protobuf.TimestampB\003\340A\002\0223\n\nstar" + + "t_time\030\004 \001(\0132\032.google.protobuf.Timestamp" + + "B\003\340A\003\0221\n\010end_time\030\005 \001(\0132\032.google.protobu" + + "f.TimestampB\003\340A\003\022\027\n\nsize_bytes\030\006 \001(\003B\003\340A" + + "\003\022:\n\005state\030\007 \001(\0162&.google.bigtable.admin" + + ".v2.Backup.StateB\003\340A\003\"7\n\005State\022\025\n\021STATE_" + + "UNSPECIFIED\020\000\022\014\n\010CREATING\020\001\022\t\n\005READY\020\002:p" + + "\352Am\n\036bigtable.googleapis.com/Backup\022Kpro" + + "jects/{project}/instances/{instance}/clu" + + "sters/{cluster}/backups/{backup}\"\244\001\n\nBac" + + "kupInfo\022\023\n\006backup\030\001 \001(\tB\003\340A\003\0223\n\nstart_ti" + + "me\030\002 \001(\0132\032.google.protobuf.TimestampB\003\340A" + + "\003\0221\n\010end_time\030\003 \001(\0132\032.google.protobuf.Ti" + + "mestampB\003\340A\003\022\031\n\014source_table\030\004 \001(\tB\003\340A\003*" + + "D\n\021RestoreSourceType\022#\n\037RESTORE_SOURCE_T" + + "YPE_UNSPECIFIED\020\000\022\n\n\006BACKUP\020\001B\255\001\n\034com.go" + + "ogle.bigtable.admin.v2B\nTableProtoP\001Z=go" + + "ogle.golang.org/genproto/googleapis/bigt" + + "able/admin/v2;admin\252\002\036Google.Cloud.Bigta" + + "ble.Admin.V2\312\002\036Google\\Cloud\\Bigtable\\Adm" + + "in\\V2b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { - com.google.api.AnnotationsProto.getDescriptor(), com.google.api.FieldBehaviorProto.getDescriptor(), com.google.api.ResourceProto.getDescriptor(), com.google.protobuf.DurationProto.getDescriptor(), @@ -283,7 +281,6 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { registry.add(com.google.api.ResourceProto.resource); com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( descriptor, registry); - com.google.api.AnnotationsProto.getDescriptor(); com.google.api.FieldBehaviorProto.getDescriptor(); com.google.api.ResourceProto.getDescriptor(); com.google.protobuf.DurationProto.getDescriptor(); diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/bigtable_table_admin.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/bigtable_table_admin.proto index 9e33514a9e..119ef73a4d 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/bigtable_table_admin.proto +++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/bigtable_table_admin.proto @@ -236,6 +236,7 @@ service BigtableTableAdmin { response_type: "Backup" metadata_type: "CreateBackupMetadata" }; + option (google.api.method_signature) = "parent,backup_id,backup"; } // Gets metadata on a pending or completed Cloud Bigtable Backup. @@ -243,6 +244,7 @@ service BigtableTableAdmin { option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/clusters/*/backups/*}" }; + option (google.api.method_signature) = "name"; } // Updates a pending or completed Cloud Bigtable Backup. @@ -251,6 +253,7 @@ service BigtableTableAdmin { patch: "/v2/{backup.name=projects/*/instances/*/clusters/*/backups/*}" body: "backup" }; + option (google.api.method_signature) = "backup,update_mask"; } // Deletes a pending or completed Cloud Bigtable backup. @@ -258,6 +261,7 @@ service BigtableTableAdmin { option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/clusters/*/backups/*}" }; + option (google.api.method_signature) = "name"; } // Lists Cloud Bigtable backups. Returns both completed and pending @@ -266,6 +270,7 @@ service BigtableTableAdmin { option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*/clusters/*}/backups" }; + option (google.api.method_signature) = "parent"; } // Create a new table by restoring from a completed backup. The new table diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/common.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/common.proto index 054bfcfb72..89d24ea971 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/common.proto +++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/common.proto @@ -16,7 +16,6 @@ syntax = "proto3"; package google.bigtable.admin.v2; -import "google/api/annotations.proto"; import "google/protobuf/timestamp.proto"; option csharp_namespace = "Google.Cloud.Bigtable.Admin.V2"; diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/instance.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/instance.proto index 418fbea94c..e15f63ac03 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/instance.proto +++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/instance.proto @@ -17,7 +17,6 @@ syntax = "proto3"; package google.bigtable.admin.v2; -import "google/api/annotations.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/bigtable/admin/v2/common.proto"; @@ -154,8 +153,8 @@ message Cluster { // The current state of the cluster. State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Required. The number of nodes allocated to this cluster. More nodes enable higher - // throughput and more consistent performance. + // Required. The number of nodes allocated to this cluster. More nodes enable + // higher throughput and more consistent performance. int32 serve_nodes = 4 [(google.api.field_behavior) = REQUIRED]; // (`CreationOnly`) diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto index 76e1c1b4af..5353789891 100644 --- a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto +++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto @@ -16,7 +16,6 @@ syntax = "proto3"; package google.bigtable.admin.v2; -import "google/api/annotations.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/duration.proto"; diff --git a/synth.metadata b/synth.metadata index f313a722e0..7d6d7b0273 100644 --- a/synth.metadata +++ b/synth.metadata @@ -3,24 +3,23 @@ { "git": { "name": ".", - "remote": "git@github.com:googleapis/java-bigtable.git", - "sha": "5b8e2571e98f3b1824deae206911b60d64ad9f38" + "remote": "https://github.com/googleapis/java-bigtable.git", + "sha": "322fc6a39066ca13d3f523ff524c1c6c1d387bda" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "275fbcce2c900278d487c33293a3c7e1fbcd3a34", - "internalRef": "301661567", - "log": "275fbcce2c900278d487c33293a3c7e1fbcd3a34\nfeat: pubsub/v1 add an experimental filter field to Subscription\n\nPiperOrigin-RevId: 301661567\n\nf2b18cec51d27c999ad30011dba17f3965677e9c\nFix: UpdateBackupRequest.backup is a resource, not a resource reference - remove annotation.\n\nPiperOrigin-RevId: 301636171\n\n800384063ac93a0cac3a510d41726fa4b2cd4a83\nCloud Billing Budget API v1beta1\nModified api documentation to include warnings about the new filter field.\n\nPiperOrigin-RevId: 301634389\n\n0cc6c146b660db21f04056c3d58a4b752ee445e3\nCloud Billing Budget API v1alpha1\nModified api documentation to include warnings about the new filter field.\n\nPiperOrigin-RevId: 301630018\n\nff2ea00f69065585c3ac0993c8b582af3b6fc215\nFix: Add resource definition for a parent of InspectTemplate which was otherwise missing.\n\nPiperOrigin-RevId: 301623052\n\n55fa441c9daf03173910760191646399338f2b7c\nAdd proto definition for AccessLevel, AccessPolicy, and ServicePerimeter.\n\nPiperOrigin-RevId: 301620844\n\ne7b10591c5408a67cf14ffafa267556f3290e262\nCloud Bigtable Managed Backup service and message proto files.\n\nPiperOrigin-RevId: 301585144\n\nd8e226f702f8ddf92915128c9f4693b63fb8685d\nfeat: Add time-to-live in a queue for builds\n\nPiperOrigin-RevId: 301579876\n\n430375af011f8c7a5174884f0d0e539c6ffa7675\ndocs: add missing closing backtick\n\nPiperOrigin-RevId: 301538851\n\n0e9f1f60ded9ad1c2e725e37719112f5b487ab65\nbazel: Use latest release of gax_java\n\nPiperOrigin-RevId: 301480457\n\n5058c1c96d0ece7f5301a154cf5a07b2ad03a571\nUpdate GAPIC v2 with batching parameters for Logging API\n\nPiperOrigin-RevId: 301443847\n\n64ab9744073de81fec1b3a6a931befc8a90edf90\nFix: Introduce location-based organization/folder/billing-account resources\nChore: Update copyright years\n\nPiperOrigin-RevId: 301373760\n\n23d5f09e670ebb0c1b36214acf78704e2ecfc2ac\nUpdate field_behavior annotations in V1 and V2.\n\nPiperOrigin-RevId: 301337970\n\nb2cf37e7fd62383a811aa4d54d013ecae638851d\nData Catalog V1 API\n\nPiperOrigin-RevId: 301282503\n\n1976b9981e2900c8172b7d34b4220bdb18c5db42\nCloud DLP api update. Adds missing fields to Finding and adds support for hybrid jobs.\n\nPiperOrigin-RevId: 301205325\n\nae78682c05e864d71223ce22532219813b0245ac\nfix: several sample code blocks in comments are now properly indented for markdown\n\nPiperOrigin-RevId: 301185150\n\ndcd171d04bda5b67db13049320f97eca3ace3731\nPublish Media Translation API V1Beta1\n\nPiperOrigin-RevId: 301180096\n\nff1713453b0fbc5a7544a1ef6828c26ad21a370e\nAdd protos and BUILD rules for v1 API.\n\nPiperOrigin-RevId: 301179394\n\n8386761d09819b665b6a6e1e6d6ff884bc8ff781\nfeat: chromeos/modlab publish protos and config for Chrome OS Moblab API.\n\nPiperOrigin-RevId: 300843960\n\nb2e2bc62fab90e6829e62d3d189906d9b79899e4\nUpdates to GCS gRPC API spec:\n\n1. Changed GetIamPolicy and TestBucketIamPermissions to use wrapper messages around google.iam.v1 IAM requests messages, and added CommonRequestParams. This lets us support RequesterPays buckets.\n2. Added a metadata field to GetObjectMediaResponse, to support resuming an object media read safely (by extracting the generation of the object being read, and using it in the resumed read request).\n\nPiperOrigin-RevId: 300817706\n\n7fd916ce12335cc9e784bb9452a8602d00b2516c\nAdd deprecated_collections field for backward-compatiblity in PHP and monolith-generated Python and Ruby clients.\n\nGenerate TopicName class in Java which covers the functionality of both ProjectTopicName and DeletedTopicName. Introduce breaking changes to be fixed by synth.py.\n\nDelete default retry parameters.\n\nRetry codes defs can be deleted once # https://github.com/googleapis/gapic-generator/issues/3137 is fixed.\n\nPiperOrigin-RevId: 300813135\n\n047d3a8ac7f75383855df0166144f891d7af08d9\nfix!: google/rpc refactor ErrorInfo.type to ErrorInfo.reason and comment updates.\n\nPiperOrigin-RevId: 300773211\n\nfae4bb6d5aac52aabe5f0bb4396466c2304ea6f6\nAdding RetryPolicy to pubsub.proto\n\nPiperOrigin-RevId: 300769420\n\n7d569be2928dbd72b4e261bf9e468f23afd2b950\nAdding additional protocol buffer annotations to v3.\n\nPiperOrigin-RevId: 300718800\n\n13942d1a85a337515040a03c5108993087dc0e4f\nAdd logging protos for Recommender v1.\n\nPiperOrigin-RevId: 300689896\n\na1a573c3eecfe2c404892bfa61a32dd0c9fb22b6\nfix: change go package to use cloud.google.com/go/maps\n\nPiperOrigin-RevId: 300661825\n\nc6fbac11afa0c7ab2972d9df181493875c566f77\nfeat: publish documentai/v1beta2 protos\n\nPiperOrigin-RevId: 300656808\n\n5202a9e0d9903f49e900f20fe5c7f4e42dd6588f\nProtos for v1beta1 release of Cloud Security Center Settings API\n\nPiperOrigin-RevId: 300580858\n\n83518e18655d9d4ac044acbda063cc6ecdb63ef8\nAdds gapic.yaml file and BUILD.bazel file.\n\nPiperOrigin-RevId: 300554200\n\n836c196dc8ef8354bbfb5f30696bd3477e8db5e2\nRegenerate recommender v1beta1 gRPC ServiceConfig file for Insights methods.\n\nPiperOrigin-RevId: 300549302\n\n34a5450c591b6be3d6566f25ac31caa5211b2f3f\nIncreases the default timeout from 20s to 30s for MetricService\n\nPiperOrigin-RevId: 300474272\n\n5d8bffe87cd01ba390c32f1714230e5a95d5991d\nfeat: use the latest gapic-generator in WORKSPACE for bazel build.\n\nPiperOrigin-RevId: 300461878\n\nd631c651e3bcfac5d371e8560c27648f7b3e2364\nUpdated the GAPIC configs to include parameters for Backups APIs.\n\nPiperOrigin-RevId: 300443402\n\n678afc7055c1adea9b7b54519f3bdb228013f918\nAdding Game Servers v1beta API.\n\nPiperOrigin-RevId: 300433218\n\n80d2bd2c652a5e213302041b0620aff423132589\nEnable proto annotation and gapic v2 for talent API.\n\nPiperOrigin-RevId: 300393997\n\n85e454be7a353f7fe1bf2b0affb753305785b872\ndocs(google/maps/roads): remove mention of nonexported api\n\nPiperOrigin-RevId: 300367734\n\nbf839ae632e0f263a729569e44be4b38b1c85f9c\nAdding protocol buffer annotations and updated config info for v1 and v2.\n\nPiperOrigin-RevId: 300276913\n\n309b899ca18a4c604bce63882a161d44854da549\nPublish `Backup` APIs and protos.\n\nPiperOrigin-RevId: 300246038\n\neced64c3f122421350b4aca68a28e89121d20db8\nadd PHP client libraries\n\nPiperOrigin-RevId: 300193634\n\n7727af0e39df1ae9ad715895c8576d7b65cf6c6d\nfeat: use the latest gapic-generator and protoc-java-resource-name-plugin in googleapis/WORKSPACE.\n\nPiperOrigin-RevId: 300188410\n\n2a25aa351dd5b5fe14895266aff5824d90ce757b\nBreaking change: remove the ProjectOrTenant resource and its references.\n\nPiperOrigin-RevId: 300182152\n\na499dbb28546379415f51803505cfb6123477e71\nUpdate web risk v1 gapic config and BUILD file.\n\nPiperOrigin-RevId: 300152177\n\n52701da10fec2a5f9796e8d12518c0fe574488fe\nFix: apply appropriate namespace/package options for C#, PHP and Ruby.\n\nPiperOrigin-RevId: 300123508\n\n365c029b8cdb63f7751b92ab490f1976e616105c\nAdd CC targets to the kms protos.\n\nThese are needed by go/tink.\n\nPiperOrigin-RevId: 300038469\n\n4ba9aa8a4a1413b88dca5a8fa931824ee9c284e6\nExpose logo recognition API proto for GA.\n\nPiperOrigin-RevId: 299971671\n\n1c9fc2c9e03dadf15f16b1c4f570955bdcebe00e\nAdding ruby_package option to accessapproval.proto for the Ruby client libraries generation.\n\nPiperOrigin-RevId: 299955924\n\n1cc6f0a7bfb147e6f2ede911d9b01e7a9923b719\nbuild(google/maps/routes): generate api clients\n\nPiperOrigin-RevId: 299955905\n\n29a47c965aac79e3fe8e3314482ca0b5967680f0\nIncrease timeout to 1hr for method `dropRange` in bigtable/admin/v2, which is\nsynced with the timeout setting in gapic_yaml.\n\nPiperOrigin-RevId: 299917154\n\n8f631c4c70a60a9c7da3749511ee4ad432b62898\nbuild(google/maps/roads/v1op): move go to monorepo pattern\n\nPiperOrigin-RevId: 299885195\n\nd66816518844ebbf63504c9e8dfc7133921dd2cd\nbuild(google/maps/roads/v1op): Add bazel build files to generate clients.\n\nPiperOrigin-RevId: 299851148\n\naf7dff701fabe029672168649c62356cf1bb43d0\nAdd LogPlayerReports and LogImpressions to Playable Locations service\n\nPiperOrigin-RevId: 299724050\n\nb6927fca808f38df32a642c560082f5bf6538ced\nUpdate BigQuery Connection API v1beta1 proto: added credential to CloudSqlProperties.\n\nPiperOrigin-RevId: 299503150\n\n91e1fb5ef9829c0c7a64bfa5bde330e6ed594378\nchore: update protobuf (protoc) version to 3.11.2\n\nPiperOrigin-RevId: 299404145\n\n30e36b4bee6749c4799f4fc1a51cc8f058ba167d\nUpdate cloud asset api v1p4beta1.\n\nPiperOrigin-RevId: 299399890\n\nffbb493674099f265693872ae250711b2238090c\nfeat: cloudbuild/v1 add new fields and annotate OUTPUT_OUT fields.\n\nPiperOrigin-RevId: 299397780\n\nbc973a15818e00c19e121959832676e9b7607456\nbazel: Fix broken common dependency\n\nPiperOrigin-RevId: 299397431\n\n71094a343e3b962e744aa49eb9338219537474e4\nchore: bigtable/admin/v2 publish retry config\n\nPiperOrigin-RevId: 299391875\n\n8f488efd7bda33885cb674ddd023b3678c40bd82\nfeat: Migrate logging to GAPIC v2; release new features.\n\nIMPORTANT: This is a breaking change for client libraries\nin all languages.\n\nCommitter: @lukesneeringer, @jskeet\nPiperOrigin-RevId: 299370279\n\n007605bf9ad3a1fd775014ebefbf7f1e6b31ee71\nUpdate API for bigqueryreservation v1beta1.\n- Adds flex capacity commitment plan to CapacityCommitment.\n- Adds methods for getting and updating BiReservations.\n- Adds methods for updating/splitting/merging CapacityCommitments.\n\nPiperOrigin-RevId: 299368059\n\nf0b581b5bdf803e45201ecdb3688b60e381628a8\nfix: recommendationengine/v1beta1 update some comments\n\nPiperOrigin-RevId: 299181282\n\n10e9a0a833dc85ff8f05b2c67ebe5ac785fe04ff\nbuild: add generated BUILD file for Routes Preferred API\n\nPiperOrigin-RevId: 299164808\n\n86738c956a8238d7c77f729be78b0ed887a6c913\npublish v1p1beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299152383\n\n73d9f2ad4591de45c2e1f352bc99d70cbd2a6d95\npublish v1: update with absolute address in comments\n\nPiperOrigin-RevId: 299147194\n\nd2158f24cb77b0b0ccfe68af784c6a628705e3c6\npublish v1beta2: update with absolute address in comments\n\nPiperOrigin-RevId: 299147086\n\n7fca61292c11b4cd5b352cee1a50bf88819dd63b\npublish v1p2beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299146903\n\n583b7321624736e2c490e328f4b1957335779295\npublish v1p3beta1: update with absolute address in comments\n\nPiperOrigin-RevId: 299146674\n\n638253bf86d1ce1c314108a089b7351440c2f0bf\nfix: add java_multiple_files option for automl text_sentiment.proto\n\nPiperOrigin-RevId: 298971070\n\n373d655703bf914fb8b0b1cc4071d772bac0e0d1\nUpdate Recs AI Beta public bazel file\n\nPiperOrigin-RevId: 298961623\n\ndcc5d00fc8a8d8b56f16194d7c682027b2c66a3b\nfix: add java_multiple_files option for automl classification.proto\n\nPiperOrigin-RevId: 298953301\n\na3f791827266f3496a6a5201d58adc4bb265c2a3\nchore: automl/v1 publish annotations and retry config\n\nPiperOrigin-RevId: 298942178\n\n01c681586d8d6dbd60155289b587aee678530bd9\nMark return_immediately in PullRequest deprecated.\n\nPiperOrigin-RevId: 298893281\n\nc9f5e9c4bfed54bbd09227e990e7bded5f90f31c\nRemove out of date documentation for predicate support on the Storage API\n\nPiperOrigin-RevId: 298883309\n\nfd5b3b8238d783b04692a113ffe07c0363f5de0f\ngenerate webrisk v1 proto\n\nPiperOrigin-RevId: 298847934\n\n541b1ded4abadcc38e8178680b0677f65594ea6f\nUpdate cloud asset api v1p4beta1.\n\nPiperOrigin-RevId: 298686266\n\nc0d171acecb4f5b0bfd2c4ca34fc54716574e300\n Updated to include the Notification v1 API.\n\nPiperOrigin-RevId: 298652775\n\n2346a9186c0bff2c9cc439f2459d558068637e05\nAdd Service Directory v1beta1 protos and configs\n\nPiperOrigin-RevId: 298625638\n\na78ed801b82a5c6d9c5368e24b1412212e541bb7\nPublishing v3 protos and configs.\n\nPiperOrigin-RevId: 298607357\n\n4a180bfff8a21645b3a935c2756e8d6ab18a74e0\nautoml/v1beta1 publish proto updates\n\nPiperOrigin-RevId: 298484782\n\n6de6e938b7df1cd62396563a067334abeedb9676\nchore: use the latest gapic-generator and protoc-java-resource-name-plugin in Bazel workspace.\n\nPiperOrigin-RevId: 298474513\n\n244ab2b83a82076a1fa7be63b7e0671af73f5c02\nAdds service config definition for bigqueryreservation v1\n\nPiperOrigin-RevId: 298455048\n\n83c6f84035ee0f80eaa44d8b688a010461cc4080\nUpdate google/api/auth.proto to make AuthProvider to have JwtLocation\n\nPiperOrigin-RevId: 297918498\n\ne9e90a787703ec5d388902e2cb796aaed3a385b4\nDialogflow weekly v2/v2beta1 library update:\n - adding get validation result\n - adding field mask override control for output audio config\nImportant updates are also posted at:\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 297671458\n\n1a2b05cc3541a5f7714529c665aecc3ea042c646\nAdding .yaml and .json config files.\n\nPiperOrigin-RevId: 297570622\n\ndfe1cf7be44dee31d78f78e485d8c95430981d6e\nPublish `QueryOptions` proto.\n\nIntroduced a `query_options` input in `ExecuteSqlRequest`.\n\nPiperOrigin-RevId: 297497710\n\ndafc905f71e5d46f500b41ed715aad585be062c3\npubsub: revert pull init_rpc_timeout & max_rpc_timeout back to 25 seconds and reset multiplier to 1.0\n\nPiperOrigin-RevId: 297486523\n\nf077632ba7fee588922d9e8717ee272039be126d\nfirestore: add update_transform\n\nPiperOrigin-RevId: 297405063\n\n0aba1900ffef672ec5f0da677cf590ee5686e13b\ncluster: use square brace for cross-reference\n\nPiperOrigin-RevId: 297204568\n\n5dac2da18f6325cbaed54603c43f0667ecd50247\nRestore retry params in gapic config because securitycenter has non-standard default retry params.\nRestore a few retry codes for some idempotent methods.\n\nPiperOrigin-RevId: 297196720\n\n1eb61455530252bba8b2c8d4bc9832960e5a56f6\npubsub: v1 replace IAM HTTP rules\n\nPiperOrigin-RevId: 297188590\n\n80b2d25f8d43d9d47024ff06ead7f7166548a7ba\nDialogflow weekly v2/v2beta1 library update:\n - updates to mega agent api\n - adding field mask override control for output audio config\nImportant updates are also posted at:\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 297187629\n\n0b1876b35e98f560f9c9ca9797955f020238a092\nUse an older version of protoc-docs-plugin that is compatible with the specified gapic-generator and protobuf versions.\n\nprotoc-docs-plugin >=0.4.0 (see commit https://github.com/googleapis/protoc-docs-plugin/commit/979f03ede6678c487337f3d7e88bae58df5207af) is incompatible with protobuf 3.9.1.\n\nPiperOrigin-RevId: 296986742\n\n" + "sha": "fb8f62b6784f43faf4b64179c57ce4b4931b1a00", + "internalRef": "310426317" } }, { "git": { "name": "synthtool", "remote": "https://github.com/googleapis/synthtool.git", - "sha": "19465d3ec5e5acdb01521d8f3bddd311bcbee28d" + "sha": "be74d3e532faa47eb59f1a0eaebde0860d1d8ab4" } } ], From 656684b7f0fff003bb582977beb828f83da9a135 Mon Sep 17 00:00:00 2001 From: Igor Bernstein Date: Fri, 8 May 2020 14:20:29 -0400 Subject: [PATCH 4/5] fix: add missing api-client header (#290) * fix: add missing api-client header When migrating to custom callable chains, wI accidentally forgot to pull the api client header provider to the enhanced settings. * codestyle * codestyle --- .../v2/stub/EnhancedBigtableStubSettings.java | 1 + .../bigtable/data/v2/stub/HeadersTest.java | 237 ++++++++++++++++++ .../data/v2/stub/ResourceHeaderTest.java | 161 ------------ 3 files changed, 238 insertions(+), 161 deletions(-) create mode 100644 google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java delete mode 100644 google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java index 8a48115b54..d653542ac9 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/EnhancedBigtableStubSettings.java @@ -519,6 +519,7 @@ private Builder() { setTransportChannelProvider(defaultTransportChannelProvider()); setStreamWatchdogCheckInterval(baseDefaults.getStreamWatchdogCheckInterval()); setStreamWatchdogProvider(baseDefaults.getStreamWatchdogProvider()); + setHeaderProvider(BigtableStubSettings.defaultApiClientHeaderProviderBuilder().build()); setTracerFactory( new OpencensusTracerFactory( diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java new file mode 100644 index 0000000000..32c7eb3530 --- /dev/null +++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/HeadersTest.java @@ -0,0 +1,237 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.google.cloud.bigtable.data.v2.stub; + +import static com.google.common.truth.Truth.assertThat; + +import com.google.api.gax.batching.Batcher; +import com.google.bigtable.v2.BigtableGrpc; +import com.google.bigtable.v2.CheckAndMutateRowRequest; +import com.google.bigtable.v2.CheckAndMutateRowResponse; +import com.google.bigtable.v2.MutateRowRequest; +import com.google.bigtable.v2.MutateRowResponse; +import com.google.bigtable.v2.MutateRowsRequest; +import com.google.bigtable.v2.MutateRowsResponse; +import com.google.bigtable.v2.ReadModifyWriteRowRequest; +import com.google.bigtable.v2.ReadModifyWriteRowResponse; +import com.google.bigtable.v2.ReadRowsRequest; +import com.google.bigtable.v2.ReadRowsResponse; +import com.google.bigtable.v2.SampleRowKeysRequest; +import com.google.bigtable.v2.SampleRowKeysResponse; +import com.google.cloud.bigtable.data.v2.BigtableDataClient; +import com.google.cloud.bigtable.data.v2.BigtableDataSettings; +import com.google.cloud.bigtable.data.v2.internal.NameUtil; +import com.google.cloud.bigtable.data.v2.models.*; +import com.google.cloud.bigtable.data.v2.models.Mutation; +import com.google.rpc.Status; +import io.grpc.Metadata; +import io.grpc.Server; +import io.grpc.ServerBuilder; +import io.grpc.ServerCall; +import io.grpc.ServerCallHandler; +import io.grpc.ServerInterceptor; +import io.grpc.stub.StreamObserver; +import java.net.ServerSocket; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +@RunWith(JUnit4.class) +public class HeadersTest { + private static final String PROJECT_ID = "fake-project"; + private static final String INSTANCE_ID = "fake-instance"; + private static final String TABLE_ID = "fake-table"; + private static final String TABLE_NAME = + NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID); + private static final String APP_PROFILE_ID = "fake-profile"; + + private static final Metadata.Key X_GOOG_REQUEST_PARAMS_KEY = + Metadata.Key.of("x-goog-request-params", Metadata.ASCII_STRING_MARSHALLER); + private static final Metadata.Key API_CLIENT_HEADER_KEY = + Metadata.Key.of("x-goog-api-client", Metadata.ASCII_STRING_MARSHALLER); + + private Server server; + private BlockingQueue sentMetadata = new ArrayBlockingQueue<>(10); + + private BigtableDataClient client; + + @Before + public void setUp() throws Exception { + int port; + try (ServerSocket ss = new ServerSocket(0)) { + port = ss.getLocalPort(); + } + server = + ServerBuilder.forPort(port) + .addService(new FakeBigtableService()) + .intercept(new MetadataInterceptor()) + .build(); + server.start(); + + BigtableDataSettings.Builder settings = + BigtableDataSettings.newBuilderForEmulator(port) + .setProjectId(PROJECT_ID) + .setInstanceId(INSTANCE_ID) + .setAppProfileId(APP_PROFILE_ID); + + // Force immediate flush + settings + .stubSettings() + .bulkMutateRowsSettings() + .setBatchingSettings( + settings + .stubSettings() + .bulkMutateRowsSettings() + .getBatchingSettings() + .toBuilder() + .setElementCountThreshold(1L) + .build()); + + client = BigtableDataClient.create(settings.build()); + } + + @After + public void tearDown() throws Exception { + client.close(); + server.shutdown(); + } + + @Test + public void readRowsTest() { + client.readRows(Query.create(TABLE_ID)); + verifyHeaderSent(); + } + + @Test + public void sampleRowKeysTest() { + client.sampleRowKeysAsync(TABLE_ID); + verifyHeaderSent(); + } + + @Test + public void mutateRowTest() { + client.mutateRowAsync(RowMutation.create(TABLE_ID, "fake-key").deleteRow()); + verifyHeaderSent(); + } + + @Test + public void mutateRowsTest() throws InterruptedException { + try (Batcher batcher = client.newBulkMutationBatcher(TABLE_ID)) { + batcher.add(RowMutationEntry.create("fake-key").deleteRow()); + } catch (RuntimeException e) { + // Ignore the errors: none of the methods are actually implemented + } + verifyHeaderSent(); + } + + @Test + public void checkAndMutateRowTest() { + client.checkAndMutateRowAsync( + ConditionalRowMutation.create(TABLE_ID, "fake-key").then(Mutation.create().deleteRow())); + verifyHeaderSent(); + } + + @Test + public void readModifyWriteTest() { + client.readModifyWriteRowAsync( + ReadModifyWriteRow.create(TABLE_ID, "fake-key").increment("cf", "q", 1)); + verifyHeaderSent(); + } + + private void verifyHeaderSent() { + Metadata metadata; + try { + metadata = sentMetadata.take(); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + + String requestParamsvalue = metadata.get(X_GOOG_REQUEST_PARAMS_KEY); + assertThat(requestParamsvalue).containsMatch("(^|.*&)table_name=" + TABLE_NAME + "($|&.*)"); + assertThat(requestParamsvalue) + .containsMatch("(^|.*&)app_profile_id=" + APP_PROFILE_ID + "($|&.*)"); + + String apiClientValue = metadata.get(API_CLIENT_HEADER_KEY); + assertThat(apiClientValue).containsMatch("gl-java/[.\\d_]+"); + assertThat(apiClientValue).containsMatch("gax/[.\\d_]+"); + assertThat(apiClientValue).containsMatch("grpc/[.\\d_]+"); + } + + private class MetadataInterceptor implements ServerInterceptor { + @Override + public ServerCall.Listener interceptCall( + ServerCall serverCall, + Metadata metadata, + ServerCallHandler serverCallHandler) { + sentMetadata.add(metadata); + + return serverCallHandler.startCall(serverCall, metadata); + } + } + + private static class FakeBigtableService extends BigtableGrpc.BigtableImplBase { + @Override + public void readRows( + ReadRowsRequest request, StreamObserver responseObserver) { + responseObserver.onCompleted(); + } + + @Override + public void sampleRowKeys( + SampleRowKeysRequest request, StreamObserver responseObserver) { + responseObserver.onCompleted(); + } + + @Override + public void mutateRow( + MutateRowRequest request, StreamObserver responseObserver) { + responseObserver.onNext(MutateRowResponse.getDefaultInstance()); + responseObserver.onCompleted(); + } + + @Override + public void mutateRows( + MutateRowsRequest request, StreamObserver responseObserver) { + responseObserver.onNext( + MutateRowsResponse.newBuilder() + .addEntries( + MutateRowsResponse.Entry.newBuilder() + .setIndex(0) + .setStatus(Status.getDefaultInstance())) + .build()); + responseObserver.onCompleted(); + } + + @Override + public void checkAndMutateRow( + CheckAndMutateRowRequest request, + StreamObserver responseObserver) { + responseObserver.onNext(CheckAndMutateRowResponse.getDefaultInstance()); + } + + @Override + public void readModifyWriteRow( + ReadModifyWriteRowRequest request, + StreamObserver responseObserver) { + responseObserver.onNext(ReadModifyWriteRowResponse.getDefaultInstance()); + responseObserver.onCompleted(); + } + } +} diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java deleted file mode 100644 index 85c8254ce3..0000000000 --- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/stub/ResourceHeaderTest.java +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Copyright 2018 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.google.cloud.bigtable.data.v2.stub; - -import static com.google.common.truth.Truth.assertWithMessage; - -import com.google.api.gax.batching.Batcher; -import com.google.api.gax.core.NoCredentialsProvider; -import com.google.api.gax.grpc.testing.InProcessServer; -import com.google.api.gax.grpc.testing.LocalChannelProvider; -import com.google.api.gax.rpc.FixedHeaderProvider; -import com.google.bigtable.v2.BigtableGrpc; -import com.google.cloud.bigtable.data.v2.BigtableDataClient; -import com.google.cloud.bigtable.data.v2.BigtableDataSettings; -import com.google.cloud.bigtable.data.v2.internal.NameUtil; -import com.google.cloud.bigtable.data.v2.models.ConditionalRowMutation; -import com.google.cloud.bigtable.data.v2.models.Mutation; -import com.google.cloud.bigtable.data.v2.models.Query; -import com.google.cloud.bigtable.data.v2.models.ReadModifyWriteRow; -import com.google.cloud.bigtable.data.v2.models.RowMutation; -import com.google.cloud.bigtable.data.v2.models.RowMutationEntry; -import java.util.regex.Pattern; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; - -@RunWith(JUnit4.class) -public class ResourceHeaderTest { - private static final String PROJECT_ID = "fake-project"; - private static final String INSTANCE_ID = "fake-instance"; - private static final String TABLE_ID = "fake-table"; - private static final String TABLE_NAME = - NameUtil.formatTableName(PROJECT_ID, INSTANCE_ID, TABLE_ID); - private static final String APP_PROFILE_ID = "fake-profile"; - - private static final String CHANNEL_NAME = "resource-header-test:123"; - private static final String X_GOOG_REQUEST_PARAMS_KEY = "x-goog-request-params"; - private static final String TEST_HEADER_KEY = "simple-header-name"; - private static final String TEST_HEADER_VALUE = "simple-header-value"; - - private InProcessServer server; - private LocalChannelProvider channelProvider; - private BigtableDataClient client; - - @Before - public void setUp() throws Exception { - server = new InProcessServer<>(new BigtableGrpc.BigtableImplBase() {}, CHANNEL_NAME); - server.start(); - channelProvider = LocalChannelProvider.create(CHANNEL_NAME); - - BigtableDataSettings.Builder settings = - BigtableDataSettings.newBuilder() - .setProjectId(PROJECT_ID) - .setInstanceId(INSTANCE_ID) - .setAppProfileId(APP_PROFILE_ID) - .setCredentialsProvider(NoCredentialsProvider.create()); - - settings - .stubSettings() - .setTransportChannelProvider(channelProvider) - .setHeaderProvider(FixedHeaderProvider.create(TEST_HEADER_KEY, TEST_HEADER_VALUE)); - - // Force immediate flush - settings - .stubSettings() - .bulkMutateRowsSettings() - .setBatchingSettings( - settings - .stubSettings() - .bulkMutateRowsSettings() - .getBatchingSettings() - .toBuilder() - .setElementCountThreshold(1L) - .build()); - - client = BigtableDataClient.create(settings.build()); - } - - @After - public void tearDown() throws Exception { - client.close(); - server.stop(); - server.blockUntilShutdown(); - } - - @Test - public void readRowsTest() { - client.readRows(Query.create(TABLE_ID)); - verifyHeaderSent(); - } - - @Test - public void sampleRowKeysTest() { - client.sampleRowKeysAsync(TABLE_ID); - verifyHeaderSent(); - } - - @Test - public void mutateRowTest() { - client.mutateRowAsync(RowMutation.create(TABLE_ID, "fake-key").deleteRow()); - verifyHeaderSent(); - } - - @Test - public void mutateRowsTest() throws InterruptedException { - try (Batcher batcher = client.newBulkMutationBatcher(TABLE_ID)) { - batcher.add(RowMutationEntry.create("fake-key").deleteRow()); - } catch (RuntimeException e) { - // Ignore the errors: none of the methods are actually implemented - } - verifyHeaderSent(); - } - - @Test - public void checkAndMutateRowTest() { - client.checkAndMutateRowAsync( - ConditionalRowMutation.create(TABLE_ID, "fake-key").then(Mutation.create().deleteRow())); - verifyHeaderSent(); - } - - @Test - public void readModifyWriteTest() { - client.readModifyWriteRowAsync( - ReadModifyWriteRow.create(TABLE_ID, "fake-key").increment("cf", "q", 1)); - verifyHeaderSent(); - } - - private void verifyHeaderSent() { - boolean tableHeaderSent = - channelProvider.isHeaderSent( - X_GOOG_REQUEST_PARAMS_KEY, - Pattern.compile("(^|.*&)table_name=" + TABLE_NAME + "($|&.*)")); - assertWithMessage("Tablename header was sent").that(tableHeaderSent).isTrue(); - - boolean appProfileHeaderSent = - channelProvider.isHeaderSent( - X_GOOG_REQUEST_PARAMS_KEY, - Pattern.compile("(^|.*&)app_profile_id=" + APP_PROFILE_ID + "($|&.*)")); - assertWithMessage("App profile header was sent").that(appProfileHeaderSent).isTrue(); - - boolean testHeader = - channelProvider.isHeaderSent( - TEST_HEADER_KEY, Pattern.compile("^" + TEST_HEADER_VALUE + "$")); - assertWithMessage("HeaderProvider's header received in Channel").that(testHeader).isTrue(); - } -} From 9ea631af54aade5531f5876662be0ec2244b2d76 Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Fri, 8 May 2020 14:42:29 -0400 Subject: [PATCH 5/5] chore: release 1.12.1 (#291) * updated CHANGELOG.md [ci skip] * updated README.md [ci skip] * updated versions.txt [ci skip] * updated samples/pom.xml [ci skip] * updated google-cloud-bigtable-bom/pom.xml [ci skip] * updated google-cloud-bigtable-deps-bom/pom.xml [ci skip] * updated google-cloud-bigtable-emulator/pom.xml [ci skip] * updated google-cloud-bigtable/pom.xml [ci skip] * updated grpc-google-cloud-bigtable-admin-v2/pom.xml [ci skip] * updated grpc-google-cloud-bigtable-v2/pom.xml [ci skip] * updated pom.xml [ci skip] * updated proto-google-cloud-bigtable-admin-v2/pom.xml [ci skip] * updated proto-google-cloud-bigtable-v2/pom.xml [ci skip] * updated samples/snapshot/pom.xml [ci skip] * updated samples/install-without-bom/pom.xml [ci skip] * updated samples/snippets/pom.xml [ci skip] Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 7 +++++++ README.md | 6 +++--- google-cloud-bigtable-bom/pom.xml | 14 +++++++------- google-cloud-bigtable-deps-bom/pom.xml | 2 +- google-cloud-bigtable-emulator/pom.xml | 8 ++++---- google-cloud-bigtable/pom.xml | 8 ++++---- grpc-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- grpc-google-cloud-bigtable-v2/pom.xml | 8 ++++---- pom.xml | 2 +- proto-google-cloud-bigtable-admin-v2/pom.xml | 8 ++++---- proto-google-cloud-bigtable-v2/pom.xml | 8 ++++---- samples/snapshot/pom.xml | 2 +- versions.txt | 12 ++++++------ 13 files changed, 50 insertions(+), 43 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb03f2f7d7..eedad0dee6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +### [1.12.1](https://www.github.com/googleapis/java-bigtable/compare/v1.12.0...v1.12.1) (2020-05-08) + + +### Bug Fixes + +* add missing api-client header ([#290](https://www.github.com/googleapis/java-bigtable/issues/290)) ([656684b](https://www.github.com/googleapis/java-bigtable/commit/656684b7f0fff003bb582977beb828f83da9a135)) + ## [1.12.0](https://www.github.com/googleapis/java-bigtable/compare/v1.11.0...v1.12.0) (2020-05-06) diff --git a/README.md b/README.md index 18f0fb879d..304c50117f 100644 --- a/README.md +++ b/README.md @@ -16,16 +16,16 @@ If you are using Maven, add this to your pom.xml file com.google.cloud google-cloud-bigtable - 1.12.0 + 1.12.1 ``` If you are using Gradle, add this to your dependencies ```Groovy -compile 'com.google.cloud:google-cloud-bigtable:1.12.0' +compile 'com.google.cloud:google-cloud-bigtable:1.12.1' ``` If you are using SBT, add this to your dependencies ```Scala -libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "1.12.0" +libraryDependencies += "com.google.cloud" % "google-cloud-bigtable" % "1.12.1" ``` [//]: # ({x-version-update-end}) diff --git a/google-cloud-bigtable-bom/pom.xml b/google-cloud-bigtable-bom/pom.xml index 7f3d645dac..960add0dd0 100644 --- a/google-cloud-bigtable-bom/pom.xml +++ b/google-cloud-bigtable-bom/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.google.cloud google-cloud-bigtable-bom - 1.12.1-SNAPSHOT + 1.12.1 pom com.google.cloud @@ -72,32 +72,32 @@ com.google.cloud google-cloud-bigtable - 1.12.1-SNAPSHOT + 1.12.1 com.google.cloud google-cloud-bigtable-emulator - 0.121.1-SNAPSHOT + 0.121.1 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 1.12.1-SNAPSHOT + 1.12.1 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 1.12.1-SNAPSHOT + 1.12.1 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 1.12.1-SNAPSHOT + 1.12.1 com.google.api.grpc proto-google-cloud-bigtable-v2 - 1.12.1-SNAPSHOT + 1.12.1 diff --git a/google-cloud-bigtable-deps-bom/pom.xml b/google-cloud-bigtable-deps-bom/pom.xml index 547df1fcd6..65b12c1566 100644 --- a/google-cloud-bigtable-deps-bom/pom.xml +++ b/google-cloud-bigtable-deps-bom/pom.xml @@ -12,7 +12,7 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.1-SNAPSHOT + 1.12.1 pom diff --git a/google-cloud-bigtable-emulator/pom.xml b/google-cloud-bigtable-emulator/pom.xml index 3bccd12ef1..751f6f7587 100644 --- a/google-cloud-bigtable-emulator/pom.xml +++ b/google-cloud-bigtable-emulator/pom.xml @@ -5,7 +5,7 @@ 4.0.0 google-cloud-bigtable-emulator - 0.121.1-SNAPSHOT + 0.121.1 Google Cloud Java - Bigtable Emulator https://github.com/googleapis/java-bigtable @@ -14,7 +14,7 @@ com.google.cloud google-cloud-bigtable-parent - 1.12.1-SNAPSHOT + 1.12.1 scm:git:git@github.com:googleapis/java-bigtable.git @@ -80,14 +80,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import com.google.cloud google-cloud-bigtable-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import diff --git a/google-cloud-bigtable/pom.xml b/google-cloud-bigtable/pom.xml index a6068544a7..a1b4a4295d 100644 --- a/google-cloud-bigtable/pom.xml +++ b/google-cloud-bigtable/pom.xml @@ -2,7 +2,7 @@ 4.0.0 google-cloud-bigtable - 1.12.1-SNAPSHOT + 1.12.1 jar Google Cloud Bigtable https://github.com/googleapis/java-bigtable @@ -12,7 +12,7 @@ com.google.cloud google-cloud-bigtable-parent - 1.12.1-SNAPSHOT + 1.12.1 google-cloud-bigtable @@ -36,14 +36,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import com.google.cloud google-cloud-bigtable-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import diff --git a/grpc-google-cloud-bigtable-admin-v2/pom.xml b/grpc-google-cloud-bigtable-admin-v2/pom.xml index cf6f09fc79..858a94b1e3 100644 --- a/grpc-google-cloud-bigtable-admin-v2/pom.xml +++ b/grpc-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-admin-v2 - 1.12.1-SNAPSHOT + 1.12.1 grpc-google-cloud-bigtable-admin-v2 GRPC library for grpc-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 1.12.1-SNAPSHOT + 1.12.1 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import com.google.cloud google-cloud-bigtable-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import diff --git a/grpc-google-cloud-bigtable-v2/pom.xml b/grpc-google-cloud-bigtable-v2/pom.xml index a9a2d74683..048fcec584 100644 --- a/grpc-google-cloud-bigtable-v2/pom.xml +++ b/grpc-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc grpc-google-cloud-bigtable-v2 - 1.12.1-SNAPSHOT + 1.12.1 grpc-google-cloud-bigtable-v2 GRPC library for grpc-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 1.12.1-SNAPSHOT + 1.12.1 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import com.google.cloud google-cloud-bigtable-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import diff --git a/pom.xml b/pom.xml index ed5f59014b..732a3e38ad 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ google-cloud-bigtable-parent pom - 1.12.1-SNAPSHOT + 1.12.1 Google Cloud Bigtable Parent https://github.com/googleapis/java-bigtable diff --git a/proto-google-cloud-bigtable-admin-v2/pom.xml b/proto-google-cloud-bigtable-admin-v2/pom.xml index 8b550a82e9..0a62738b2c 100644 --- a/proto-google-cloud-bigtable-admin-v2/pom.xml +++ b/proto-google-cloud-bigtable-admin-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-admin-v2 - 1.12.1-SNAPSHOT + 1.12.1 proto-google-cloud-bigtable-admin-v2 PROTO library for proto-google-cloud-bigtable-admin-v2 com.google.cloud google-cloud-bigtable-parent - 1.12.1-SNAPSHOT + 1.12.1 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import com.google.cloud google-cloud-bigtable-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml index 466f8c44f1..40687f3814 100644 --- a/proto-google-cloud-bigtable-v2/pom.xml +++ b/proto-google-cloud-bigtable-v2/pom.xml @@ -4,13 +4,13 @@ 4.0.0 com.google.api.grpc proto-google-cloud-bigtable-v2 - 1.12.1-SNAPSHOT + 1.12.1 proto-google-cloud-bigtable-v2 PROTO library for proto-google-cloud-bigtable-v2 com.google.cloud google-cloud-bigtable-parent - 1.12.1-SNAPSHOT + 1.12.1 @@ -18,14 +18,14 @@ com.google.cloud google-cloud-bigtable-deps-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import com.google.cloud google-cloud-bigtable-bom - 1.12.1-SNAPSHOT + 1.12.1 pom import diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml index c5a967969a..caaca75076 100644 --- a/samples/snapshot/pom.xml +++ b/samples/snapshot/pom.xml @@ -28,7 +28,7 @@ com.google.cloud google-cloud-bigtable - 1.12.1-SNAPSHOT + 1.12.1 diff --git a/versions.txt b/versions.txt index 46963c8822..98597f5770 100644 --- a/versions.txt +++ b/versions.txt @@ -1,9 +1,9 @@ # Format: # module:released-version:current-version -google-cloud-bigtable:1.12.0:1.12.1-SNAPSHOT -grpc-google-cloud-bigtable-admin-v2:1.12.0:1.12.1-SNAPSHOT -grpc-google-cloud-bigtable-v2:1.12.0:1.12.1-SNAPSHOT -proto-google-cloud-bigtable-admin-v2:1.12.0:1.12.1-SNAPSHOT -proto-google-cloud-bigtable-v2:1.12.0:1.12.1-SNAPSHOT -google-cloud-bigtable-emulator:0.121.0:0.121.1-SNAPSHOT +google-cloud-bigtable:1.12.1:1.12.1 +grpc-google-cloud-bigtable-admin-v2:1.12.1:1.12.1 +grpc-google-cloud-bigtable-v2:1.12.1:1.12.1 +proto-google-cloud-bigtable-admin-v2:1.12.1:1.12.1 +proto-google-cloud-bigtable-v2:1.12.1:1.12.1 +google-cloud-bigtable-emulator:0.121.1:0.121.1