diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java index 2b22e2c742..9b894043a2 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/DatabaseAdminSettings.java @@ -73,8 +73,12 @@ * * DatabaseAdminSettings.Builder databaseAdminSettingsBuilder = * DatabaseAdminSettings.newBuilder(); - * databaseAdminSettingsBuilder.getDatabaseSettings().getRetrySettings().toBuilder() - * .setTotalTimeout(Duration.ofSeconds(30)); + * databaseAdminSettingsBuilder + * .getDatabaseSettings() + * .setRetrySettings( + * databaseAdminSettingsBuilder.getDatabaseSettings().getRetrySettings().toBuilder() + * .setTotalTimeout(Duration.ofSeconds(30)) + * .build()); * DatabaseAdminSettings databaseAdminSettings = databaseAdminSettingsBuilder.build(); * * diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java index 68d5edafd7..03cee855cf 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/database/v1/stub/DatabaseAdminStubSettings.java @@ -91,8 +91,12 @@ * * DatabaseAdminStubSettings.Builder databaseAdminSettingsBuilder = * DatabaseAdminStubSettings.newBuilder(); - * databaseAdminSettingsBuilder.getDatabaseSettings().getRetrySettings().toBuilder() - * .setTotalTimeout(Duration.ofSeconds(30)); + * databaseAdminSettingsBuilder + * .getDatabaseSettings() + * .setRetrySettings( + * databaseAdminSettingsBuilder.getDatabaseSettings().getRetrySettings().toBuilder() + * .setTotalTimeout(Duration.ofSeconds(30)) + * .build()); * DatabaseAdminStubSettings databaseAdminSettings = databaseAdminSettingsBuilder.build(); * * diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminSettings.java index 55840ea1db..b64951873c 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminSettings.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/InstanceAdminSettings.java @@ -76,8 +76,12 @@ * * InstanceAdminSettings.Builder instanceAdminSettingsBuilder = * InstanceAdminSettings.newBuilder(); - * instanceAdminSettingsBuilder.getInstanceConfigSettings().getRetrySettings().toBuilder() - * .setTotalTimeout(Duration.ofSeconds(30)); + * instanceAdminSettingsBuilder + * .getInstanceConfigSettings() + * .setRetrySettings( + * instanceAdminSettingsBuilder.getInstanceConfigSettings().getRetrySettings().toBuilder() + * .setTotalTimeout(Duration.ofSeconds(30)) + * .build()); * InstanceAdminSettings instanceAdminSettings = instanceAdminSettingsBuilder.build(); * * diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStubSettings.java index dbd14a9998..c975119498 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStubSettings.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/admin/instance/v1/stub/InstanceAdminStubSettings.java @@ -94,8 +94,12 @@ * * InstanceAdminStubSettings.Builder instanceAdminSettingsBuilder = * InstanceAdminStubSettings.newBuilder(); - * instanceAdminSettingsBuilder.getInstanceConfigSettings().getRetrySettings().toBuilder() - * .setTotalTimeout(Duration.ofSeconds(30)); + * instanceAdminSettingsBuilder + * .getInstanceConfigSettings() + * .setRetrySettings( + * instanceAdminSettingsBuilder.getInstanceConfigSettings().getRetrySettings().toBuilder() + * .setTotalTimeout(Duration.ofSeconds(30)) + * .build()); * InstanceAdminStubSettings instanceAdminSettings = instanceAdminSettingsBuilder.build(); * * diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java index bef4bca84f..ea74dde02e 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java @@ -78,8 +78,12 @@ * * SpannerSettings.Builder spannerSettingsBuilder = * SpannerSettings.newBuilder(); - * spannerSettingsBuilder.createSessionSettings().getRetrySettings().toBuilder() - * .setTotalTimeout(Duration.ofSeconds(30)); + * spannerSettingsBuilder + * .createSessionSettings() + * .setRetrySettings( + * spannerSettingsBuilder.createSessionSettings().getRetrySettings().toBuilder() + * .setTotalTimeout(Duration.ofSeconds(30)) + * .build()); * SpannerSettings spannerSettings = spannerSettingsBuilder.build(); * * diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java index d050d31946..f99372d498 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java @@ -93,8 +93,12 @@ * * SpannerStubSettings.Builder spannerSettingsBuilder = * SpannerStubSettings.newBuilder(); - * spannerSettingsBuilder.createSessionSettings().getRetrySettings().toBuilder() - * .setTotalTimeout(Duration.ofSeconds(30)); + * spannerSettingsBuilder + * .createSessionSettings() + * .setRetrySettings( + * spannerSettingsBuilder.createSessionSettings().getRetrySettings().toBuilder() + * .setTotalTimeout(Duration.ofSeconds(30)) + * .build()); * SpannerStubSettings spannerSettings = spannerSettingsBuilder.build(); * * diff --git a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/v1/SpannerClientTest.java b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/v1/SpannerClientTest.java index ebd8b0aaf6..1977873f96 100644 --- a/google-cloud-spanner/src/test/java/com/google/cloud/spanner/v1/SpannerClientTest.java +++ b/google-cloud-spanner/src/test/java/com/google/cloud/spanner/v1/SpannerClientTest.java @@ -39,6 +39,8 @@ import com.google.spanner.v1.CreateSessionRequest; import com.google.spanner.v1.DatabaseName; import com.google.spanner.v1.DeleteSessionRequest; +import com.google.spanner.v1.ExecuteBatchDmlRequest; +import com.google.spanner.v1.ExecuteBatchDmlResponse; import com.google.spanner.v1.ExecuteSqlRequest; import com.google.spanner.v1.GetSessionRequest; import com.google.spanner.v1.KeySet; @@ -46,12 +48,17 @@ import com.google.spanner.v1.ListSessionsResponse; import com.google.spanner.v1.Mutation; import com.google.spanner.v1.PartialResultSet; +import com.google.spanner.v1.PartitionQueryRequest; +import com.google.spanner.v1.PartitionReadRequest; +import com.google.spanner.v1.PartitionResponse; import com.google.spanner.v1.ReadRequest; +import com.google.spanner.v1.ResultSet; import com.google.spanner.v1.RollbackRequest; import com.google.spanner.v1.Session; import com.google.spanner.v1.SessionName; import com.google.spanner.v1.Transaction; import com.google.spanner.v1.TransactionOptions; +import com.google.spanner.v1.TransactionSelector; import io.grpc.Status; import io.grpc.StatusRuntimeException; import java.io.IOException; @@ -309,6 +316,51 @@ public void deleteSessionExceptionTest() throws Exception { } } + @Test + @SuppressWarnings("all") + public void executeSqlTest() { + ResultSet expectedResponse = ResultSet.newBuilder().build(); + mockSpanner.addResponse(expectedResponse); + + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + String sql = "sql114126"; + ExecuteSqlRequest request = + ExecuteSqlRequest.newBuilder().setSession(session.toString()).setSql(sql).build(); + + ResultSet actualResponse = client.executeSql(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockSpanner.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ExecuteSqlRequest actualRequest = (ExecuteSqlRequest) actualRequests.get(0); + + Assert.assertEquals(session, SessionName.parse(actualRequest.getSession())); + Assert.assertEquals(sql, actualRequest.getSql()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void executeSqlExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockSpanner.addException(exception); + + try { + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + String sql = "sql114126"; + ExecuteSqlRequest request = + ExecuteSqlRequest.newBuilder().setSession(session.toString()).setSql(sql).build(); + + client.executeSql(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception + } + } + @Test @SuppressWarnings("all") public void executeStreamingSqlTest() throws Exception { @@ -362,6 +414,128 @@ public void executeStreamingSqlExceptionTest() throws Exception { } } + @Test + @SuppressWarnings("all") + public void executeBatchDmlTest() { + ExecuteBatchDmlResponse expectedResponse = ExecuteBatchDmlResponse.newBuilder().build(); + mockSpanner.addResponse(expectedResponse); + + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + TransactionSelector transaction = TransactionSelector.newBuilder().build(); + List statements = new ArrayList<>(); + long seqno = 109325920L; + ExecuteBatchDmlRequest request = + ExecuteBatchDmlRequest.newBuilder() + .setSession(session.toString()) + .setTransaction(transaction) + .addAllStatements(statements) + .setSeqno(seqno) + .build(); + + ExecuteBatchDmlResponse actualResponse = client.executeBatchDml(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockSpanner.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ExecuteBatchDmlRequest actualRequest = (ExecuteBatchDmlRequest) actualRequests.get(0); + + Assert.assertEquals(session, SessionName.parse(actualRequest.getSession())); + Assert.assertEquals(transaction, actualRequest.getTransaction()); + Assert.assertEquals(statements, actualRequest.getStatementsList()); + Assert.assertEquals(seqno, actualRequest.getSeqno()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void executeBatchDmlExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockSpanner.addException(exception); + + try { + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + TransactionSelector transaction = TransactionSelector.newBuilder().build(); + List statements = new ArrayList<>(); + long seqno = 109325920L; + ExecuteBatchDmlRequest request = + ExecuteBatchDmlRequest.newBuilder() + .setSession(session.toString()) + .setTransaction(transaction) + .addAllStatements(statements) + .setSeqno(seqno) + .build(); + + client.executeBatchDml(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception + } + } + + @Test + @SuppressWarnings("all") + public void readTest() { + ResultSet expectedResponse = ResultSet.newBuilder().build(); + mockSpanner.addResponse(expectedResponse); + + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + String table = "table110115790"; + List columns = new ArrayList<>(); + KeySet keySet = KeySet.newBuilder().build(); + ReadRequest request = + ReadRequest.newBuilder() + .setSession(session.toString()) + .setTable(table) + .addAllColumns(columns) + .setKeySet(keySet) + .build(); + + ResultSet actualResponse = client.read(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockSpanner.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ReadRequest actualRequest = (ReadRequest) actualRequests.get(0); + + Assert.assertEquals(session, SessionName.parse(actualRequest.getSession())); + Assert.assertEquals(table, actualRequest.getTable()); + Assert.assertEquals(columns, actualRequest.getColumnsList()); + Assert.assertEquals(keySet, actualRequest.getKeySet()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void readExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockSpanner.addException(exception); + + try { + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + String table = "table110115790"; + List columns = new ArrayList<>(); + KeySet keySet = KeySet.newBuilder().build(); + ReadRequest request = + ReadRequest.newBuilder() + .setSession(session.toString()) + .setTable(table) + .addAllColumns(columns) + .setKeySet(keySet) + .build(); + + client.read(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception + } + } + @Test @SuppressWarnings("all") public void streamingReadTest() throws Exception { @@ -598,4 +772,105 @@ public void rollbackExceptionTest() throws Exception { // Expected exception } } + + @Test + @SuppressWarnings("all") + public void partitionQueryTest() { + PartitionResponse expectedResponse = PartitionResponse.newBuilder().build(); + mockSpanner.addResponse(expectedResponse); + + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + String sql = "sql114126"; + PartitionQueryRequest request = + PartitionQueryRequest.newBuilder().setSession(session.toString()).setSql(sql).build(); + + PartitionResponse actualResponse = client.partitionQuery(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockSpanner.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + PartitionQueryRequest actualRequest = (PartitionQueryRequest) actualRequests.get(0); + + Assert.assertEquals(session, SessionName.parse(actualRequest.getSession())); + Assert.assertEquals(sql, actualRequest.getSql()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void partitionQueryExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockSpanner.addException(exception); + + try { + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + String sql = "sql114126"; + PartitionQueryRequest request = + PartitionQueryRequest.newBuilder().setSession(session.toString()).setSql(sql).build(); + + client.partitionQuery(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception + } + } + + @Test + @SuppressWarnings("all") + public void partitionReadTest() { + PartitionResponse expectedResponse = PartitionResponse.newBuilder().build(); + mockSpanner.addResponse(expectedResponse); + + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + String table = "table110115790"; + KeySet keySet = KeySet.newBuilder().build(); + PartitionReadRequest request = + PartitionReadRequest.newBuilder() + .setSession(session.toString()) + .setTable(table) + .setKeySet(keySet) + .build(); + + PartitionResponse actualResponse = client.partitionRead(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockSpanner.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + PartitionReadRequest actualRequest = (PartitionReadRequest) actualRequests.get(0); + + Assert.assertEquals(session, SessionName.parse(actualRequest.getSession())); + Assert.assertEquals(table, actualRequest.getTable()); + Assert.assertEquals(keySet, actualRequest.getKeySet()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void partitionReadExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockSpanner.addException(exception); + + try { + SessionName session = SessionName.of("[PROJECT]", "[INSTANCE]", "[DATABASE]", "[SESSION]"); + String table = "table110115790"; + KeySet keySet = KeySet.newBuilder().build(); + PartitionReadRequest request = + PartitionReadRequest.newBuilder() + .setSession(session.toString()) + .setTable(table) + .setKeySet(keySet) + .build(); + + client.partitionRead(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception + } + } } diff --git a/synth.metadata b/synth.metadata index 167871408b..01b64c8280 100644 --- a/synth.metadata +++ b/synth.metadata @@ -1,27 +1,27 @@ { - "updateTime": "2020-02-01T09:01:40.301859Z", + "updateTime": "2020-02-08T10:06:03.286614Z", "sources": [ { "generator": { "name": "artman", - "version": "0.44.4", - "dockerImage": "googleapis/artman@sha256:19e945954fc960a4bdfee6cb34695898ab21a8cf0bac063ee39b91f00a1faec8" + "version": "0.45.0", + "dockerImage": "googleapis/artman@sha256:6aec9c34db0e4be221cdaf6faba27bdc07cfea846808b3d3b964dfce3a9a0f9b" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "b5cbe4a4ba64ab19e6627573ff52057a1657773d", - "internalRef": "292647187", - "log": "b5cbe4a4ba64ab19e6627573ff52057a1657773d\nSecurityCenter v1p1beta1: move file-level option on top to workaround protobuf.js bug.\n\nPiperOrigin-RevId: 292647187\n\nb224b317bf20c6a4fbc5030b4a969c3147f27ad3\nAdds API definitions for bigqueryreservation v1beta1.\n\nPiperOrigin-RevId: 292634722\n\nc1468702f9b17e20dd59007c0804a089b83197d2\nSynchronize new proto/yaml changes.\n\nPiperOrigin-RevId: 292626173\n\nffdfa4f55ab2f0afc11d0eb68f125ccbd5e404bd\nvision: v1p3beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605599\n\n78f61482cd028fc1d9892aa5d89d768666a954cd\nvision: v1p1beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292605125\n\n60bb5a294a604fd1778c7ec87b265d13a7106171\nvision: v1p2beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604980\n\n3bcf7aa79d45eb9ec29ab9036e9359ea325a7fc3\nvision: v1p4beta1 publish annotations and retry config\n\nPiperOrigin-RevId: 292604656\n\n2717b8a1c762b26911b45ecc2e4ee01d98401b28\nFix dataproc artman client library generation.\n\nPiperOrigin-RevId: 292555664\n\n" + "sha": "e7d8a694f4559201e6913f6610069cb08b39274e", + "internalRef": "293903652", + "log": "e7d8a694f4559201e6913f6610069cb08b39274e\nDepend on the latest gapic-generator and resource names plugin.\n\nThis fixes the very old an very annoying bug: https://github.com/googleapis/gapic-generator/pull/3087\n\nPiperOrigin-RevId: 293903652\n\n806b2854a966d55374ee26bb0cef4e30eda17b58\nfix: correct capitalization of Ruby namespaces in SecurityCenter V1p1beta1\n\nPiperOrigin-RevId: 293903613\n\n1b83c92462b14d67a7644e2980f723112472e03a\nPublish annotations and grpc service config for Logging API.\n\nPiperOrigin-RevId: 293893514\n\ne46f761cd6ec15a9e3d5ed4ff321a4bcba8e8585\nGenerate the Bazel build file for recommendengine public api\n\nPiperOrigin-RevId: 293710856\n\n68477017c4173c98addac0373950c6aa9d7b375f\nMake `language_code` optional for UpdateIntentRequest and BatchUpdateIntentsRequest.\n\nThe comments and proto annotations describe this parameter as optional.\n\nPiperOrigin-RevId: 293703548\n\n16f823f578bca4e845a19b88bb9bc5870ea71ab2\nAdd BUILD.bazel files for managedidentities API\n\nPiperOrigin-RevId: 293698246\n\n2f53fd8178c9a9de4ad10fae8dd17a7ba36133f2\nAdd v1p1beta1 config file\n\nPiperOrigin-RevId: 293696729\n\n052b274138fce2be80f97b6dcb83ab343c7c8812\nAdd source field for user event and add field behavior annotations\n\nPiperOrigin-RevId: 293693115\n\n1e89732b2d69151b1b3418fff3d4cc0434f0dded\ndatacatalog: v1beta1 add three new RPCs to gapic v1beta1 config\n\nPiperOrigin-RevId: 293692823\n\n9c8bd09bbdc7c4160a44f1fbab279b73cd7a2337\nchange the name of AccessApproval service to AccessApprovalAdmin\n\nPiperOrigin-RevId: 293690934\n\n2e23b8fbc45f5d9e200572ca662fe1271bcd6760\nAdd ListEntryGroups method, add http bindings to support entry group tagging, and update some comments.\n\nPiperOrigin-RevId: 293666452\n\n0275e38a4ca03a13d3f47a9613aac8c8b0d3f1f2\nAdd proto_package field to managedidentities API. It is needed for APIs that still depend on artman generation.\n\nPiperOrigin-RevId: 293643323\n\n4cdfe8278cb6f308106580d70648001c9146e759\nRegenerating public protos for Data Catalog to add new Custom Type Entry feature.\n\nPiperOrigin-RevId: 293614782\n\n45d2a569ab526a1fad3720f95eefb1c7330eaada\nEnable client generation for v1 ManagedIdentities API.\n\nPiperOrigin-RevId: 293515675\n\n2c17086b77e6f3bcf04a1f65758dfb0c3da1568f\nAdd the Actions on Google common types (//google/actions/type/*).\n\nPiperOrigin-RevId: 293478245\n\n781aadb932e64a12fb6ead7cd842698d99588433\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293443396\n\ne2602608c9138c2fca24162720e67f9307c30b95\nDialogflow weekly v2/v2beta1 library update:\n- Documentation updates\nImportant updates are also posted at\nhttps://cloud.google.com/dialogflow/docs/release-notes\n\nPiperOrigin-RevId: 293442964\n\nc8aef82028d06b7992278fa9294c18570dc86c3d\nAdd cc_proto_library and cc_grpc_library targets for Bigtable protos.\n\nAlso fix indentation of cc_grpc_library targets in Spanner and IAM protos.\n\nPiperOrigin-RevId: 293440538\n\ne2faab04f4cb7f9755072330866689b1943a16e9\ncloudtasks: v2 replace non-standard retry params in gapic config v2\n\nPiperOrigin-RevId: 293424055\n\ndfb4097ea628a8470292c6590a4313aee0c675bd\nerrorreporting: v1beta1 add legacy artman config for php\n\nPiperOrigin-RevId: 293423790\n\nb18aed55b45bfe5b62476292c72759e6c3e573c6\nasset: v1p1beta1 updated comment for `page_size` limit.\n\nPiperOrigin-RevId: 293421386\n\nc9ef36b7956d9859a2fc86ad35fcaa16958ab44f\nbazel: Refactor CI build scripts\n\nPiperOrigin-RevId: 293387911\n\na8ed9d921fdddc61d8467bfd7c1668f0ad90435c\nfix: set Ruby module name for OrgPolicy\n\nPiperOrigin-RevId: 293257997\n\n6c7d28509bd8315de8af0889688ee20099594269\nredis: v1beta1 add UpgradeInstance and connect_mode field to Instance\n\nPiperOrigin-RevId: 293242878\n\nae0abed4fcb4c21f5cb67a82349a049524c4ef68\nredis: v1 add connect_mode field to Instance\n\nPiperOrigin-RevId: 293241914\n\n3f7a0d29b28ee9365771da2b66edf7fa2b4e9c56\nAdds service config definition for bigqueryreservation v1beta1\n\nPiperOrigin-RevId: 293234418\n\n0c88168d5ed6fe353a8cf8cbdc6bf084f6bb66a5\naddition of BUILD & configuration for accessapproval v1\n\nPiperOrigin-RevId: 293219198\n\n39bedc2e30f4778ce81193f6ba1fec56107bcfc4\naccessapproval: v1 publish protos\n\nPiperOrigin-RevId: 293167048\n\n69d9945330a5721cd679f17331a78850e2618226\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080182\n\nf6a1a6b417f39694275ca286110bc3c1ca4db0dc\nAdd file-level `Session` resource definition\n\nPiperOrigin-RevId: 293080178\n\n29d40b78e3dc1579b0b209463fbcb76e5767f72a\nExpose managedidentities/v1beta1/ API for client library usage.\n\nPiperOrigin-RevId: 292979741\n\na22129a1fb6e18056d576dfb7717aef74b63734a\nExpose managedidentities/v1/ API for client library usage.\n\nPiperOrigin-RevId: 292968186\n\n" } }, { "template": { "name": "java_library", "origin": "synthtool.gcp", - "version": "2019.10.17" + "version": "2020.2.4" } } ],