diff --git a/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ErrorGroupServiceClientTest.java b/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ErrorGroupServiceClientTest.java index f36aefdcb516..dc0f7a6d6d5f 100644 --- a/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ErrorGroupServiceClientTest.java +++ b/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ErrorGroupServiceClientTest.java @@ -100,7 +100,7 @@ public void getGroupTest() { @Test @SuppressWarnings("all") public void getGroupExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockErrorGroupService.addException(exception); try { @@ -109,7 +109,7 @@ public void getGroupExceptionTest() throws Exception { client.getGroup(groupName); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -137,7 +137,7 @@ public void updateGroupTest() { @Test @SuppressWarnings("all") public void updateGroupExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockErrorGroupService.addException(exception); try { @@ -146,7 +146,7 @@ public void updateGroupExceptionTest() throws Exception { client.updateGroup(group); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ErrorStatsServiceClientTest.java b/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ErrorStatsServiceClientTest.java index 5d99dedf092f..76b3f535a433 100644 --- a/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ErrorStatsServiceClientTest.java +++ b/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ErrorStatsServiceClientTest.java @@ -119,7 +119,7 @@ public void listGroupStatsTest() { @Test @SuppressWarnings("all") public void listGroupStatsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockErrorStatsService.addException(exception); try { @@ -129,7 +129,7 @@ public void listGroupStatsExceptionTest() throws Exception { client.listGroupStats(projectName, timeRange); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -166,7 +166,7 @@ public void listEventsTest() { @Test @SuppressWarnings("all") public void listEventsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockErrorStatsService.addException(exception); try { @@ -176,7 +176,7 @@ public void listEventsExceptionTest() throws Exception { client.listEvents(projectName, groupId); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -201,7 +201,7 @@ public void deleteEventsTest() { @Test @SuppressWarnings("all") public void deleteEventsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockErrorStatsService.addException(exception); try { @@ -210,7 +210,7 @@ public void deleteEventsExceptionTest() throws Exception { client.deleteEvents(projectName); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ReportErrorsServiceClientTest.java b/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ReportErrorsServiceClientTest.java index edf2da22c398..93a5d3524b58 100644 --- a/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ReportErrorsServiceClientTest.java +++ b/google-cloud-errorreporting/src/test/java/com/google/cloud/errorreporting/spi/v1beta1/ReportErrorsServiceClientTest.java @@ -99,7 +99,7 @@ public void reportErrorEventTest() { @Test @SuppressWarnings("all") public void reportErrorEventExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockReportErrorsService.addException(exception); try { @@ -109,7 +109,7 @@ public void reportErrorEventExceptionTest() throws Exception { client.reportErrorEvent(projectName, event); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/PubSubExample.java b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/PubSubExample.java index 4e4b2b4d83a6..ff71bafd9619 100644 --- a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/PubSubExample.java +++ b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/PubSubExample.java @@ -180,12 +180,12 @@ Void parse(String... args) throws Exception { private static class ListTopicsAction extends NoArgsAction { @Override public void run(Void arg) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { ListTopicsRequest listTopicsRequest = ListTopicsRequest.newBuilder() .setProjectWithProjectName(ProjectName.create(projectId)) .build(); - PagedResponseWrappers.ListTopicsPagedResponse response = publisherClient.listTopics(listTopicsRequest); + PagedResponseWrappers.ListTopicsPagedResponse response = topicAdminClient.listTopics(listTopicsRequest); Iterable topics = response.iterateAllElements(); for (Topic topic : topics) { System.out.println(topic.getName()); @@ -220,8 +220,8 @@ public String params() { private static class TopicRetrievalAction extends TopicAction { @Override public void run(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { - Topic topic = publisherClient.getTopic(TopicName.create(projectId, topicId)); + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { + Topic topic = topicAdminClient.getTopic(TopicName.create(projectId, topicId)); System.out.printf("Topic : %s%n", topic); } } @@ -235,9 +235,9 @@ public void run(String topicId) throws Exception { private static class CreateTopicAction extends TopicAction { @Override public void run(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { TopicName topicName = TopicName.create(projectId, topicId); - Topic topic = publisherClient.createTopic(topicName); + Topic topic = topicAdminClient.createTopic(topicName); System.out.printf("Created topic %s%n", topic.getName()); } } @@ -251,8 +251,8 @@ public void run(String topicId) throws Exception { private static class DeleteTopicAction extends TopicAction { @Override public void run(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { - publisherClient.deleteTopic(TopicName.create(projectId, topicId)); + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { + topicAdminClient.deleteTopic(TopicName.create(projectId, topicId)); System.out.printf("Deleted topic %s%n", topicId); } } @@ -267,18 +267,18 @@ private static class ListSubscriptionsAction extends PubSubAction { @Override public void run(String topic) throws Exception { if (topic == null) { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { PagedResponseWrappers.ListSubscriptionsPagedResponse response = - subscriberClient.listSubscriptions(ProjectName.create(projectId)); + subscriptionAdminClient.listSubscriptions(ProjectName.create(projectId)); Iterable subscriptions = response.iterateAllElements(); for (Subscription subscription : subscriptions) { System.out.println(subscription.getName()); } } } else { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { PagedResponseWrappers.ListTopicSubscriptionsPagedResponse response = - publisherClient.listTopicSubscriptions(TopicName.create(projectId, topic)); + topicAdminClient.listTopicSubscriptions(TopicName.create(projectId, topic)); Iterable subscriptionNames = response.iterateAllElements(); for (String subscriptionName : subscriptionNames) { System.out.println(subscriptionName); @@ -379,8 +379,8 @@ public String params() { private static class SubscriptionInfoAction extends SubscriptionAction { @Override public void run(String subscriptionId) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - Subscription subscription = subscriberClient.getSubscription( + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + Subscription subscription = subscriptionAdminClient.getSubscription( SubscriptionName.create(projectId, subscriptionId)); System.out.printf("Subscription info: %s%n", subscription.getName()); } @@ -400,8 +400,8 @@ public void run(Tuple, PushConfig> subscripti TopicName topicName = nameTuple.x(); SubscriptionName subscriptionName = nameTuple.y(); PushConfig pushConfig = subscriptionParams.y(); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - Subscription subscription = subscriberClient.createSubscription( + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + Subscription subscription = subscriptionAdminClient.createSubscription( subscriptionName, topicName, pushConfig, 60); System.out.printf("Created subscription %s%n", subscription.getName()); } @@ -438,8 +438,8 @@ public String params() { private static class DeleteSubscriptionAction extends SubscriptionAction { @Override public void run(String subscriptionId) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - subscriberClient.deleteSubscription(SubscriptionName.create(projectId, subscriptionId)); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + subscriptionAdminClient.deleteSubscription(SubscriptionName.create(projectId, subscriptionId)); System.out.printf("Deleted subscription %s%n", subscriptionId); } } @@ -458,8 +458,8 @@ private static class ReplacePushConfigAction extends public void run(Tuple params) throws Exception { SubscriptionName subscriptionName = params.x(); PushConfig pushConfig = params.y(); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - subscriberClient.modifyPushConfig(subscriptionName, pushConfig); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + subscriptionAdminClient.modifyPushConfig(subscriptionName, pushConfig); } System.out.printf("Set push config %s for subscription %s%n", pushConfig, subscriptionName); } @@ -515,8 +515,8 @@ private static class AckMessagesAction extends MessagesAction { public void run(Tuple> params) throws Exception { SubscriptionName subscriptionName = params.x(); List ackIds = params.y(); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - subscriberClient.acknowledge(subscriptionName, ackIds); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + subscriptionAdminClient.acknowledge(subscriptionName, ackIds); } System.out.printf("Acked %d messages for subscription %s%n", ackIds.size(), subscriptionName); } @@ -534,8 +534,8 @@ private static class NackMessagesAction extends MessagesAction { public void run(Tuple> params) throws Exception { SubscriptionName subscriptionName = params.x(); List ackIds = params.y(); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - subscriberClient.modifyAckDeadline(subscriptionName, ackIds, 0); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + subscriptionAdminClient.modifyAckDeadline(subscriptionName, ackIds, 0); } System.out.printf("Nacked %d messages for subscription %s%n", ackIds.size(), subscriptionName); } @@ -576,8 +576,8 @@ public void run(Tuple> params) SubscriptionName subscriptionName = params.x().subscriptionName(); int deadline = params.x().deadlineMillis(); List ackIds = params.y(); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - subscriberClient.modifyAckDeadline(subscriptionName, ackIds, deadline); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + subscriptionAdminClient.modifyAckDeadline(subscriptionName, ackIds, deadline); } System.out.printf("Ack deadline set to %d seconds for %d messages in subscription %s%n", deadline, ackIds.size(), subscriptionName); @@ -680,12 +680,12 @@ public void run(Tuple params) throws Exception { SubscriptionName subscriptionName = params.x(); Integer maxMessages = params.y(); AtomicInteger messageCount = new AtomicInteger(); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - PullResponse response = subscriberClient.pull(subscriptionName, true, maxMessages); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + PullResponse response = subscriptionAdminClient.pull(subscriptionName, true, maxMessages); for (ReceivedMessage message : response.getReceivedMessagesList()) { // do something with message, then ack or nack System.out.printf("Received message \"%s\"%n", message); - subscriberClient.acknowledge( + subscriptionAdminClient.acknowledge( subscriptionName, Collections.singletonList(message.getAckId())); messageCount.incrementAndGet(); } @@ -743,8 +743,8 @@ private static class GetTopicPolicyAction extends GetPolicyAction { @Override public void run(String topicId) throws Exception { TopicName topicName = TopicName.create(projectId, topicId); - try (PublisherClient publisherClient = PublisherClient.create()) { - Policy policy = publisherClient.getIamPolicy(topicName.toString()); + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { + Policy policy = topicAdminClient.getIamPolicy(topicName.toString()); System.out.printf("Policy for topic %s%n", topicId); System.out.println(policy); } @@ -760,8 +760,8 @@ private static class GetSubscriptionPolicyAction extends GetPolicyAction { @Override public void run(String subscription) throws Exception { SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscription); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - Policy policy = subscriberClient.getIamPolicy(subscriptionName.toString()); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + Policy policy = subscriptionAdminClient.getIamPolicy(subscriptionName.toString()); System.out.printf("Policy for subscription %s%n", subscription); System.out.println(policy); } @@ -810,11 +810,11 @@ public void run(Tuple> param) throws Exception { .addMembers(identity.toString()) .build(); //Update policy - try (PublisherClient publisherClient = PublisherClient.create()) { - Policy policy = publisherClient.getIamPolicy(topicName.toString()); + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { + Policy policy = topicAdminClient.getIamPolicy(topicName.toString()); //Update policy Policy updatedPolicy = policy.toBuilder().addBindings(binding).build(); - updatedPolicy = publisherClient.setIamPolicy(topicName.toString(), updatedPolicy); + updatedPolicy = topicAdminClient.setIamPolicy(topicName.toString(), updatedPolicy); System.out.printf("Added role %s to identity %s for topic %s%n", role, identity, topicName); System.out.println(updatedPolicy); } @@ -840,12 +840,12 @@ public void run(Tuple> param) throws Exception { .addMembers(identity.toString()) .build(); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - Policy policy = subscriberClient.getIamPolicy(subscriptionName.toString()); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + Policy policy = subscriptionAdminClient.getIamPolicy(subscriptionName.toString()); //Update policy Policy updatedPolicy = policy.toBuilder().addBindings(binding).build(); - updatedPolicy = subscriberClient.setIamPolicy(subscriptionName.toString(), updatedPolicy); + updatedPolicy = subscriptionAdminClient.setIamPolicy(subscriptionName.toString(), updatedPolicy); System.out.printf("Added role %s to identity %s for subscription %s%n", role, identity, subscriptionName); System.out.println(updatedPolicy); @@ -879,9 +879,9 @@ private static class TestTopicPermissionsAction extends TestPermissionsAction { public void run(Tuple> param) throws Exception { TopicName topicName = TopicName.create(projectId, param.x()); List permissions = param.y(); - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { TestIamPermissionsResponse response = - publisherClient.testIamPermissions(topicName.toString(), permissions); + topicAdminClient.testIamPermissions(topicName.toString(), permissions); System.out.println("Topic permissions test : "); Set actualPermissions = new HashSet<>(); actualPermissions.addAll(response.getPermissionsList()); @@ -903,9 +903,9 @@ private static class TestSubscriptionPermissionsAction extends TestPermissionsAc public void run(Tuple> param) throws Exception { SubscriptionName subscriptionName = SubscriptionName.create(projectId, param.x()); List permissions = param.y(); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { TestIamPermissionsResponse response = - subscriberClient.testIamPermissions(subscriptionName.toString(), + subscriptionAdminClient.testIamPermissions(subscriptionName.toString(), permissions); System.out.println("Subscription permissions test : "); Set actualPermissions = new HashSet<>(); diff --git a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateSubscriptionAndPullMessages.java b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateSubscriptionAndPullMessages.java index 531de1cc7fbf..d61d8f2c6bbc 100644 --- a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateSubscriptionAndPullMessages.java +++ b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateSubscriptionAndPullMessages.java @@ -20,7 +20,7 @@ import com.google.cloud.pubsub.spi.v1.AckReplyConsumer; import com.google.cloud.pubsub.spi.v1.MessageReceiver; import com.google.cloud.pubsub.spi.v1.Subscriber; -import com.google.cloud.pubsub.spi.v1.SubscriberClient; +import com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient; import com.google.common.util.concurrent.MoreExecutors; import com.google.pubsub.v1.PubsubMessage; import com.google.pubsub.v1.PushConfig; @@ -37,8 +37,8 @@ public static void main(String... args) throws Exception { TopicName topic = TopicName.create("test-project", "test-topic"); SubscriptionName subscription = SubscriptionName.create("test-project", "test-subscription"); - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - subscriberClient.createSubscription(subscription, topic, PushConfig.getDefaultInstance(), 0); + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + subscriptionAdminClient.createSubscription(subscription, topic, PushConfig.getDefaultInstance(), 0); } MessageReceiver receiver = diff --git a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateTopicAndPublishMessages.java b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateTopicAndPublishMessages.java index 43c55005a7be..c22428be8931 100644 --- a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateTopicAndPublishMessages.java +++ b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/CreateTopicAndPublishMessages.java @@ -18,7 +18,7 @@ import com.google.api.gax.core.ApiFuture; import com.google.cloud.pubsub.spi.v1.Publisher; -import com.google.cloud.pubsub.spi.v1.PublisherClient; +import com.google.cloud.pubsub.spi.v1.TopicAdminClient; import com.google.protobuf.ByteString; import com.google.pubsub.v1.PubsubMessage; import com.google.pubsub.v1.TopicName; @@ -33,8 +33,8 @@ public class CreateTopicAndPublishMessages { public static void main(String... args) throws Exception { TopicName topic = TopicName.create("test-project", "test-topic"); - try (PublisherClient publisherClient = PublisherClient.create()) { - publisherClient.createTopic(topic); + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { + topicAdminClient.createTopic(topic); } Publisher publisher = null; diff --git a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/SubscriberClientSnippets.java b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/SubscriptionAdminClientSnippets.java similarity index 75% rename from google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/SubscriberClientSnippets.java rename to google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/SubscriptionAdminClientSnippets.java index bee70a1a118b..9af97c4e4d2f 100644 --- a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/SubscriberClientSnippets.java +++ b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/SubscriptionAdminClientSnippets.java @@ -14,7 +14,7 @@ * limitations under the License. */ -/** This class contains snippets for the {@link SubscriberClient} interface. */ +/** This class contains snippets for the {@link SubscriptionAdminClient} interface. */ package com.google.cloud.examples.pubsub.snippets; @@ -22,8 +22,8 @@ import com.google.cloud.Role; import com.google.cloud.ServiceOptions; import com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListSubscriptionsPagedResponse; -import com.google.cloud.pubsub.spi.v1.PublisherClient; -import com.google.cloud.pubsub.spi.v1.SubscriberClient; +import com.google.cloud.pubsub.spi.v1.TopicAdminClient; +import com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient; import com.google.iam.v1.Binding; import com.google.iam.v1.Policy; import com.google.iam.v1.TestIamPermissionsResponse; @@ -39,12 +39,12 @@ import java.util.LinkedList; import java.util.List; -/** This class contains a number of snippets for the {@link SubscriberClient} interface. */ -public class SubscriberClientSnippets { +/** This class contains a number of snippets for the {@link SubscriptionAdminClient} interface. */ +public class SubscriptionAdminClientSnippets { private final String projectId; - public SubscriberClientSnippets() { + public SubscriptionAdminClientSnippets() { this.projectId = ServiceOptions.getDefaultProjectId(); } @@ -54,13 +54,13 @@ public String getProjectId() { /** Example of creating a pull subscription for a topic. */ public Subscription createSubscription(String topic, String subscriptionId) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { // [START createSubscription] TopicName topicName = TopicName.create(projectId, topic); SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId); Subscription subscription = - subscriberClient.createSubscription( + subscriptionAdminClient.createSubscription( subscriptionName, topicName, PushConfig.getDefaultInstance(), 0); // [END createSubscription] return subscription; @@ -69,13 +69,13 @@ public Subscription createSubscription(String topic, String subscriptionId) thro /** Example of pulling a maximum number of messages from a subscription. */ public PullResponse pull(String subscriptionId) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { // [START pull] SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId); - PullResponse response = subscriberClient.pull(subscriptionName, true, 100); + PullResponse response = subscriptionAdminClient.pull(subscriptionName, true, 100); for (ReceivedMessage message : response.getReceivedMessagesList()) { // do something with message, then ack or nack - subscriberClient.acknowledge( + subscriptionAdminClient.acknowledge( subscriptionName, Collections.singletonList(message.getAckId())); } // [END pull] @@ -85,25 +85,25 @@ public PullResponse pull(String subscriptionId) throws Exception { /** Example of replacing the push configuration of a subscription, setting the push endpoint. */ public void replacePushConfig(String subscriptionId, String endpoint) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { // [START replacePushConfig] SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId); PushConfig pushConfig = PushConfig.newBuilder().setPushEndpoint(endpoint).build(); - subscriberClient.modifyPushConfig(subscriptionName, pushConfig); + subscriptionAdminClient.modifyPushConfig(subscriptionName, pushConfig); // [END replacePushConfig] } } /** Example of listing subscriptions. */ public ListSubscriptionsPagedResponse listSubscriptions() throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { // [START listSubscriptions] ListSubscriptionsRequest listSubscriptionsRequest = ListSubscriptionsRequest.newBuilder() .setProjectWithProjectName(ProjectName.create(projectId)) .build(); ListSubscriptionsPagedResponse response = - subscriberClient.listSubscriptions(listSubscriptionsRequest); + subscriptionAdminClient.listSubscriptions(listSubscriptionsRequest); Iterable subscriptions = response.iterateAllElements(); for (Subscription subscription : subscriptions) { // do something with the subscription @@ -115,10 +115,10 @@ public ListSubscriptionsPagedResponse listSubscriptions() throws Exception { /** Example of deleting a subscription. */ public SubscriptionName deleteSubscription(String subscriptionId) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { // [START deleteSubscription] SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId); - subscriberClient.deleteSubscription(subscriptionName); + subscriptionAdminClient.deleteSubscription(subscriptionName); // [END deleteSubscription] return subscriptionName; } @@ -126,10 +126,10 @@ public SubscriptionName deleteSubscription(String subscriptionId) throws Excepti /** Example of getting a subscription policy. */ public Policy getSubscriptionPolicy(String subscriptionId) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { // [START getSubscriptionPolicy] SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId); - Policy policy = subscriberClient.getIamPolicy(subscriptionName.toString()); + Policy policy = subscriptionAdminClient.getIamPolicy(subscriptionName.toString()); if (policy == null) { // subscription was not found } @@ -140,10 +140,10 @@ public Policy getSubscriptionPolicy(String subscriptionId) throws Exception { /** Example of replacing a subscription policy. */ public Policy replaceSubscriptionPolicy(String subscriptionId) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { // [START replaceSubscriptionPolicy] SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId); - Policy policy = subscriberClient.getIamPolicy(subscriptionName.toString()); + Policy policy = subscriptionAdminClient.getIamPolicy(subscriptionName.toString()); // Create a role => members binding Binding binding = Binding.newBuilder() @@ -153,7 +153,7 @@ public Policy replaceSubscriptionPolicy(String subscriptionId) throws Exception //Update policy Policy updatedPolicy = policy.toBuilder().addBindings(binding).build(); - updatedPolicy = subscriberClient.setIamPolicy(subscriptionName.toString(), updatedPolicy); + updatedPolicy = subscriptionAdminClient.setIamPolicy(subscriptionName.toString(), updatedPolicy); // [END replaceSubscriptionPolicy] return updatedPolicy; } @@ -162,13 +162,13 @@ public Policy replaceSubscriptionPolicy(String subscriptionId) throws Exception /** Example of testing whether the caller has the provided permissions on a subscription. */ public TestIamPermissionsResponse testSubscriptionPermissions(String subscriptionId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START testSubscriptionPermissions] List permissions = new LinkedList<>(); permissions.add("pubsub.subscriptions.get"); SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId); TestIamPermissionsResponse testedPermissions = - publisherClient.testIamPermissions(subscriptionName.toString(), permissions); + topicAdminClient.testIamPermissions(subscriptionName.toString(), permissions); // [END testSubscriptionPermissions] return testedPermissions; } @@ -176,10 +176,10 @@ public TestIamPermissionsResponse testSubscriptionPermissions(String subscriptio /** Example of getting a subscription. */ public Subscription getSubscription(String subscriptionId) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { // [START getSubscription] SubscriptionName subscriptionName = SubscriptionName.create(projectId, subscriptionId); - Subscription subscription = subscriberClient.getSubscription(subscriptionName); + Subscription subscription = subscriptionAdminClient.getSubscription(subscriptionName); // [END getSubscription] return subscription; } diff --git a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/PublisherClientSnippets.java b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/TopicAdminClientSnippets.java similarity index 78% rename from google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/PublisherClientSnippets.java rename to google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/TopicAdminClientSnippets.java index 9737bf4a3087..79e287cd589e 100644 --- a/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/PublisherClientSnippets.java +++ b/google-cloud-examples/src/main/java/com/google/cloud/examples/pubsub/snippets/TopicAdminClientSnippets.java @@ -21,7 +21,7 @@ import com.google.cloud.ServiceOptions; import com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListTopicSubscriptionsPagedResponse; import com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListTopicsPagedResponse; -import com.google.cloud.pubsub.spi.v1.PublisherClient; +import com.google.cloud.pubsub.spi.v1.TopicAdminClient; import com.google.iam.v1.Binding; import com.google.iam.v1.Policy; import com.google.iam.v1.TestIamPermissionsResponse; @@ -33,12 +33,12 @@ import java.util.LinkedList; import java.util.List; -/** This class contains a number of snippets for the {@link PublisherClient} interface. */ -public class PublisherClientSnippets { +/** This class contains a number of snippets for the {@link TopicAdminClient} interface. */ +public class TopicAdminClientSnippets { private final String projectId; - public PublisherClientSnippets() { + public TopicAdminClientSnippets() { this.projectId = ServiceOptions.getDefaultProjectId(); } @@ -48,10 +48,10 @@ public String getProjectId() { /** Example of creating a topic. */ public Topic createTopic(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START createTopic] TopicName topicName = TopicName.create(projectId, topicId); - Topic topic = publisherClient.createTopic(topicName); + Topic topic = topicAdminClient.createTopic(topicName); // [END createTopic] return topic; } @@ -59,13 +59,13 @@ public Topic createTopic(String topicId) throws Exception { /** Example of listing topics. */ public ListTopicsPagedResponse listTopics() throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START listTopics] ListTopicsRequest listTopicsRequest = ListTopicsRequest.newBuilder() .setProjectWithProjectName(ProjectName.create(projectId)) .build(); - ListTopicsPagedResponse response = publisherClient.listTopics(listTopicsRequest); + ListTopicsPagedResponse response = topicAdminClient.listTopics(listTopicsRequest); Iterable topics = response.iterateAllElements(); for (Topic topic : topics) { // do something with the topic @@ -78,7 +78,7 @@ public ListTopicsPagedResponse listTopics() throws Exception { /** Example of listing topics for a subscription. */ public ListTopicSubscriptionsPagedResponse listTopicSubscriptions(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START listTopicSubscriptions] TopicName topicName = TopicName.create(projectId, topicId); ListTopicSubscriptionsRequest request = @@ -86,7 +86,7 @@ public ListTopicSubscriptionsPagedResponse listTopicSubscriptions(String topicId .setTopicWithTopicName(topicName) .build(); ListTopicSubscriptionsPagedResponse response = - publisherClient.listTopicSubscriptions(request); + topicAdminClient.listTopicSubscriptions(request); Iterable subscriptionNames = response.iterateAllElements(); for (String subscriptionName : subscriptionNames) { // do something with the subscription name @@ -98,10 +98,10 @@ public ListTopicSubscriptionsPagedResponse listTopicSubscriptions(String topicId /** Example of deleting a topic. */ public TopicName deleteTopic(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START deleteTopic] TopicName topicName = TopicName.create(projectId, topicId); - publisherClient.deleteTopic(topicName); + topicAdminClient.deleteTopic(topicName); // [END deleteTopic] return topicName; } @@ -109,10 +109,10 @@ public TopicName deleteTopic(String topicId) throws Exception { /** Example of getting a topic policy. */ public Policy getTopicPolicy(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START getTopicPolicy] TopicName topicName = TopicName.create(projectId, topicId); - Policy policy = publisherClient.getIamPolicy(topicName.toString()); + Policy policy = topicAdminClient.getIamPolicy(topicName.toString()); if (policy == null) { // topic iam policy was not found } @@ -123,10 +123,10 @@ public Policy getTopicPolicy(String topicId) throws Exception { /** Example of replacing a topic policy. */ public Policy replaceTopicPolicy(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START replaceTopicPolicy] String topicName = TopicName.create(projectId, topicId).toString(); - Policy policy = publisherClient.getIamPolicy(topicName); + Policy policy = topicAdminClient.getIamPolicy(topicName); // add role -> members binding Binding binding = Binding.newBuilder() @@ -135,7 +135,7 @@ public Policy replaceTopicPolicy(String topicId) throws Exception { .build(); // create updated policy Policy updatedPolicy = Policy.newBuilder(policy).addBindings(binding).build(); - updatedPolicy = publisherClient.setIamPolicy(topicName, updatedPolicy); + updatedPolicy = topicAdminClient.setIamPolicy(topicName, updatedPolicy); // [END replaceTopicPolicy] return updatedPolicy; } @@ -144,13 +144,13 @@ public Policy replaceTopicPolicy(String topicId) throws Exception { /** Example of testing whether the caller has the provided permissions on a topic. * Only viewer, editor or admin/owner can view results of pubsub.topics.get */ public TestIamPermissionsResponse testTopicPermissions(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START testTopicPermissions] List permissions = new LinkedList<>(); permissions.add("pubsub.topics.get"); TopicName topicName = TopicName.create(projectId, topicId); TestIamPermissionsResponse testedPermissions = - publisherClient.testIamPermissions(topicName.toString(), permissions); + topicAdminClient.testIamPermissions(topicName.toString(), permissions); // [END testTopicPermissions] return testedPermissions; } @@ -158,10 +158,10 @@ public TestIamPermissionsResponse testTopicPermissions(String topicId) throws Ex /** Example of getting a topic. */ public Topic getTopic(String topicId) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { // [START getTopic] TopicName topicName = TopicName.create(projectId, topicId); - Topic topic = publisherClient.getTopic(topicName); + Topic topic = topicAdminClient.getTopic(topicName); // [END createTopic] return topic; } diff --git a/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/Cleanup.java b/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/Cleanup.java index c9911fd392a3..3f2c9e64be73 100644 --- a/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/Cleanup.java +++ b/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/Cleanup.java @@ -16,8 +16,8 @@ package com.google.cloud.examples.pubsub.snippets; -import com.google.cloud.pubsub.spi.v1.PublisherClient; -import com.google.cloud.pubsub.spi.v1.SubscriberClient; +import com.google.cloud.pubsub.spi.v1.TopicAdminClient; +import com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient; import com.google.pubsub.v1.SubscriptionName; import com.google.pubsub.v1.TopicName; @@ -30,10 +30,10 @@ protected static void deleteTestTopicsAndSubscriptions( } private static void deleteTestTopics(String projectId, String[] testTopics) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { for (String topicId : testTopics) { try { - publisherClient.deleteTopic(TopicName.create(projectId, topicId)); + topicAdminClient.deleteTopic(TopicName.create(projectId, topicId)); System.out.println("Topic deleted : " + topicId); } catch (Exception e) { //do nothing catch clause @@ -44,10 +44,10 @@ private static void deleteTestTopics(String projectId, String[] testTopics) thro private static void deleteTestSubscriptions(String projectId, String[] subscriptions) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { for (String subscriptionId : subscriptions) { try { - subscriberClient.deleteSubscription( + subscriptionAdminClient.deleteSubscription( SubscriptionName.create(projectId, subscriptionId)); System.out.println("Subscription deleted : " + subscriptionId); } catch (Exception e) { diff --git a/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITSubscriberClientSnippets.java b/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITSubscriptionAdminClientSnippets.java similarity index 82% rename from google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITSubscriberClientSnippets.java rename to google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITSubscriptionAdminClientSnippets.java index 50fc5b52ac93..82de90561295 100644 --- a/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITSubscriberClientSnippets.java +++ b/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITSubscriptionAdminClientSnippets.java @@ -25,7 +25,7 @@ import com.google.cloud.Role; import com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListSubscriptionsPagedResponse; import com.google.cloud.pubsub.spi.v1.Publisher; -import com.google.cloud.pubsub.spi.v1.PublisherClient; +import com.google.cloud.pubsub.spi.v1.TopicAdminClient; import com.google.common.collect.Iterables; import com.google.iam.v1.Policy; import com.google.iam.v1.TestIamPermissionsResponse; @@ -47,13 +47,13 @@ import org.junit.Test; import org.junit.rules.Timeout; -public class ITSubscriberClientSnippets { +public class ITSubscriptionAdminClientSnippets { private static final String NAME_SUFFIX = UUID.randomUUID().toString(); private static String projectId; - private static SubscriberClientSnippets subscriberClientSnippets; + private static SubscriptionAdminClientSnippets subscriptionAdminClientSnippets; private static String[] topics = { formatForTest("topic-1"), @@ -73,8 +73,8 @@ private static String formatForTest(String resourceName) { @BeforeClass public static void beforeClass() { - subscriberClientSnippets = new SubscriberClientSnippets(); - projectId = subscriberClientSnippets.getProjectId(); + subscriptionAdminClientSnippets = new SubscriptionAdminClientSnippets(); + projectId = subscriptionAdminClientSnippets.getProjectId(); } @Before @@ -86,9 +86,9 @@ private Subscription createSubscription(String topicName, String subscriptionNam throws Exception { createTopic(topicName); Subscription subscription = - subscriberClientSnippets.createSubscription(topicName, subscriptionName); + subscriptionAdminClientSnippets.createSubscription(topicName, subscriptionName); assertNotNull(subscription); - Subscription retrievedSubscription = subscriberClientSnippets.getSubscription(subscriptionName); + Subscription retrievedSubscription = subscriptionAdminClientSnippets.getSubscription(subscriptionName); assertNotNull(retrievedSubscription); assertEquals(subscription.getName(), retrievedSubscription.getName()); return subscription; @@ -101,7 +101,7 @@ public void publishAndPullMessagesIsSuccessful() throws Exception { createSubscription(topicName, subscriptionName); Set messages = publishMessages(topicName, 5); //pulls max 100 messages - PullResponse response = subscriberClientSnippets.pull(subscriptionName); + PullResponse response = subscriptionAdminClientSnippets.pull(subscriptionName); assertNotNull(response); //remove messages that match sent for (ReceivedMessage receivedMessage : response.getReceivedMessagesList()) { @@ -120,8 +120,8 @@ public void replacePushConfigIsSuccessful() throws Exception { String subscriptionName = subscriptions[0]; createSubscription(topicName, subscriptionName); String endpoint = "https://" + projectId + ".appspot.com/push"; - subscriberClientSnippets.replacePushConfig(subscriptionName, endpoint); - Subscription subscription = subscriberClientSnippets.getSubscription(subscriptionName); + subscriptionAdminClientSnippets.replacePushConfig(subscriptionName, endpoint); + Subscription subscription = subscriptionAdminClientSnippets.getSubscription(subscriptionName); assertNotNull(subscription.getPushConfig()); assertEquals(subscription.getPushConfig().getPushEndpoint(), endpoint); } @@ -137,7 +137,7 @@ public void listSubscriptionsRetrievesAllAddedSubscriptions() throws Exception { addedSubscriptions.add(createSubscription(topicName2, subscriptionName2)); boolean[] subFound = {false, false}; - ListSubscriptionsPagedResponse response = subscriberClientSnippets.listSubscriptions(); + ListSubscriptionsPagedResponse response = subscriptionAdminClientSnippets.listSubscriptions(); assertNotNull(response); Iterable subscriptions = response.iterateAllElements(); for (int i = 0; i < 2; i++) { @@ -153,9 +153,9 @@ public void deleteSubscriptionThrowsExceptionWhenRetrieved() throws Exception { String topicName = topics[0]; String subscriptionName = subscriptions[0]; createSubscription(topicName, subscriptionName); - subscriberClientSnippets.deleteSubscription(subscriptionName); + subscriptionAdminClientSnippets.deleteSubscription(subscriptionName); //expected to throw exception on retrieval - subscriberClientSnippets.getSubscription(subscriptionName); + subscriptionAdminClientSnippets.getSubscription(subscriptionName); } @Test @@ -163,7 +163,7 @@ public void subscriptionHasValidIamPolicy() throws Exception { String topicName = topics[0]; String subscriptionName = subscriptions[0]; createSubscription(topicName, subscriptionName); - Policy policy = subscriberClientSnippets.getSubscriptionPolicy(subscriptionName); + Policy policy = subscriptionAdminClientSnippets.getSubscriptionPolicy(subscriptionName); assertNotNull(policy); } @@ -172,19 +172,19 @@ public void replaceSubscriptionPolicyAndTestPermissionsIsSuccessful() throws Exc String topicName = topics[0]; String subscriptionName = subscriptions[0]; createSubscription(topicName, subscriptionName); - Policy policy = subscriberClientSnippets.replaceSubscriptionPolicy(subscriptionName); + Policy policy = subscriptionAdminClientSnippets.replaceSubscriptionPolicy(subscriptionName); assertNotNull(policy.getBindingsCount()); assertTrue(policy.getBindings(0).getRole().equalsIgnoreCase(Role.viewer().toString())); assertTrue(policy.getBindings(0).getMembers(0) .equalsIgnoreCase(Identity.allAuthenticatedUsers().toString())); TestIamPermissionsResponse response = - subscriberClientSnippets.testSubscriptionPermissions(subscriptionName); + subscriptionAdminClientSnippets.testSubscriptionPermissions(subscriptionName); assertTrue(response.getPermissionsList().contains("pubsub.subscriptions.get")); } private void createTopic(String name) throws Exception { - try (PublisherClient publisherClient = PublisherClient.create()) { - publisherClient.createTopic(TopicName.create(projectId, name)); + try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { + topicAdminClient.createTopic(TopicName.create(projectId, name)); } } diff --git a/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITPublisherClientSnippets.java b/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITTopicAdminClientSnippets.java similarity index 77% rename from google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITPublisherClientSnippets.java rename to google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITTopicAdminClientSnippets.java index d607a1568d45..c3cd9cffc86e 100644 --- a/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITPublisherClientSnippets.java +++ b/google-cloud-examples/src/test/java/com/google/cloud/examples/pubsub/snippets/ITTopicAdminClientSnippets.java @@ -25,7 +25,7 @@ import com.google.cloud.Role; import com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListTopicSubscriptionsPagedResponse; import com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListTopicsPagedResponse; -import com.google.cloud.pubsub.spi.v1.SubscriberClient; +import com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient; import com.google.common.collect.Iterables; import com.google.iam.v1.Policy; import com.google.iam.v1.TestIamPermissionsResponse; @@ -44,13 +44,13 @@ import org.junit.Test; import org.junit.rules.Timeout; -public class ITPublisherClientSnippets { +public class ITTopicAdminClientSnippets { private static final String NAME_SUFFIX = UUID.randomUUID().toString(); private static String projectId; - private static PublisherClientSnippets publisherClientSnippets; + private static TopicAdminClientSnippets topicAdminClientSnippets; private static String[] topics = { formatForTest("topic-1"), @@ -70,8 +70,8 @@ private static String formatForTest(String resourceName) { @BeforeClass public static void beforeClass() { - publisherClientSnippets = new PublisherClientSnippets(); - projectId = publisherClientSnippets.getProjectId(); + topicAdminClientSnippets = new TopicAdminClientSnippets(); + projectId = topicAdminClientSnippets.getProjectId(); } @Before @@ -82,9 +82,9 @@ public void setUp() throws Exception { @Test public void topicAddedIsSameAsRetrieved() throws Exception { String topicName = topics[0]; - Topic topicAdded = publisherClientSnippets.createTopic(topicName); + Topic topicAdded = topicAdminClientSnippets.createTopic(topicName); assertNotNull(topicAdded); - Topic topicRetrieved = publisherClientSnippets.getTopic(topicName); + Topic topicRetrieved = topicAdminClientSnippets.getTopic(topicName); assertEquals(topicAdded, topicRetrieved); } @@ -92,12 +92,12 @@ public void topicAddedIsSameAsRetrieved() throws Exception { public void listTopicsRetreivesAddedTopics() throws Exception { List addedTopics = new ArrayList<>(); String topicName1 = topics[0]; - addedTopics.add(publisherClientSnippets.createTopic(topicName1)); + addedTopics.add(topicAdminClientSnippets.createTopic(topicName1)); String topicName2 = topics[1]; - addedTopics.add(publisherClientSnippets.createTopic(topicName2)); + addedTopics.add(topicAdminClientSnippets.createTopic(topicName2)); boolean[] topicFound = {false, false}; - ListTopicsPagedResponse response = publisherClientSnippets.listTopics(); + ListTopicsPagedResponse response = topicAdminClientSnippets.listTopics(); assertNotNull(response); Iterable topics = response.iterateAllElements(); @@ -114,7 +114,7 @@ public void listTopicsRetreivesAddedTopics() throws Exception { public void listTopicSubscriptionsRetrievesAddedSubscriptions() throws Exception { List addedSubscriptions = new ArrayList<>(); String topicName1 = topics[0]; - publisherClientSnippets.createTopic(topicName1); + topicAdminClientSnippets.createTopic(topicName1); String subscriptionName1 = subscriptions[0]; String subscriptionName2 = subscriptions[1]; addedSubscriptions.add(createSubscription(topicName1, subscriptionName1)); @@ -123,7 +123,7 @@ public void listTopicSubscriptionsRetrievesAddedSubscriptions() throws Exception boolean[] subFound = {false, false}; ListTopicSubscriptionsPagedResponse response = - publisherClientSnippets.listTopicSubscriptions(topicName1); + topicAdminClientSnippets.listTopicSubscriptions(topicName1); assertNotNull(response); @@ -139,37 +139,37 @@ public void listTopicSubscriptionsRetrievesAddedSubscriptions() throws Exception @Test(expected = ApiException.class) public void deletedTopicIsNotRetrievableAndThrowsException() throws Exception { String topicName = topics[0]; - Topic topicAdded = publisherClientSnippets.createTopic(topicName); + Topic topicAdded = topicAdminClientSnippets.createTopic(topicName); assertNotNull(topicAdded); - TopicName formattedName = publisherClientSnippets.deleteTopic(topicName); + TopicName formattedName = topicAdminClientSnippets.deleteTopic(topicName); assertNotNull(formattedName); - publisherClientSnippets.getTopic(topicName); + topicAdminClientSnippets.getTopic(topicName); } @Test public void topicPolicyIsCorrectlyRetrieved() throws Exception { String topicName = topics[0]; - publisherClientSnippets.createTopic(topicName); - Policy policy = publisherClientSnippets.getTopicPolicy(topicName); + topicAdminClientSnippets.createTopic(topicName); + Policy policy = topicAdminClientSnippets.getTopicPolicy(topicName); assertNotNull(policy); } @Test public void replaceTopicPolicyAndTestPermissionsIsSuccessful() throws Exception { String topicName = topics[0]; - publisherClientSnippets.createTopic(topicName); - Policy policy = publisherClientSnippets.replaceTopicPolicy(topicName); + topicAdminClientSnippets.createTopic(topicName); + Policy policy = topicAdminClientSnippets.replaceTopicPolicy(topicName); assertNotNull(policy.getBindingsCount()); assertTrue(policy.getBindings(0).getRole().equalsIgnoreCase(Role.viewer().toString())); assertTrue(policy.getBindings(0).getMembers(0) .equalsIgnoreCase(Identity.allAuthenticatedUsers().toString())); - TestIamPermissionsResponse response = publisherClientSnippets.testTopicPermissions(topicName); + TestIamPermissionsResponse response = topicAdminClientSnippets.testTopicPermissions(topicName); assertTrue(response.getPermissionsList().contains("pubsub.topics.get")); } private String createSubscription(String topic, String subscriptionName) throws Exception { - try (SubscriberClient subscriberClient = SubscriberClient.create()) { - Subscription subscription = subscriberClient.createSubscription( + try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + Subscription subscription = subscriptionAdminClient.createSubscription( SubscriptionName.create(projectId, subscriptionName), TopicName.create(projectId, topic), PushConfig.getDefaultInstance(), 0); return subscription.getName(); diff --git a/google-cloud-language/src/test/java/com/google/cloud/language/spi/v1/LanguageServiceClientTest.java b/google-cloud-language/src/test/java/com/google/cloud/language/spi/v1/LanguageServiceClientTest.java index 8fadd45dc42f..3d7fe8efa52d 100644 --- a/google-cloud-language/src/test/java/com/google/cloud/language/spi/v1/LanguageServiceClientTest.java +++ b/google-cloud-language/src/test/java/com/google/cloud/language/spi/v1/LanguageServiceClientTest.java @@ -99,7 +99,7 @@ public void analyzeSentimentTest() { @Test @SuppressWarnings("all") public void analyzeSentimentExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockLanguageService.addException(exception); try { @@ -108,7 +108,7 @@ public void analyzeSentimentExceptionTest() throws Exception { client.analyzeSentiment(document); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -137,7 +137,7 @@ public void analyzeEntitiesTest() { @Test @SuppressWarnings("all") public void analyzeEntitiesExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockLanguageService.addException(exception); try { @@ -147,7 +147,7 @@ public void analyzeEntitiesExceptionTest() throws Exception { client.analyzeEntities(document, encodingType); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -176,7 +176,7 @@ public void analyzeSyntaxTest() { @Test @SuppressWarnings("all") public void analyzeSyntaxExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockLanguageService.addException(exception); try { @@ -186,7 +186,7 @@ public void analyzeSyntaxExceptionTest() throws Exception { client.analyzeSyntax(document, encodingType); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -217,7 +217,7 @@ public void annotateTextTest() { @Test @SuppressWarnings("all") public void annotateTextExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockLanguageService.addException(exception); try { @@ -228,7 +228,7 @@ public void annotateTextExceptionTest() throws Exception { client.annotateText(document, features, encodingType); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/ConfigClientTest.java b/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/ConfigClientTest.java index f4be97134428..8d9bbcef1888 100644 --- a/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/ConfigClientTest.java +++ b/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/ConfigClientTest.java @@ -116,7 +116,7 @@ public void listSinksTest() { @Test @SuppressWarnings("all") public void listSinksExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockConfigServiceV2.addException(exception); try { @@ -125,7 +125,7 @@ public void listSinksExceptionTest() throws Exception { client.listSinks(parent); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -160,7 +160,7 @@ public void getSinkTest() { @Test @SuppressWarnings("all") public void getSinkExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockConfigServiceV2.addException(exception); try { @@ -169,7 +169,7 @@ public void getSinkExceptionTest() throws Exception { client.getSink(sinkName); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -206,7 +206,7 @@ public void createSinkTest() { @Test @SuppressWarnings("all") public void createSinkExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockConfigServiceV2.addException(exception); try { @@ -216,7 +216,7 @@ public void createSinkExceptionTest() throws Exception { client.createSink(parent, sink); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -253,7 +253,7 @@ public void updateSinkTest() { @Test @SuppressWarnings("all") public void updateSinkExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockConfigServiceV2.addException(exception); try { @@ -263,7 +263,7 @@ public void updateSinkExceptionTest() throws Exception { client.updateSink(sinkName, sink); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -287,7 +287,7 @@ public void deleteSinkTest() { @Test @SuppressWarnings("all") public void deleteSinkExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockConfigServiceV2.addException(exception); try { @@ -296,7 +296,7 @@ public void deleteSinkExceptionTest() throws Exception { client.deleteSink(sinkName); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/LoggingClientTest.java b/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/LoggingClientTest.java index 0b3cb1201954..639ba66957a7 100644 --- a/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/LoggingClientTest.java +++ b/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/LoggingClientTest.java @@ -113,7 +113,7 @@ public void deleteLogTest() { @Test @SuppressWarnings("all") public void deleteLogExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockLoggingServiceV2.addException(exception); try { @@ -122,7 +122,7 @@ public void deleteLogExceptionTest() throws Exception { client.deleteLog(logName); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -154,7 +154,7 @@ public void writeLogEntriesTest() { @Test @SuppressWarnings("all") public void writeLogEntriesExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockLoggingServiceV2.addException(exception); try { @@ -166,7 +166,7 @@ public void writeLogEntriesExceptionTest() throws Exception { client.writeLogEntries(logName, resource, labels, entries); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -206,7 +206,7 @@ public void listLogEntriesTest() { @Test @SuppressWarnings("all") public void listLogEntriesExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockLoggingServiceV2.addException(exception); try { @@ -217,7 +217,7 @@ public void listLogEntriesExceptionTest() throws Exception { client.listLogEntries(resourceNames, filter, orderBy); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -252,7 +252,7 @@ public void listLogsTest() { @Test @SuppressWarnings("all") public void listLogsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockLoggingServiceV2.addException(exception); try { @@ -261,7 +261,7 @@ public void listLogsExceptionTest() throws Exception { client.listLogs(parent); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/MetricsClientTest.java b/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/MetricsClientTest.java index cba811a96f69..d8955b76f1c2 100644 --- a/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/MetricsClientTest.java +++ b/google-cloud-logging/src/test/java/com/google/cloud/logging/spi/v2/MetricsClientTest.java @@ -118,7 +118,7 @@ public void listLogMetricsTest() { @Test @SuppressWarnings("all") public void listLogMetricsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricsServiceV2.addException(exception); try { @@ -127,7 +127,7 @@ public void listLogMetricsExceptionTest() throws Exception { client.listLogMetrics(parent); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -156,7 +156,7 @@ public void getLogMetricTest() { @Test @SuppressWarnings("all") public void getLogMetricExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricsServiceV2.addException(exception); try { @@ -165,7 +165,7 @@ public void getLogMetricExceptionTest() throws Exception { client.getLogMetric(metricName); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -196,7 +196,7 @@ public void createLogMetricTest() { @Test @SuppressWarnings("all") public void createLogMetricExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricsServiceV2.addException(exception); try { @@ -206,7 +206,7 @@ public void createLogMetricExceptionTest() throws Exception { client.createLogMetric(parent, metric); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -237,7 +237,7 @@ public void updateLogMetricTest() { @Test @SuppressWarnings("all") public void updateLogMetricExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricsServiceV2.addException(exception); try { @@ -247,7 +247,7 @@ public void updateLogMetricExceptionTest() throws Exception { client.updateLogMetric(metricName, metric); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -271,7 +271,7 @@ public void deleteLogMetricTest() { @Test @SuppressWarnings("all") public void deleteLogMetricExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricsServiceV2.addException(exception); try { @@ -280,7 +280,7 @@ public void deleteLogMetricExceptionTest() throws Exception { client.deleteLogMetric(metricName); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-monitoring/src/test/java/com/google/cloud/monitoring/spi/v3/GroupServiceClientTest.java b/google-cloud-monitoring/src/test/java/com/google/cloud/monitoring/spi/v3/GroupServiceClientTest.java index bcdffb6ec8de..e145ebba9a9a 100644 --- a/google-cloud-monitoring/src/test/java/com/google/cloud/monitoring/spi/v3/GroupServiceClientTest.java +++ b/google-cloud-monitoring/src/test/java/com/google/cloud/monitoring/spi/v3/GroupServiceClientTest.java @@ -115,7 +115,7 @@ public void getGroupTest() { @Test @SuppressWarnings("all") public void getGroupExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockGroupService.addException(exception); try { @@ -124,7 +124,7 @@ public void getGroupExceptionTest() throws Exception { client.getGroup(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -163,7 +163,7 @@ public void createGroupTest() { @Test @SuppressWarnings("all") public void createGroupExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockGroupService.addException(exception); try { @@ -173,7 +173,7 @@ public void createGroupExceptionTest() throws Exception { client.createGroup(name, group); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -210,7 +210,7 @@ public void updateGroupTest() { @Test @SuppressWarnings("all") public void updateGroupExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockGroupService.addException(exception); try { @@ -219,7 +219,7 @@ public void updateGroupExceptionTest() throws Exception { client.updateGroup(group); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -243,7 +243,7 @@ public void deleteGroupTest() { @Test @SuppressWarnings("all") public void deleteGroupExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockGroupService.addException(exception); try { @@ -252,7 +252,7 @@ public void deleteGroupExceptionTest() throws Exception { client.deleteGroup(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -289,7 +289,7 @@ public void listGroupMembersTest() { @Test @SuppressWarnings("all") public void listGroupMembersExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockGroupService.addException(exception); try { @@ -298,7 +298,7 @@ public void listGroupMembersExceptionTest() throws Exception { client.listGroupMembers(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-monitoring/src/test/java/com/google/cloud/monitoring/spi/v3/MetricServiceClientTest.java b/google-cloud-monitoring/src/test/java/com/google/cloud/monitoring/spi/v3/MetricServiceClientTest.java index ae649f904be1..b6d3f705d14a 100644 --- a/google-cloud-monitoring/src/test/java/com/google/cloud/monitoring/spi/v3/MetricServiceClientTest.java +++ b/google-cloud-monitoring/src/test/java/com/google/cloud/monitoring/spi/v3/MetricServiceClientTest.java @@ -130,7 +130,7 @@ public void listMonitoredResourceDescriptorsTest() { @Test @SuppressWarnings("all") public void listMonitoredResourceDescriptorsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { @@ -139,7 +139,7 @@ public void listMonitoredResourceDescriptorsExceptionTest() throws Exception { client.listMonitoredResourceDescriptors(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -176,7 +176,7 @@ public void getMonitoredResourceDescriptorTest() { @Test @SuppressWarnings("all") public void getMonitoredResourceDescriptorExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { @@ -186,7 +186,7 @@ public void getMonitoredResourceDescriptorExceptionTest() throws Exception { client.getMonitoredResourceDescriptor(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -222,7 +222,7 @@ public void listMetricDescriptorsTest() { @Test @SuppressWarnings("all") public void listMetricDescriptorsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { @@ -231,7 +231,7 @@ public void listMetricDescriptorsExceptionTest() throws Exception { client.listMetricDescriptors(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -268,7 +268,7 @@ public void getMetricDescriptorTest() { @Test @SuppressWarnings("all") public void getMetricDescriptorExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { @@ -277,7 +277,7 @@ public void getMetricDescriptorExceptionTest() throws Exception { client.getMetricDescriptor(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -317,7 +317,7 @@ public void createMetricDescriptorTest() { @Test @SuppressWarnings("all") public void createMetricDescriptorExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { @@ -327,7 +327,7 @@ public void createMetricDescriptorExceptionTest() throws Exception { client.createMetricDescriptor(name, metricDescriptor); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -352,7 +352,7 @@ public void deleteMetricDescriptorTest() { @Test @SuppressWarnings("all") public void deleteMetricDescriptorExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { @@ -361,7 +361,7 @@ public void deleteMetricDescriptorExceptionTest() throws Exception { client.deleteMetricDescriptor(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -403,7 +403,7 @@ public void listTimeSeriesTest() { @Test @SuppressWarnings("all") public void listTimeSeriesExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { @@ -415,7 +415,7 @@ public void listTimeSeriesExceptionTest() throws Exception { client.listTimeSeries(name, filter, interval, view); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -441,7 +441,7 @@ public void createTimeSeriesTest() { @Test @SuppressWarnings("all") public void createTimeSeriesExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockMetricService.addException(exception); try { @@ -451,7 +451,7 @@ public void createTimeSeriesExceptionTest() throws Exception { client.createTimeSeries(name, timeSeries); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-pubsub/README.md b/google-cloud-pubsub/README.md index e78aa3fca62f..b3ccf8b61de6 100644 --- a/google-cloud-pubsub/README.md +++ b/google-cloud-pubsub/README.md @@ -95,15 +95,15 @@ With Pub/Sub you can create topics. A topic is a named resource to which message publishers. Add the following imports at the top of your file: ```java -import com.google.cloud.pubsub.spi.v1.PublisherClient; +import com.google.cloud.pubsub.spi.v1.TopicAdminClient; import com.google.pubsub.v1.TopicName; ``` Then, to create the topic, use the following code: ```java TopicName topic = TopicName.create("test-project", "test-topic"); -try (PublisherClient publisherClient = PublisherClient.create()) { - publisherClient.createTopic(topic); +try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) { + topicAdminClient.createTopic(topic); } ``` @@ -137,7 +137,7 @@ With Pub/Sub you can create subscriptions. A subscription represents the stream single, specific topic. Add the following imports at the top of your file: ```java -import com.google.cloud.pubsub.spi.v1.SubscriberClient; +import com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient; import com.google.pubsub.v1.PushConfig; import com.google.pubsub.v1.SubscriptionName; import com.google.pubsub.v1.TopicName; @@ -148,8 +148,8 @@ Then, to create the subscription, use the following code: TopicName topic = TopicName.create("test-project", "test-topic"); SubscriptionName subscription = SubscriptionName.create("test-project", "test-subscription"); -try (SubscriberClient subscriberClient = SubscriberClient.create()) { - subscriberClient.createSubscription(subscription, topic, PushConfig.getDefaultInstance(), 0); +try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) { + subscriptionAdminClient.createSubscription(subscription, topic, PushConfig.getDefaultInstance(), 0); } ``` diff --git a/google-cloud-pubsub/pom.xml b/google-cloud-pubsub/pom.xml index 633bf4e8659a..6a9363947c19 100644 --- a/google-cloud-pubsub/pom.xml +++ b/google-cloud-pubsub/pom.xml @@ -30,7 +30,7 @@ com.google.api.grpc grpc-google-cloud-pubsub-v1 - 0.1.5 + 0.1.6 io.grpc diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PagedResponseWrappers.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PagedResponseWrappers.java index 56c37d765e47..09a450592ae3 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PagedResponseWrappers.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PagedResponseWrappers.java @@ -22,12 +22,15 @@ import com.google.common.base.Function; import com.google.common.collect.Iterables; import com.google.protobuf.ExperimentalApi; +import com.google.pubsub.v1.ListSnapshotsRequest; +import com.google.pubsub.v1.ListSnapshotsResponse; import com.google.pubsub.v1.ListSubscriptionsRequest; import com.google.pubsub.v1.ListSubscriptionsResponse; import com.google.pubsub.v1.ListTopicSubscriptionsRequest; import com.google.pubsub.v1.ListTopicSubscriptionsResponse; import com.google.pubsub.v1.ListTopicsRequest; import com.google.pubsub.v1.ListTopicsResponse; +import com.google.pubsub.v1.Snapshot; import com.google.pubsub.v1.Subscription; import com.google.pubsub.v1.SubscriptionName; import com.google.pubsub.v1.Topic; @@ -93,4 +96,16 @@ public ListSubscriptionsPagedResponse( super(callable, pageDescriptor, request, context); } } + + public static class ListSnapshotsPagedResponse + extends PagedListResponseImpl { + + public ListSnapshotsPagedResponse( + UnaryCallable callable, + PagedListDescriptor pageDescriptor, + ListSnapshotsRequest request, + CallContext context) { + super(callable, pageDescriptor, request, context); + } + } } diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/Publisher.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/Publisher.java index ddcfa9d8522e..73c17106fffe 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/Publisher.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/Publisher.java @@ -575,7 +575,7 @@ public long nextLong(long least, long bound) { RetrySettings retrySettings = DEFAULT_RETRY_SETTINGS; LongRandom longRandom = DEFAULT_LONG_RANDOM; - ChannelProvider channelProvider = PublisherSettings.defaultChannelProviderBuilder().build(); + ChannelProvider channelProvider = TopicAdminSettings.defaultChannelProviderBuilder().build(); ExecutorProvider executorProvider = DEFAULT_EXECUTOR_PROVIDER; private Builder(TopicName topic) { diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/Subscriber.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/Subscriber.java index 32978fd1be18..c44260b56b57 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/Subscriber.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/Subscriber.java @@ -301,8 +301,8 @@ public void close() throws IOException { builder.channelBuilder.isPresent() ? builder.channelBuilder.get() : NettyChannelBuilder.forAddress( - SubscriberSettings.getDefaultServiceAddress(), - SubscriberSettings.getDefaultServicePort()) + SubscriptionAdminSettings.getDefaultServiceAddress(), + SubscriptionAdminSettings.getDefaultServicePort()) .maxMessageSize(MAX_INBOUND_MESSAGE_SIZE) .flowControlWindow(5000000) // 2.5 MB .negotiationType(NegotiationType.TLS) @@ -313,7 +313,7 @@ public void close() throws IOException { builder.credentials.isPresent() ? builder.credentials.get() : GoogleCredentials.getApplicationDefault() - .createScoped(SubscriberSettings.getDefaultServiceScopes()); + .createScoped(SubscriptionAdminSettings.getDefaultServiceScopes()); numChannels = Math.max(1, Runtime.getRuntime().availableProcessors()) * CHANNELS_PER_CORE; streamingSubscriberConnections = new ArrayList(numChannels); diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriberClient.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminClient.java similarity index 64% rename from google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriberClient.java rename to google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminClient.java index 6f7f802fcbc6..a9dd992088cb 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriberClient.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminClient.java @@ -15,6 +15,7 @@ */ package com.google.cloud.pubsub.spi.v1; +import static com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListSnapshotsPagedResponse; import static com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListSubscriptionsPagedResponse; import com.google.api.gax.grpc.ChannelAndExecutor; @@ -28,8 +29,12 @@ import com.google.protobuf.Empty; import com.google.protobuf.ExperimentalApi; import com.google.pubsub.v1.AcknowledgeRequest; +import com.google.pubsub.v1.CreateSnapshotRequest; +import com.google.pubsub.v1.DeleteSnapshotRequest; import com.google.pubsub.v1.DeleteSubscriptionRequest; import com.google.pubsub.v1.GetSubscriptionRequest; +import com.google.pubsub.v1.ListSnapshotsRequest; +import com.google.pubsub.v1.ListSnapshotsResponse; import com.google.pubsub.v1.ListSubscriptionsRequest; import com.google.pubsub.v1.ListSubscriptionsResponse; import com.google.pubsub.v1.ModifyAckDeadlineRequest; @@ -38,12 +43,17 @@ import com.google.pubsub.v1.PullRequest; import com.google.pubsub.v1.PullResponse; import com.google.pubsub.v1.PushConfig; +import com.google.pubsub.v1.SeekRequest; +import com.google.pubsub.v1.SeekResponse; +import com.google.pubsub.v1.Snapshot; +import com.google.pubsub.v1.SnapshotName; import com.google.pubsub.v1.StreamingPullRequest; import com.google.pubsub.v1.StreamingPullResponse; import com.google.pubsub.v1.Subscription; import com.google.pubsub.v1.SubscriptionName; import com.google.pubsub.v1.TopicName; import com.google.pubsub.v1.TopicNameOneof; +import com.google.pubsub.v1.UpdateSubscriptionRequest; import io.grpc.ManagedChannel; import java.io.Closeable; import java.io.IOException; @@ -64,18 +74,19 @@ * *
  * 
- * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+ * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
  *   SubscriptionName name = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
  *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
  *   PushConfig pushConfig = PushConfig.newBuilder().build();
  *   int ackDeadlineSeconds = 0;
- *   Subscription response = subscriberClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
+ *   Subscription response = subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
  * }
  * 
  * 
* - *

Note: close() needs to be called on the subscriberClient object to clean up resources such as - * threads. In the example above, try-with-resources is used, which automatically calls close(). + *

Note: close() needs to be called on the subscriptionAdminClient object to clean up resources + * such as threads. In the example above, try-with-resources is used, which automatically calls + * close(). * *

The surface of this class includes several types of Java methods for each of the API's * methods: @@ -97,32 +108,33 @@ * these names, this class includes a format method for each type of name, and additionally a parse * method to extract the individual identifiers contained within names that are returned. * - *

This class can be customized by passing in a custom instance of SubscriberSettings to + *

This class can be customized by passing in a custom instance of SubscriptionAdminSettings to * create(). For example: * *

  * 
  * InstantiatingChannelProvider channelProvider =
- *     SubscriberSettings.defaultChannelProviderBuilder()
+ *     SubscriptionAdminSettings.defaultChannelProviderBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
  *         .build();
- * SubscriberSettings subscriberSettings =
- *     SubscriberSettings.defaultBuilder().setChannelProvider(channelProvider).build();
- * SubscriberClient subscriberClient =
- *     SubscriberClient.create(subscriberSettings);
+ * SubscriptionAdminSettings subscriptionAdminSettings =
+ *     SubscriptionAdminSettings.defaultBuilder().setChannelProvider(channelProvider).build();
+ * SubscriptionAdminClient subscriptionAdminClient =
+ *     SubscriptionAdminClient.create(subscriptionAdminSettings);
  * 
  * 
*/ @Generated("by GAPIC") @ExperimentalApi -public class SubscriberClient implements AutoCloseable { - private final SubscriberSettings settings; +public class SubscriptionAdminClient implements AutoCloseable { + private final SubscriptionAdminSettings settings; private final ScheduledExecutorService executor; private final ManagedChannel channel; private final List closeables = new ArrayList<>(); private final UnaryCallable createSubscriptionCallable; private final UnaryCallable getSubscriptionCallable; + private final UnaryCallable updateSubscriptionCallable; private final UnaryCallable listSubscriptionsCallable; private final UnaryCallable @@ -134,29 +146,37 @@ public class SubscriberClient implements AutoCloseable { private final StreamingCallable streamingPullCallable; private final UnaryCallable modifyPushConfigCallable; + private final UnaryCallable listSnapshotsCallable; + private final UnaryCallable + listSnapshotsPagedCallable; + private final UnaryCallable createSnapshotCallable; + private final UnaryCallable deleteSnapshotCallable; + private final UnaryCallable seekCallable; private final UnaryCallable setIamPolicyCallable; private final UnaryCallable getIamPolicyCallable; private final UnaryCallable testIamPermissionsCallable; - /** Constructs an instance of SubscriberClient with default settings. */ - public static final SubscriberClient create() throws IOException { - return create(SubscriberSettings.defaultBuilder().build()); + /** Constructs an instance of SubscriptionAdminClient with default settings. */ + public static final SubscriptionAdminClient create() throws IOException { + return create(SubscriptionAdminSettings.defaultBuilder().build()); } /** - * Constructs an instance of SubscriberClient, using the given settings. The channels are created - * based on the settings passed in, or defaults for any settings that are not set. + * Constructs an instance of SubscriptionAdminClient, using the given settings. The channels are + * created based on the settings passed in, or defaults for any settings that are not set. */ - public static final SubscriberClient create(SubscriberSettings settings) throws IOException { - return new SubscriberClient(settings); + public static final SubscriptionAdminClient create(SubscriptionAdminSettings settings) + throws IOException { + return new SubscriptionAdminClient(settings); } /** - * Constructs an instance of SubscriberClient, using the given settings. This is protected so that - * it easy to make a subclass, but otherwise, the static factory methods should be preferred. + * Constructs an instance of SubscriptionAdminClient, using the given settings. This is protected + * so that it easy to make a subclass, but otherwise, the static factory methods should be + * preferred. */ - protected SubscriberClient(SubscriberSettings settings) throws IOException { + protected SubscriptionAdminClient(SubscriptionAdminSettings settings) throws IOException { this.settings = settings; ChannelAndExecutor channelAndExecutor = settings.getChannelAndExecutor(); this.executor = channelAndExecutor.getExecutor(); @@ -166,6 +186,8 @@ protected SubscriberClient(SubscriberSettings settings) throws IOException { UnaryCallable.create(settings.createSubscriptionSettings(), this.channel, this.executor); this.getSubscriptionCallable = UnaryCallable.create(settings.getSubscriptionSettings(), this.channel, this.executor); + this.updateSubscriptionCallable = + UnaryCallable.create(settings.updateSubscriptionSettings(), this.channel, this.executor); this.listSubscriptionsCallable = UnaryCallable.create(settings.listSubscriptionsSettings(), this.channel, this.executor); this.listSubscriptionsPagedCallable = @@ -182,6 +204,16 @@ protected SubscriberClient(SubscriberSettings settings) throws IOException { StreamingCallable.create(settings.streamingPullSettings(), this.channel); this.modifyPushConfigCallable = UnaryCallable.create(settings.modifyPushConfigSettings(), this.channel, this.executor); + this.listSnapshotsCallable = + UnaryCallable.create(settings.listSnapshotsSettings(), this.channel, this.executor); + this.listSnapshotsPagedCallable = + UnaryCallable.createPagedVariant( + settings.listSnapshotsSettings(), this.channel, this.executor); + this.createSnapshotCallable = + UnaryCallable.create(settings.createSnapshotSettings(), this.channel, this.executor); + this.deleteSnapshotCallable = + UnaryCallable.create(settings.deleteSnapshotSettings(), this.channel, this.executor); + this.seekCallable = UnaryCallable.create(settings.seekSettings(), this.channel, this.executor); this.setIamPolicyCallable = UnaryCallable.create(settings.setIamPolicySettings(), this.channel, this.executor); this.getIamPolicyCallable = @@ -209,7 +241,7 @@ public void close() throws IOException { } } - public final SubscriberSettings getSettings() { + public final SubscriptionAdminSettings getSettings() { return settings; } @@ -227,12 +259,12 @@ public final SubscriberSettings getSettings() { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName name = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   PushConfig pushConfig = PushConfig.newBuilder().build();
    *   int ackDeadlineSeconds = 0;
-   *   Subscription response = subscriberClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
+   *   Subscription response = subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
    * }
    * 
* @@ -289,14 +321,14 @@ public final Subscription createSubscription( *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName name = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   TopicNameOneof topic = TopicNameOneof.from(TopicName.create("[PROJECT]", "[TOPIC]"));
    *   Subscription request = Subscription.newBuilder()
    *     .setNameWithSubscriptionName(name)
    *     .setTopicWithTopicName(topic)
    *     .build();
-   *   Subscription response = subscriberClient.createSubscription(request);
+   *   Subscription response = subscriptionAdminClient.createSubscription(request);
    * }
    * 
* @@ -321,14 +353,14 @@ public final Subscription createSubscription(Subscription request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName name = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   TopicNameOneof topic = TopicNameOneof.from(TopicName.create("[PROJECT]", "[TOPIC]"));
    *   Subscription request = Subscription.newBuilder()
    *     .setNameWithSubscriptionName(name)
    *     .setTopicWithTopicName(topic)
    *     .build();
-   *   ApiFuture<Subscription> future = subscriberClient.createSubscriptionCallable().futureCall(request);
+   *   ApiFuture<Subscription> future = subscriptionAdminClient.createSubscriptionCallable().futureCall(request);
    *   // Do something
    *   Subscription response = future.get();
    * }
@@ -345,9 +377,9 @@ public final UnaryCallable createSubscriptionCallabl
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
-   *   Subscription response = subscriberClient.getSubscription(subscription);
+   *   Subscription response = subscriptionAdminClient.getSubscription(subscription);
    * }
    * 
* @@ -371,12 +403,12 @@ public final Subscription getSubscription(SubscriptionName subscription) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   GetSubscriptionRequest request = GetSubscriptionRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .build();
-   *   Subscription response = subscriberClient.getSubscription(request);
+   *   Subscription response = subscriptionAdminClient.getSubscription(request);
    * }
    * 
* @@ -394,12 +426,12 @@ private final Subscription getSubscription(GetSubscriptionRequest request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   GetSubscriptionRequest request = GetSubscriptionRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .build();
-   *   ApiFuture<Subscription> future = subscriberClient.getSubscriptionCallable().futureCall(request);
+   *   ApiFuture<Subscription> future = subscriptionAdminClient.getSubscriptionCallable().futureCall(request);
    *   // Do something
    *   Subscription response = future.get();
    * }
@@ -409,6 +441,57 @@ public final UnaryCallable getSubscription
     return getSubscriptionCallable;
   }
 
+  // AUTO-GENERATED DOCUMENTATION AND METHOD
+  /**
+   * Updates an existing subscription. Note that certain properties of a subscription, such as its
+   * topic, are not modifiable.
+   *
+   * 

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   Subscription subscription = Subscription.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   UpdateSubscriptionRequest request = UpdateSubscriptionRequest.newBuilder()
+   *     .setSubscription(subscription)
+   *     .setUpdateMask(updateMask)
+   *     .build();
+   *   Subscription response = subscriptionAdminClient.updateSubscription(request);
+   * }
+   * 
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.grpc.ApiException if the remote call fails + */ + public final Subscription updateSubscription(UpdateSubscriptionRequest request) { + return updateSubscriptionCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Updates an existing subscription. Note that certain properties of a subscription, such as its + * topic, are not modifiable. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   Subscription subscription = Subscription.newBuilder().build();
+   *   FieldMask updateMask = FieldMask.newBuilder().build();
+   *   UpdateSubscriptionRequest request = UpdateSubscriptionRequest.newBuilder()
+   *     .setSubscription(subscription)
+   *     .setUpdateMask(updateMask)
+   *     .build();
+   *   ApiFuture<Subscription> future = subscriptionAdminClient.updateSubscriptionCallable().futureCall(request);
+   *   // Do something
+   *   Subscription response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable updateSubscriptionCallable() { + return updateSubscriptionCallable; + } + // AUTO-GENERATED DOCUMENTATION AND METHOD /** * Lists matching subscriptions. @@ -416,9 +499,9 @@ public final UnaryCallable getSubscription *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   ProjectName project = ProjectName.create("[PROJECT]");
-   *   for (Subscription element : subscriberClient.listSubscriptions(project).iterateAllElements()) {
+   *   for (Subscription element : subscriptionAdminClient.listSubscriptions(project).iterateAllElements()) {
    *     // doThingsWith(element);
    *   }
    * }
@@ -441,12 +524,12 @@ public final ListSubscriptionsPagedResponse listSubscriptions(ProjectName projec
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   ProjectName project = ProjectName.create("[PROJECT]");
    *   ListSubscriptionsRequest request = ListSubscriptionsRequest.newBuilder()
    *     .setProjectWithProjectName(project)
    *     .build();
-   *   for (Subscription element : subscriberClient.listSubscriptions(request).iterateAllElements()) {
+   *   for (Subscription element : subscriptionAdminClient.listSubscriptions(request).iterateAllElements()) {
    *     // doThingsWith(element);
    *   }
    * }
@@ -466,12 +549,12 @@ public final ListSubscriptionsPagedResponse listSubscriptions(ListSubscriptionsR
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   ProjectName project = ProjectName.create("[PROJECT]");
    *   ListSubscriptionsRequest request = ListSubscriptionsRequest.newBuilder()
    *     .setProjectWithProjectName(project)
    *     .build();
-   *   ApiFuture<ListSubscriptionsPagedResponse> future = subscriberClient.listSubscriptionsPagedCallable().futureCall(request);
+   *   ApiFuture<ListSubscriptionsPagedResponse> future = subscriptionAdminClient.listSubscriptionsPagedCallable().futureCall(request);
    *   // Do something
    *   for (Subscription element : future.get().iterateAllElements()) {
    *     // doThingsWith(element);
@@ -491,13 +574,13 @@ public final ListSubscriptionsPagedResponse listSubscriptions(ListSubscriptionsR
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   ProjectName project = ProjectName.create("[PROJECT]");
    *   ListSubscriptionsRequest request = ListSubscriptionsRequest.newBuilder()
    *     .setProjectWithProjectName(project)
    *     .build();
    *   while (true) {
-   *     ListSubscriptionsResponse response = subscriberClient.listSubscriptionsCallable().call(request);
+   *     ListSubscriptionsResponse response = subscriptionAdminClient.listSubscriptionsCallable().call(request);
    *     for (Subscription element : response.getSubscriptionsList()) {
    *       // doThingsWith(element);
    *     }
@@ -526,9 +609,9 @@ public final ListSubscriptionsPagedResponse listSubscriptions(ListSubscriptionsR
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
-   *   subscriberClient.deleteSubscription(subscription);
+   *   subscriptionAdminClient.deleteSubscription(subscription);
    * }
    * 
* @@ -555,12 +638,12 @@ public final void deleteSubscription(SubscriptionName subscription) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   DeleteSubscriptionRequest request = DeleteSubscriptionRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .build();
-   *   subscriberClient.deleteSubscription(request);
+   *   subscriptionAdminClient.deleteSubscription(request);
    * }
    * 
* @@ -581,12 +664,12 @@ private final void deleteSubscription(DeleteSubscriptionRequest request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   DeleteSubscriptionRequest request = DeleteSubscriptionRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .build();
-   *   ApiFuture<Void> future = subscriberClient.deleteSubscriptionCallable().futureCall(request);
+   *   ApiFuture<Void> future = subscriptionAdminClient.deleteSubscriptionCallable().futureCall(request);
    *   // Do something
    *   future.get();
    * }
@@ -606,11 +689,11 @@ public final UnaryCallable deleteSubscriptionC
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   List<String> ackIds = new ArrayList<>();
    *   int ackDeadlineSeconds = 0;
-   *   subscriberClient.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);
+   *   subscriptionAdminClient.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds);
    * }
    * 
* @@ -624,6 +707,7 @@ public final UnaryCallable deleteSubscriptionC * seconds. The maximum deadline you can specify is 600 seconds (10 minutes). * @throws com.google.api.gax.grpc.ApiException if the remote call fails */ + @Deprecated public final void modifyAckDeadline( SubscriptionName subscription, List ackIds, int ackDeadlineSeconds) { @@ -646,7 +730,7 @@ public final void modifyAckDeadline( *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   List<String> ackIds = new ArrayList<>();
    *   int ackDeadlineSeconds = 0;
@@ -655,13 +739,14 @@ public final void modifyAckDeadline(
    *     .addAllAckIds(ackIds)
    *     .setAckDeadlineSeconds(ackDeadlineSeconds)
    *     .build();
-   *   subscriberClient.modifyAckDeadline(request);
+   *   subscriptionAdminClient.modifyAckDeadline(request);
    * }
    * 
* * @param request The request object containing all of the parameters for the API call. * @throws com.google.api.gax.grpc.ApiException if the remote call fails */ + @Deprecated public final void modifyAckDeadline(ModifyAckDeadlineRequest request) { modifyAckDeadlineCallable().call(request); } @@ -676,7 +761,7 @@ public final void modifyAckDeadline(ModifyAckDeadlineRequest request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   List<String> ackIds = new ArrayList<>();
    *   int ackDeadlineSeconds = 0;
@@ -685,12 +770,13 @@ public final void modifyAckDeadline(ModifyAckDeadlineRequest request) {
    *     .addAllAckIds(ackIds)
    *     .setAckDeadlineSeconds(ackDeadlineSeconds)
    *     .build();
-   *   ApiFuture<Void> future = subscriberClient.modifyAckDeadlineCallable().futureCall(request);
+   *   ApiFuture<Void> future = subscriptionAdminClient.modifyAckDeadlineCallable().futureCall(request);
    *   // Do something
    *   future.get();
    * }
    * 
*/ + @Deprecated public final UnaryCallable modifyAckDeadlineCallable() { return modifyAckDeadlineCallable; } @@ -706,10 +792,10 @@ public final UnaryCallable modifyAckDeadlineCal *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   List<String> ackIds = new ArrayList<>();
-   *   subscriberClient.acknowledge(subscription, ackIds);
+   *   subscriptionAdminClient.acknowledge(subscription, ackIds);
    * }
    * 
* @@ -719,6 +805,7 @@ public final UnaryCallable modifyAckDeadlineCal * the Pub/Sub system in the `Pull` response. Must not be empty. * @throws com.google.api.gax.grpc.ApiException if the remote call fails */ + @Deprecated public final void acknowledge(SubscriptionName subscription, List ackIds) { AcknowledgeRequest request = @@ -740,20 +827,21 @@ public final void acknowledge(SubscriptionName subscription, List ackIds *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   List<String> ackIds = new ArrayList<>();
    *   AcknowledgeRequest request = AcknowledgeRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .addAllAckIds(ackIds)
    *     .build();
-   *   subscriberClient.acknowledge(request);
+   *   subscriptionAdminClient.acknowledge(request);
    * }
    * 
* * @param request The request object containing all of the parameters for the API call. * @throws com.google.api.gax.grpc.ApiException if the remote call fails */ + @Deprecated public final void acknowledge(AcknowledgeRequest request) { acknowledgeCallable().call(request); } @@ -769,19 +857,20 @@ public final void acknowledge(AcknowledgeRequest request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   List<String> ackIds = new ArrayList<>();
    *   AcknowledgeRequest request = AcknowledgeRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .addAllAckIds(ackIds)
    *     .build();
-   *   ApiFuture<Void> future = subscriberClient.acknowledgeCallable().futureCall(request);
+   *   ApiFuture<Void> future = subscriptionAdminClient.acknowledgeCallable().futureCall(request);
    *   // Do something
    *   future.get();
    * }
    * 
*/ + @Deprecated public final UnaryCallable acknowledgeCallable() { return acknowledgeCallable; } @@ -795,11 +884,11 @@ public final UnaryCallable acknowledgeCallable() { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   boolean returnImmediately = false;
    *   int maxMessages = 0;
-   *   PullResponse response = subscriberClient.pull(subscription, returnImmediately, maxMessages);
+   *   PullResponse response = subscriptionAdminClient.pull(subscription, returnImmediately, maxMessages);
    * }
    * 
* @@ -814,6 +903,7 @@ public final UnaryCallable acknowledgeCallable() { * may return fewer than the number specified. * @throws com.google.api.gax.grpc.ApiException if the remote call fails */ + @Deprecated public final PullResponse pull( SubscriptionName subscription, boolean returnImmediately, int maxMessages) { @@ -835,20 +925,21 @@ public final PullResponse pull( *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   int maxMessages = 0;
    *   PullRequest request = PullRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .setMaxMessages(maxMessages)
    *     .build();
-   *   PullResponse response = subscriberClient.pull(request);
+   *   PullResponse response = subscriptionAdminClient.pull(request);
    * }
    * 
* * @param request The request object containing all of the parameters for the API call. * @throws com.google.api.gax.grpc.ApiException if the remote call fails */ + @Deprecated public final PullResponse pull(PullRequest request) { return pullCallable().call(request); } @@ -862,19 +953,20 @@ public final PullResponse pull(PullRequest request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   int maxMessages = 0;
    *   PullRequest request = PullRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .setMaxMessages(maxMessages)
    *     .build();
-   *   ApiFuture<PullResponse> future = subscriberClient.pullCallable().futureCall(request);
+   *   ApiFuture<PullResponse> future = subscriptionAdminClient.pullCallable().futureCall(request);
    *   // Do something
    *   PullResponse response = future.get();
    * }
    * 
*/ + @Deprecated public final UnaryCallable pullCallable() { return pullCallable; } @@ -896,7 +988,7 @@ public final UnaryCallable pullCallable() { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   ApiStreamObserver<StreamingPullResponse> responseObserver =
    *       new ApiStreamObserver<StreamingPullResponse>() {
    *         {@literal @}Override
@@ -915,7 +1007,7 @@ public final UnaryCallable pullCallable() {
    *         }
    *       };
    *   ApiStreamObserver<StreamingRecognizeRequest> requestObserver =
-   *       subscriberClient.streamingPullCallable().bidiStreamingCall(responseObserver)});
+   *       subscriptionAdminClient.streamingPullCallable().bidiStreamingCall(responseObserver)});
    *
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   int streamAckDeadlineSeconds = 0;
@@ -944,10 +1036,10 @@ public final UnaryCallable pullCallable() {
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   PushConfig pushConfig = PushConfig.newBuilder().build();
-   *   subscriberClient.modifyPushConfig(subscription, pushConfig);
+   *   subscriptionAdminClient.modifyPushConfig(subscription, pushConfig);
    * }
    * 
* @@ -981,14 +1073,14 @@ public final void modifyPushConfig(SubscriptionName subscription, PushConfig pus *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   PushConfig pushConfig = PushConfig.newBuilder().build();
    *   ModifyPushConfigRequest request = ModifyPushConfigRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .setPushConfig(pushConfig)
    *     .build();
-   *   subscriberClient.modifyPushConfig(request);
+   *   subscriptionAdminClient.modifyPushConfig(request);
    * }
    * 
* @@ -1011,14 +1103,14 @@ public final void modifyPushConfig(ModifyPushConfigRequest request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    *   PushConfig pushConfig = PushConfig.newBuilder().build();
    *   ModifyPushConfigRequest request = ModifyPushConfigRequest.newBuilder()
    *     .setSubscriptionWithSubscriptionName(subscription)
    *     .setPushConfig(pushConfig)
    *     .build();
-   *   ApiFuture<Void> future = subscriberClient.modifyPushConfigCallable().futureCall(request);
+   *   ApiFuture<Void> future = subscriptionAdminClient.modifyPushConfigCallable().futureCall(request);
    *   // Do something
    *   future.get();
    * }
@@ -1028,6 +1120,343 @@ public final UnaryCallable modifyPushConfigCalla
     return modifyPushConfigCallable;
   }
 
+  // AUTO-GENERATED DOCUMENTATION AND METHOD
+  /**
+   * Lists the existing snapshots.
+   *
+   * 

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   ProjectName project = ProjectName.create("[PROJECT]");
+   *   for (Snapshot element : subscriptionAdminClient.listSnapshots(project).iterateAllElements()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * 
+ * + * @param project The name of the cloud project that snapshots belong to. Format is + * `projects/{project}`. + * @throws com.google.api.gax.grpc.ApiException if the remote call fails + */ + public final ListSnapshotsPagedResponse listSnapshots(ProjectName project) { + ListSnapshotsRequest request = + ListSnapshotsRequest.newBuilder().setProjectWithProjectName(project).build(); + return listSnapshots(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists the existing snapshots. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   ProjectName project = ProjectName.create("[PROJECT]");
+   *   ListSnapshotsRequest request = ListSnapshotsRequest.newBuilder()
+   *     .setProjectWithProjectName(project)
+   *     .build();
+   *   for (Snapshot element : subscriptionAdminClient.listSnapshots(request).iterateAllElements()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * 
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.grpc.ApiException if the remote call fails + */ + public final ListSnapshotsPagedResponse listSnapshots(ListSnapshotsRequest request) { + return listSnapshotsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists the existing snapshots. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   ProjectName project = ProjectName.create("[PROJECT]");
+   *   ListSnapshotsRequest request = ListSnapshotsRequest.newBuilder()
+   *     .setProjectWithProjectName(project)
+   *     .build();
+   *   ApiFuture<ListSnapshotsPagedResponse> future = subscriptionAdminClient.listSnapshotsPagedCallable().futureCall(request);
+   *   // Do something
+   *   for (Snapshot element : future.get().iterateAllElements()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable + listSnapshotsPagedCallable() { + return listSnapshotsPagedCallable; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists the existing snapshots. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   ProjectName project = ProjectName.create("[PROJECT]");
+   *   ListSnapshotsRequest request = ListSnapshotsRequest.newBuilder()
+   *     .setProjectWithProjectName(project)
+   *     .build();
+   *   while (true) {
+   *     ListSnapshotsResponse response = subscriptionAdminClient.listSnapshotsCallable().call(request);
+   *     for (Snapshot element : response.getSnapshotsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable listSnapshotsCallable() { + return listSnapshotsCallable; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates a snapshot from the requested subscription. If the snapshot already exists, returns + * `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. + * + *

If the name is not provided in the request, the server will assign a random name for this + * snapshot on the same project as the subscription, conforming to the [resource name + * format](https://cloud.google.com/pubsub/docs/overview#names). The generated name is populated + * in the returned Snapshot object. Note that for REST API requests, you must specify a name in + * the request. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   SnapshotName name = SnapshotName.create("[PROJECT]", "[SNAPSHOT]");
+   *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
+   *   Snapshot response = subscriptionAdminClient.createSnapshot(name, subscription);
+   * }
+   * 
+ * + * @param name Optional user-provided name for this snapshot. If the name is not provided in the + * request, the server will assign a random name for this snapshot on the same project as the + * subscription. Note that for REST API requests, you must specify a name. Format is + * `projects/{project}/snapshots/{snap}`. + * @param subscription The subscription whose backlog the snapshot retains. Specifically, the + * created snapshot is guaranteed to retain: (a) The existing backlog on the subscription. + * More precisely, this is defined as the messages in the subscription's backlog that are + * unacknowledged upon the successful completion of the `CreateSnapshot` request; as well as: + * (b) Any messages published to the subscription's topic following the successful completion + * of the CreateSnapshot request. Format is `projects/{project}/subscriptions/{sub}`. + * @throws com.google.api.gax.grpc.ApiException if the remote call fails + */ + public final Snapshot createSnapshot(SnapshotName name, SubscriptionName subscription) { + + CreateSnapshotRequest request = + CreateSnapshotRequest.newBuilder() + .setNameWithSnapshotName(name) + .setSubscriptionWithSubscriptionName(subscription) + .build(); + return createSnapshot(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates a snapshot from the requested subscription. If the snapshot already exists, returns + * `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. + * + *

If the name is not provided in the request, the server will assign a random name for this + * snapshot on the same project as the subscription, conforming to the [resource name + * format](https://cloud.google.com/pubsub/docs/overview#names). The generated name is populated + * in the returned Snapshot object. Note that for REST API requests, you must specify a name in + * the request. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   SnapshotName name = SnapshotName.create("[PROJECT]", "[SNAPSHOT]");
+   *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
+   *   CreateSnapshotRequest request = CreateSnapshotRequest.newBuilder()
+   *     .setNameWithSnapshotName(name)
+   *     .setSubscriptionWithSubscriptionName(subscription)
+   *     .build();
+   *   Snapshot response = subscriptionAdminClient.createSnapshot(request);
+   * }
+   * 
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.grpc.ApiException if the remote call fails + */ + public final Snapshot createSnapshot(CreateSnapshotRequest request) { + return createSnapshotCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates a snapshot from the requested subscription. If the snapshot already exists, returns + * `ALREADY_EXISTS`. If the requested subscription doesn't exist, returns `NOT_FOUND`. + * + *

If the name is not provided in the request, the server will assign a random name for this + * snapshot on the same project as the subscription, conforming to the [resource name + * format](https://cloud.google.com/pubsub/docs/overview#names). The generated name is populated + * in the returned Snapshot object. Note that for REST API requests, you must specify a name in + * the request. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   SnapshotName name = SnapshotName.create("[PROJECT]", "[SNAPSHOT]");
+   *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
+   *   CreateSnapshotRequest request = CreateSnapshotRequest.newBuilder()
+   *     .setNameWithSnapshotName(name)
+   *     .setSubscriptionWithSubscriptionName(subscription)
+   *     .build();
+   *   ApiFuture<Snapshot> future = subscriptionAdminClient.createSnapshotCallable().futureCall(request);
+   *   // Do something
+   *   Snapshot response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable createSnapshotCallable() { + return createSnapshotCallable; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Removes an existing snapshot. All messages retained in the snapshot are immediately dropped. + * After a snapshot is deleted, a new one may be created with the same name, but the new one has + * no association with the old snapshot or its subscription, unless the same subscription is + * specified. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   SnapshotName snapshot = SnapshotName.create("[PROJECT]", "[SNAPSHOT]");
+   *   subscriptionAdminClient.deleteSnapshot(snapshot);
+   * }
+   * 
+ * + * @param snapshot The name of the snapshot to delete. Format is + * `projects/{project}/snapshots/{snap}`. + * @throws com.google.api.gax.grpc.ApiException if the remote call fails + */ + public final void deleteSnapshot(SnapshotName snapshot) { + + DeleteSnapshotRequest request = + DeleteSnapshotRequest.newBuilder().setSnapshotWithSnapshotName(snapshot).build(); + deleteSnapshot(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Removes an existing snapshot. All messages retained in the snapshot are immediately dropped. + * After a snapshot is deleted, a new one may be created with the same name, but the new one has + * no association with the old snapshot or its subscription, unless the same subscription is + * specified. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   SnapshotName snapshot = SnapshotName.create("[PROJECT]", "[SNAPSHOT]");
+   *   DeleteSnapshotRequest request = DeleteSnapshotRequest.newBuilder()
+   *     .setSnapshotWithSnapshotName(snapshot)
+   *     .build();
+   *   subscriptionAdminClient.deleteSnapshot(request);
+   * }
+   * 
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.grpc.ApiException if the remote call fails + */ + private final void deleteSnapshot(DeleteSnapshotRequest request) { + deleteSnapshotCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Removes an existing snapshot. All messages retained in the snapshot are immediately dropped. + * After a snapshot is deleted, a new one may be created with the same name, but the new one has + * no association with the old snapshot or its subscription, unless the same subscription is + * specified. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   SnapshotName snapshot = SnapshotName.create("[PROJECT]", "[SNAPSHOT]");
+   *   DeleteSnapshotRequest request = DeleteSnapshotRequest.newBuilder()
+   *     .setSnapshotWithSnapshotName(snapshot)
+   *     .build();
+   *   ApiFuture<Void> future = subscriptionAdminClient.deleteSnapshotCallable().futureCall(request);
+   *   // Do something
+   *   future.get();
+   * }
+   * 
+ */ + public final UnaryCallable deleteSnapshotCallable() { + return deleteSnapshotCallable; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided + * in the request. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
+   *   SeekRequest request = SeekRequest.newBuilder()
+   *     .setSubscriptionWithSubscriptionName(subscription)
+   *     .build();
+   *   SeekResponse response = subscriptionAdminClient.seek(request);
+   * }
+   * 
+ * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.grpc.ApiException if the remote call fails + */ + public final SeekResponse seek(SeekRequest request) { + return seekCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided + * in the request. + * + *

Sample code: + * + *


+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
+   *   SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
+   *   SeekRequest request = SeekRequest.newBuilder()
+   *     .setSubscriptionWithSubscriptionName(subscription)
+   *     .build();
+   *   ApiFuture<SeekResponse> future = subscriptionAdminClient.seekCallable().futureCall(request);
+   *   // Do something
+   *   SeekResponse response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable seekCallable() { + return seekCallable; + } + // AUTO-GENERATED DOCUMENTATION AND METHOD /** * Sets the access control policy on the specified resource. Replaces any existing policy. @@ -1035,10 +1464,10 @@ public final UnaryCallable modifyPushConfigCalla *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
    *   Policy policy = Policy.newBuilder().build();
-   *   Policy response = subscriberClient.setIamPolicy(formattedResource, policy);
+   *   Policy response = subscriptionAdminClient.setIamPolicy(formattedResource, policy);
    * }
    * 
* @@ -1064,14 +1493,14 @@ public final Policy setIamPolicy(String resource, Policy policy) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
    *   Policy policy = Policy.newBuilder().build();
    *   SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .setPolicy(policy)
    *     .build();
-   *   Policy response = subscriberClient.setIamPolicy(request);
+   *   Policy response = subscriptionAdminClient.setIamPolicy(request);
    * }
    * 
* @@ -1089,14 +1518,14 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
    *   Policy policy = Policy.newBuilder().build();
    *   SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .setPolicy(policy)
    *     .build();
-   *   ApiFuture<Policy> future = subscriberClient.setIamPolicyCallable().futureCall(request);
+   *   ApiFuture<Policy> future = subscriptionAdminClient.setIamPolicyCallable().futureCall(request);
    *   // Do something
    *   Policy response = future.get();
    * }
@@ -1114,9 +1543,9 @@ public final UnaryCallable setIamPolicyCallable() {
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
-   *   Policy response = subscriberClient.getIamPolicy(formattedResource);
+   *   Policy response = subscriptionAdminClient.getIamPolicy(formattedResource);
    * }
    * 
* @@ -1139,12 +1568,12 @@ public final Policy getIamPolicy(String resource) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
    *   GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .build();
-   *   Policy response = subscriberClient.getIamPolicy(request);
+   *   Policy response = subscriptionAdminClient.getIamPolicy(request);
    * }
    * 
* @@ -1163,12 +1592,12 @@ private final Policy getIamPolicy(GetIamPolicyRequest request) { *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
    *   GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .build();
-   *   ApiFuture<Policy> future = subscriberClient.getIamPolicyCallable().futureCall(request);
+   *   ApiFuture<Policy> future = subscriptionAdminClient.getIamPolicyCallable().futureCall(request);
    *   // Do something
    *   Policy response = future.get();
    * }
@@ -1186,10 +1615,10 @@ public final UnaryCallable getIamPolicyCallable() {
    * 

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
    *   List<String> permissions = new ArrayList<>();
-   *   TestIamPermissionsResponse response = subscriberClient.testIamPermissions(formattedResource, permissions);
+   *   TestIamPermissionsResponse response = subscriptionAdminClient.testIamPermissions(formattedResource, permissions);
    * }
    * 
* @@ -1220,14 +1649,14 @@ public final TestIamPermissionsResponse testIamPermissions( *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
    *   List<String> permissions = new ArrayList<>();
    *   TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .addAllPermissions(permissions)
    *     .build();
-   *   TestIamPermissionsResponse response = subscriberClient.testIamPermissions(request);
+   *   TestIamPermissionsResponse response = subscriptionAdminClient.testIamPermissions(request);
    * }
    * 
* @@ -1246,14 +1675,14 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq *

Sample code: * *


-   * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+   * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
    *   String formattedResource = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]").toString();
    *   List<String> permissions = new ArrayList<>();
    *   TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .addAllPermissions(permissions)
    *     .build();
-   *   ApiFuture<TestIamPermissionsResponse> future = subscriberClient.testIamPermissionsCallable().futureCall(request);
+   *   ApiFuture<TestIamPermissionsResponse> future = subscriptionAdminClient.testIamPermissionsCallable().futureCall(request);
    *   // Do something
    *   TestIamPermissionsResponse response = future.get();
    * }
diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriberSettings.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminSettings.java
similarity index 73%
rename from google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriberSettings.java
rename to google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminSettings.java
index bca03b5eb593..9fc29e2fd5a4 100644
--- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriberSettings.java
+++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminSettings.java
@@ -15,6 +15,7 @@
  */
 package com.google.cloud.pubsub.spi.v1;
 
+import static com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListSnapshotsPagedResponse;
 import static com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListSubscriptionsPagedResponse;
 
 import com.google.api.gax.core.GoogleCredentialsProvider;
@@ -46,18 +47,26 @@
 import com.google.protobuf.Empty;
 import com.google.protobuf.ExperimentalApi;
 import com.google.pubsub.v1.AcknowledgeRequest;
+import com.google.pubsub.v1.CreateSnapshotRequest;
+import com.google.pubsub.v1.DeleteSnapshotRequest;
 import com.google.pubsub.v1.DeleteSubscriptionRequest;
 import com.google.pubsub.v1.GetSubscriptionRequest;
+import com.google.pubsub.v1.ListSnapshotsRequest;
+import com.google.pubsub.v1.ListSnapshotsResponse;
 import com.google.pubsub.v1.ListSubscriptionsRequest;
 import com.google.pubsub.v1.ListSubscriptionsResponse;
 import com.google.pubsub.v1.ModifyAckDeadlineRequest;
 import com.google.pubsub.v1.ModifyPushConfigRequest;
 import com.google.pubsub.v1.PullRequest;
 import com.google.pubsub.v1.PullResponse;
+import com.google.pubsub.v1.SeekRequest;
+import com.google.pubsub.v1.SeekResponse;
+import com.google.pubsub.v1.Snapshot;
 import com.google.pubsub.v1.StreamingPullRequest;
 import com.google.pubsub.v1.StreamingPullResponse;
 import com.google.pubsub.v1.SubscriberGrpc;
 import com.google.pubsub.v1.Subscription;
+import com.google.pubsub.v1.UpdateSubscriptionRequest;
 import io.grpc.Status;
 import java.io.IOException;
 import javax.annotation.Generated;
@@ -65,7 +74,7 @@
 
 // AUTO-GENERATED DOCUMENTATION AND CLASS
 /**
- * Settings class to configure an instance of {@link SubscriberClient}.
+ * Settings class to configure an instance of {@link SubscriptionAdminClient}.
  *
  * 

The default instance has everything set to sensible defaults: * @@ -81,17 +90,17 @@ * *

  * 
- * SubscriberSettings.Builder subscriberSettingsBuilder =
- *     SubscriberSettings.defaultBuilder();
- * subscriberSettingsBuilder.createSubscriptionSettings().getRetrySettingsBuilder()
+ * SubscriptionAdminSettings.Builder subscriptionAdminSettingsBuilder =
+ *     SubscriptionAdminSettings.defaultBuilder();
+ * subscriptionAdminSettingsBuilder.createSubscriptionSettings().getRetrySettingsBuilder()
  *     .setTotalTimeout(Duration.standardSeconds(30));
- * SubscriberSettings subscriberSettings = subscriberSettingsBuilder.build();
+ * SubscriptionAdminSettings subscriptionAdminSettings = subscriptionAdminSettingsBuilder.build();
  * 
  * 
*/ @Generated("by GAPIC v0.0.5") @ExperimentalApi -public class SubscriberSettings extends ClientSettings { +public class SubscriptionAdminSettings extends ClientSettings { /** The default address of the service. */ private static final String DEFAULT_SERVICE_ADDRESS = "pubsub.googleapis.com"; @@ -110,6 +119,8 @@ public class SubscriberSettings extends ClientSettings { private final SimpleCallSettings createSubscriptionSettings; private final SimpleCallSettings getSubscriptionSettings; + private final SimpleCallSettings + updateSubscriptionSettings; private final PagedCallSettings< ListSubscriptionsRequest, ListSubscriptionsResponse, ListSubscriptionsPagedResponse> listSubscriptionsSettings; @@ -120,6 +131,12 @@ public class SubscriberSettings extends ClientSettings { private final StreamingCallSettings streamingPullSettings; private final SimpleCallSettings modifyPushConfigSettings; + private final PagedCallSettings< + ListSnapshotsRequest, ListSnapshotsResponse, ListSnapshotsPagedResponse> + listSnapshotsSettings; + private final SimpleCallSettings createSnapshotSettings; + private final SimpleCallSettings deleteSnapshotSettings; + private final SimpleCallSettings seekSettings; private final SimpleCallSettings setIamPolicySettings; private final SimpleCallSettings getIamPolicySettings; private final SimpleCallSettings @@ -135,6 +152,11 @@ public SimpleCallSettings getSubscriptionS return getSubscriptionSettings; } + /** Returns the object with the settings used for calls to updateSubscription. */ + public SimpleCallSettings updateSubscriptionSettings() { + return updateSubscriptionSettings; + } + /** Returns the object with the settings used for calls to listSubscriptions. */ public PagedCallSettings< ListSubscriptionsRequest, ListSubscriptionsResponse, ListSubscriptionsPagedResponse> @@ -173,6 +195,27 @@ public SimpleCallSettings modifyPushConfigSettin return modifyPushConfigSettings; } + /** Returns the object with the settings used for calls to listSnapshots. */ + public PagedCallSettings + listSnapshotsSettings() { + return listSnapshotsSettings; + } + + /** Returns the object with the settings used for calls to createSnapshot. */ + public SimpleCallSettings createSnapshotSettings() { + return createSnapshotSettings; + } + + /** Returns the object with the settings used for calls to deleteSnapshot. */ + public SimpleCallSettings deleteSnapshotSettings() { + return deleteSnapshotSettings; + } + + /** Returns the object with the settings used for calls to seek. */ + public SimpleCallSettings seekSettings() { + return seekSettings; + } + /** Returns the object with the settings used for calls to setIamPolicy. */ public SimpleCallSettings setIamPolicySettings() { return setIamPolicySettings; @@ -224,7 +267,7 @@ public static InstantiatingChannelProvider.Builder defaultChannelProviderBuilder } private static String getGapicVersion() { - String packageVersion = SubscriberSettings.class.getPackage().getImplementationVersion(); + String packageVersion = SubscriptionAdminSettings.class.getPackage().getImplementationVersion(); return packageVersion != null ? packageVersion : DEFAULT_GAPIC_VERSION; } @@ -243,11 +286,12 @@ public Builder toBuilder() { return new Builder(this); } - private SubscriberSettings(Builder settingsBuilder) throws IOException { + private SubscriptionAdminSettings(Builder settingsBuilder) throws IOException { super(settingsBuilder.getExecutorProvider(), settingsBuilder.getChannelProvider()); createSubscriptionSettings = settingsBuilder.createSubscriptionSettings().build(); getSubscriptionSettings = settingsBuilder.getSubscriptionSettings().build(); + updateSubscriptionSettings = settingsBuilder.updateSubscriptionSettings().build(); listSubscriptionsSettings = settingsBuilder.listSubscriptionsSettings().build(); deleteSubscriptionSettings = settingsBuilder.deleteSubscriptionSettings().build(); modifyAckDeadlineSettings = settingsBuilder.modifyAckDeadlineSettings().build(); @@ -255,6 +299,10 @@ private SubscriberSettings(Builder settingsBuilder) throws IOException { pullSettings = settingsBuilder.pullSettings().build(); streamingPullSettings = settingsBuilder.streamingPullSettings().build(); modifyPushConfigSettings = settingsBuilder.modifyPushConfigSettings().build(); + listSnapshotsSettings = settingsBuilder.listSnapshotsSettings().build(); + createSnapshotSettings = settingsBuilder.createSnapshotSettings().build(); + deleteSnapshotSettings = settingsBuilder.deleteSnapshotSettings().build(); + seekSettings = settingsBuilder.seekSettings().build(); setIamPolicySettings = settingsBuilder.setIamPolicySettings().build(); getIamPolicySettings = settingsBuilder.getIamPolicySettings().build(); testIamPermissionsSettings = settingsBuilder.testIamPermissionsSettings().build(); @@ -300,6 +348,40 @@ public Iterable extractResources(ListSubscriptionsResponse payload } }; + private static final PagedListDescriptor + LIST_SNAPSHOTS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public Object emptyToken() { + return ""; + } + + @Override + public ListSnapshotsRequest injectToken(ListSnapshotsRequest payload, Object token) { + return ListSnapshotsRequest.newBuilder(payload).setPageToken((String) token).build(); + } + + @Override + public ListSnapshotsRequest injectPageSize(ListSnapshotsRequest payload, int pageSize) { + return ListSnapshotsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListSnapshotsRequest payload) { + return payload.getPageSize(); + } + + @Override + public Object extractNextToken(ListSnapshotsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListSnapshotsResponse payload) { + return payload.getSnapshotsList(); + } + }; + private static final PagedListResponseFactory< ListSubscriptionsRequest, ListSubscriptionsResponse, ListSubscriptionsPagedResponse> LIST_SUBSCRIPTIONS_PAGE_STR_FACT = @@ -316,13 +398,30 @@ public ListSubscriptionsPagedResponse createPagedListResponse( } }; - /** Builder for SubscriberSettings. */ + private static final PagedListResponseFactory< + ListSnapshotsRequest, ListSnapshotsResponse, ListSnapshotsPagedResponse> + LIST_SNAPSHOTS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListSnapshotsRequest, ListSnapshotsResponse, ListSnapshotsPagedResponse>() { + @Override + public ListSnapshotsPagedResponse createPagedListResponse( + UnaryCallable callable, + ListSnapshotsRequest request, + CallContext context) { + return new ListSnapshotsPagedResponse( + callable, LIST_SNAPSHOTS_PAGE_STR_DESC, request, context); + } + }; + + /** Builder for SubscriptionAdminSettings. */ public static class Builder extends ClientSettings.Builder { private final ImmutableList unaryMethodSettingsBuilders; private final SimpleCallSettings.Builder createSubscriptionSettings; private final SimpleCallSettings.Builder getSubscriptionSettings; + private final SimpleCallSettings.Builder + updateSubscriptionSettings; private final PagedCallSettings.Builder< ListSubscriptionsRequest, ListSubscriptionsResponse, ListSubscriptionsPagedResponse> listSubscriptionsSettings; @@ -336,6 +435,13 @@ public static class Builder extends ClientSettings.Builder { streamingPullSettings; private final SimpleCallSettings.Builder modifyPushConfigSettings; + private final PagedCallSettings.Builder< + ListSnapshotsRequest, ListSnapshotsResponse, ListSnapshotsPagedResponse> + listSnapshotsSettings; + private final SimpleCallSettings.Builder + createSnapshotSettings; + private final SimpleCallSettings.Builder deleteSnapshotSettings; + private final SimpleCallSettings.Builder seekSettings; private final SimpleCallSettings.Builder setIamPolicySettings; private final SimpleCallSettings.Builder getIamPolicySettings; private final SimpleCallSettings.Builder @@ -353,6 +459,15 @@ public static class Builder extends ClientSettings.Builder { definitions.put( "non_idempotent", Sets.immutableEnumSet(Lists.newArrayList(Status.Code.UNAVAILABLE))); + definitions.put( + "pull", + Sets.immutableEnumSet( + Lists.newArrayList( + Status.Code.CANCELLED, + Status.Code.DEADLINE_EXCEEDED, + Status.Code.RESOURCE_EXHAUSTED, + Status.Code.INTERNAL, + Status.Code.UNAVAILABLE))); RETRYABLE_CODE_DEFINITIONS = definitions.build(); } @@ -393,6 +508,9 @@ private Builder() { getSubscriptionSettings = SimpleCallSettings.newBuilder(SubscriberGrpc.METHOD_GET_SUBSCRIPTION); + updateSubscriptionSettings = + SimpleCallSettings.newBuilder(SubscriberGrpc.METHOD_UPDATE_SUBSCRIPTION); + listSubscriptionsSettings = PagedCallSettings.newBuilder( SubscriberGrpc.METHOD_LIST_SUBSCRIPTIONS, LIST_SUBSCRIPTIONS_PAGE_STR_FACT); @@ -413,6 +531,16 @@ private Builder() { modifyPushConfigSettings = SimpleCallSettings.newBuilder(SubscriberGrpc.METHOD_MODIFY_PUSH_CONFIG); + listSnapshotsSettings = + PagedCallSettings.newBuilder( + SubscriberGrpc.METHOD_LIST_SNAPSHOTS, LIST_SNAPSHOTS_PAGE_STR_FACT); + + createSnapshotSettings = SimpleCallSettings.newBuilder(SubscriberGrpc.METHOD_CREATE_SNAPSHOT); + + deleteSnapshotSettings = SimpleCallSettings.newBuilder(SubscriberGrpc.METHOD_DELETE_SNAPSHOT); + + seekSettings = SimpleCallSettings.newBuilder(SubscriberGrpc.METHOD_SEEK); + setIamPolicySettings = SimpleCallSettings.newBuilder(IAMPolicyGrpc.METHOD_SET_IAM_POLICY); getIamPolicySettings = SimpleCallSettings.newBuilder(IAMPolicyGrpc.METHOD_GET_IAM_POLICY); @@ -424,12 +552,17 @@ private Builder() { ImmutableList.of( createSubscriptionSettings, getSubscriptionSettings, + updateSubscriptionSettings, listSubscriptionsSettings, deleteSubscriptionSettings, modifyAckDeadlineSettings, acknowledgeSettings, pullSettings, modifyPushConfigSettings, + listSnapshotsSettings, + createSnapshotSettings, + deleteSnapshotSettings, + seekSettings, setIamPolicySettings, getIamPolicySettings, testIamPermissionsSettings); @@ -448,6 +581,11 @@ private static Builder createDefault() { .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); + builder + .updateSubscriptionSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); + builder .listSubscriptionsSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) @@ -470,7 +608,7 @@ private static Builder createDefault() { builder .pullSettings() - .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("pull")) .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("messaging")); builder @@ -478,6 +616,26 @@ private static Builder createDefault() { .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); + builder + .listSnapshotsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .createSnapshotSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .deleteSnapshotSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .seekSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettingsBuilder(RETRY_PARAM_DEFINITIONS.get("default")); + builder .setIamPolicySettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) @@ -496,11 +654,12 @@ private static Builder createDefault() { return builder; } - private Builder(SubscriberSettings settings) { + private Builder(SubscriptionAdminSettings settings) { super(settings); createSubscriptionSettings = settings.createSubscriptionSettings.toBuilder(); getSubscriptionSettings = settings.getSubscriptionSettings.toBuilder(); + updateSubscriptionSettings = settings.updateSubscriptionSettings.toBuilder(); listSubscriptionsSettings = settings.listSubscriptionsSettings.toBuilder(); deleteSubscriptionSettings = settings.deleteSubscriptionSettings.toBuilder(); modifyAckDeadlineSettings = settings.modifyAckDeadlineSettings.toBuilder(); @@ -508,6 +667,10 @@ private Builder(SubscriberSettings settings) { pullSettings = settings.pullSettings.toBuilder(); streamingPullSettings = settings.streamingPullSettings.toBuilder(); modifyPushConfigSettings = settings.modifyPushConfigSettings.toBuilder(); + listSnapshotsSettings = settings.listSnapshotsSettings.toBuilder(); + createSnapshotSettings = settings.createSnapshotSettings.toBuilder(); + deleteSnapshotSettings = settings.deleteSnapshotSettings.toBuilder(); + seekSettings = settings.seekSettings.toBuilder(); setIamPolicySettings = settings.setIamPolicySettings.toBuilder(); getIamPolicySettings = settings.getIamPolicySettings.toBuilder(); testIamPermissionsSettings = settings.testIamPermissionsSettings.toBuilder(); @@ -516,12 +679,17 @@ private Builder(SubscriberSettings settings) { ImmutableList.of( createSubscriptionSettings, getSubscriptionSettings, + updateSubscriptionSettings, listSubscriptionsSettings, deleteSubscriptionSettings, modifyAckDeadlineSettings, acknowledgeSettings, pullSettings, modifyPushConfigSettings, + listSnapshotsSettings, + createSnapshotSettings, + deleteSnapshotSettings, + seekSettings, setIamPolicySettings, getIamPolicySettings, testIamPermissionsSettings); @@ -562,6 +730,12 @@ public SimpleCallSettings.Builder createSubscription return getSubscriptionSettings; } + /** Returns the builder for the settings used for calls to updateSubscription. */ + public SimpleCallSettings.Builder + updateSubscriptionSettings() { + return updateSubscriptionSettings; + } + /** Returns the builder for the settings used for calls to listSubscriptions. */ public PagedCallSettings.Builder< ListSubscriptionsRequest, ListSubscriptionsResponse, ListSubscriptionsPagedResponse> @@ -601,6 +775,28 @@ public SimpleCallSettings.Builder modifyPushConf return modifyPushConfigSettings; } + /** Returns the builder for the settings used for calls to listSnapshots. */ + public PagedCallSettings.Builder< + ListSnapshotsRequest, ListSnapshotsResponse, ListSnapshotsPagedResponse> + listSnapshotsSettings() { + return listSnapshotsSettings; + } + + /** Returns the builder for the settings used for calls to createSnapshot. */ + public SimpleCallSettings.Builder createSnapshotSettings() { + return createSnapshotSettings; + } + + /** Returns the builder for the settings used for calls to deleteSnapshot. */ + public SimpleCallSettings.Builder deleteSnapshotSettings() { + return deleteSnapshotSettings; + } + + /** Returns the builder for the settings used for calls to seek. */ + public SimpleCallSettings.Builder seekSettings() { + return seekSettings; + } + /** Returns the builder for the settings used for calls to setIamPolicy. */ public SimpleCallSettings.Builder setIamPolicySettings() { return setIamPolicySettings; @@ -618,8 +814,8 @@ public SimpleCallSettings.Builder getIamPolicySetti } @Override - public SubscriberSettings build() throws IOException { - return new SubscriberSettings(this); + public SubscriptionAdminSettings build() throws IOException { + return new SubscriptionAdminSettings(this); } } } diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PublisherClient.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/TopicAdminClient.java similarity index 84% rename from google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PublisherClient.java rename to google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/TopicAdminClient.java index ffb576048316..d17c03ad1ab7 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PublisherClient.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/TopicAdminClient.java @@ -59,14 +59,14 @@ * *
  * 
- * try (PublisherClient publisherClient = PublisherClient.create()) {
+ * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
  *   TopicName name = TopicName.create("[PROJECT]", "[TOPIC]");
- *   Topic response = publisherClient.createTopic(name);
+ *   Topic response = topicAdminClient.createTopic(name);
  * }
  * 
  * 
* - *

Note: close() needs to be called on the publisherClient object to clean up resources such as + *

Note: close() needs to be called on the topicAdminClient object to clean up resources such as * threads. In the example above, try-with-resources is used, which automatically calls close(). * *

The surface of this class includes several types of Java methods for each of the API's @@ -89,26 +89,26 @@ * these names, this class includes a format method for each type of name, and additionally a parse * method to extract the individual identifiers contained within names that are returned. * - *

This class can be customized by passing in a custom instance of PublisherSettings to create(). - * For example: + *

This class can be customized by passing in a custom instance of TopicAdminSettings to + * create(). For example: * *

  * 
  * InstantiatingChannelProvider channelProvider =
- *     PublisherSettings.defaultChannelProviderBuilder()
+ *     TopicAdminSettings.defaultChannelProviderBuilder()
  *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
  *         .build();
- * PublisherSettings publisherSettings =
- *     PublisherSettings.defaultBuilder().setChannelProvider(channelProvider).build();
- * PublisherClient publisherClient =
- *     PublisherClient.create(publisherSettings);
+ * TopicAdminSettings topicAdminSettings =
+ *     TopicAdminSettings.defaultBuilder().setChannelProvider(channelProvider).build();
+ * TopicAdminClient topicAdminClient =
+ *     TopicAdminClient.create(topicAdminSettings);
  * 
  * 
*/ @Generated("by GAPIC") @ExperimentalApi -public class PublisherClient implements AutoCloseable { - private final PublisherSettings settings; +public class TopicAdminClient implements AutoCloseable { + private final TopicAdminSettings settings; private final ScheduledExecutorService executor; private final ManagedChannel channel; private final List closeables = new ArrayList<>(); @@ -128,24 +128,24 @@ public class PublisherClient implements AutoCloseable { private final UnaryCallable testIamPermissionsCallable; - /** Constructs an instance of PublisherClient with default settings. */ - public static final PublisherClient create() throws IOException { - return create(PublisherSettings.defaultBuilder().build()); + /** Constructs an instance of TopicAdminClient with default settings. */ + public static final TopicAdminClient create() throws IOException { + return create(TopicAdminSettings.defaultBuilder().build()); } /** - * Constructs an instance of PublisherClient, using the given settings. The channels are created + * Constructs an instance of TopicAdminClient, using the given settings. The channels are created * based on the settings passed in, or defaults for any settings that are not set. */ - public static final PublisherClient create(PublisherSettings settings) throws IOException { - return new PublisherClient(settings); + public static final TopicAdminClient create(TopicAdminSettings settings) throws IOException { + return new TopicAdminClient(settings); } /** - * Constructs an instance of PublisherClient, using the given settings. This is protected so that + * Constructs an instance of TopicAdminClient, using the given settings. This is protected so that * it easy to make a subclass, but otherwise, the static factory methods should be preferred. */ - protected PublisherClient(PublisherSettings settings) throws IOException { + protected TopicAdminClient(TopicAdminSettings settings) throws IOException { this.settings = settings; ChannelAndExecutor channelAndExecutor = settings.getChannelAndExecutor(); this.executor = channelAndExecutor.getExecutor(); @@ -197,7 +197,7 @@ public void close() throws IOException { } } - public final PublisherSettings getSettings() { + public final TopicAdminSettings getSettings() { return settings; } @@ -208,9 +208,9 @@ public final PublisherSettings getSettings() { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName name = TopicName.create("[PROJECT]", "[TOPIC]");
-   *   Topic response = publisherClient.createTopic(name);
+   *   Topic response = topicAdminClient.createTopic(name);
    * }
    * 
* @@ -234,12 +234,12 @@ public final Topic createTopic(TopicName name) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName name = TopicName.create("[PROJECT]", "[TOPIC]");
    *   Topic request = Topic.newBuilder()
    *     .setNameWithTopicName(name)
    *     .build();
-   *   Topic response = publisherClient.createTopic(request);
+   *   Topic response = topicAdminClient.createTopic(request);
    * }
    * 
* @@ -257,12 +257,12 @@ private final Topic createTopic(Topic request) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName name = TopicName.create("[PROJECT]", "[TOPIC]");
    *   Topic request = Topic.newBuilder()
    *     .setNameWithTopicName(name)
    *     .build();
-   *   ApiFuture<Topic> future = publisherClient.createTopicCallable().futureCall(request);
+   *   ApiFuture<Topic> future = topicAdminClient.createTopicCallable().futureCall(request);
    *   // Do something
    *   Topic response = future.get();
    * }
@@ -281,14 +281,14 @@ public final UnaryCallable createTopicCallable() {
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   ByteString data = ByteString.copyFromUtf8("");
    *   PubsubMessage messagesElement = PubsubMessage.newBuilder()
    *     .setData(data)
    *     .build();
    *   List<PubsubMessage> messages = Arrays.asList(messagesElement);
-   *   PublishResponse response = publisherClient.publish(topic, messages);
+   *   PublishResponse response = topicAdminClient.publish(topic, messages);
    * }
    * 
* @@ -314,7 +314,7 @@ public final PublishResponse publish(TopicName topic, List messag *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   ByteString data = ByteString.copyFromUtf8("");
    *   PubsubMessage messagesElement = PubsubMessage.newBuilder()
@@ -325,7 +325,7 @@ public final PublishResponse publish(TopicName topic, List messag
    *     .setTopicWithTopicName(topic)
    *     .addAllMessages(messages)
    *     .build();
-   *   PublishResponse response = publisherClient.publish(request);
+   *   PublishResponse response = topicAdminClient.publish(request);
    * }
    * 
* @@ -346,7 +346,7 @@ public final PublishResponse publish(PublishRequest request) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   ByteString data = ByteString.copyFromUtf8("");
    *   PubsubMessage messagesElement = PubsubMessage.newBuilder()
@@ -357,7 +357,7 @@ public final PublishResponse publish(PublishRequest request) {
    *     .setTopicWithTopicName(topic)
    *     .addAllMessages(messages)
    *     .build();
-   *   ApiFuture<PublishResponse> future = publisherClient.publishCallable().futureCall(request);
+   *   ApiFuture<PublishResponse> future = topicAdminClient.publishCallable().futureCall(request);
    *   // Do something
    *   PublishResponse response = future.get();
    * }
@@ -375,9 +375,9 @@ public final UnaryCallable publishCallable() {
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
-   *   Topic response = publisherClient.getTopic(topic);
+   *   Topic response = topicAdminClient.getTopic(topic);
    * }
    * 
* @@ -397,12 +397,12 @@ public final Topic getTopic(TopicName topic) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   GetTopicRequest request = GetTopicRequest.newBuilder()
    *     .setTopicWithTopicName(topic)
    *     .build();
-   *   Topic response = publisherClient.getTopic(request);
+   *   Topic response = topicAdminClient.getTopic(request);
    * }
    * 
* @@ -420,12 +420,12 @@ private final Topic getTopic(GetTopicRequest request) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   GetTopicRequest request = GetTopicRequest.newBuilder()
    *     .setTopicWithTopicName(topic)
    *     .build();
-   *   ApiFuture<Topic> future = publisherClient.getTopicCallable().futureCall(request);
+   *   ApiFuture<Topic> future = topicAdminClient.getTopicCallable().futureCall(request);
    *   // Do something
    *   Topic response = future.get();
    * }
@@ -442,9 +442,9 @@ public final UnaryCallable getTopicCallable() {
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   ProjectName project = ProjectName.create("[PROJECT]");
-   *   for (Topic element : publisherClient.listTopics(project).iterateAllElements()) {
+   *   for (Topic element : topicAdminClient.listTopics(project).iterateAllElements()) {
    *     // doThingsWith(element);
    *   }
    * }
@@ -467,12 +467,12 @@ public final ListTopicsPagedResponse listTopics(ProjectName project) {
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   ProjectName project = ProjectName.create("[PROJECT]");
    *   ListTopicsRequest request = ListTopicsRequest.newBuilder()
    *     .setProjectWithProjectName(project)
    *     .build();
-   *   for (Topic element : publisherClient.listTopics(request).iterateAllElements()) {
+   *   for (Topic element : topicAdminClient.listTopics(request).iterateAllElements()) {
    *     // doThingsWith(element);
    *   }
    * }
@@ -492,12 +492,12 @@ public final ListTopicsPagedResponse listTopics(ListTopicsRequest request) {
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   ProjectName project = ProjectName.create("[PROJECT]");
    *   ListTopicsRequest request = ListTopicsRequest.newBuilder()
    *     .setProjectWithProjectName(project)
    *     .build();
-   *   ApiFuture<ListTopicsPagedResponse> future = publisherClient.listTopicsPagedCallable().futureCall(request);
+   *   ApiFuture<ListTopicsPagedResponse> future = topicAdminClient.listTopicsPagedCallable().futureCall(request);
    *   // Do something
    *   for (Topic element : future.get().iterateAllElements()) {
    *     // doThingsWith(element);
@@ -516,13 +516,13 @@ public final UnaryCallable listTopic
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   ProjectName project = ProjectName.create("[PROJECT]");
    *   ListTopicsRequest request = ListTopicsRequest.newBuilder()
    *     .setProjectWithProjectName(project)
    *     .build();
    *   while (true) {
-   *     ListTopicsResponse response = publisherClient.listTopicsCallable().call(request);
+   *     ListTopicsResponse response = topicAdminClient.listTopicsCallable().call(request);
    *     for (Topic element : response.getTopicsList()) {
    *       // doThingsWith(element);
    *     }
@@ -547,9 +547,9 @@ public final UnaryCallable listTopicsCall
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
-   *   for (SubscriptionName element : publisherClient.listTopicSubscriptions(topic).iterateAllAsSubscriptionName()) {
+   *   for (SubscriptionName element : topicAdminClient.listTopicSubscriptions(topic).iterateAllAsSubscriptionName()) {
    *     // doThingsWith(element);
    *   }
    * }
@@ -572,12 +572,12 @@ public final ListTopicSubscriptionsPagedResponse listTopicSubscriptions(TopicNam
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   ListTopicSubscriptionsRequest request = ListTopicSubscriptionsRequest.newBuilder()
    *     .setTopicWithTopicName(topic)
    *     .build();
-   *   for (SubscriptionName element : publisherClient.listTopicSubscriptions(request).iterateAllAsSubscriptionName()) {
+   *   for (SubscriptionName element : topicAdminClient.listTopicSubscriptions(request).iterateAllAsSubscriptionName()) {
    *     // doThingsWith(element);
    *   }
    * }
@@ -598,12 +598,12 @@ public final ListTopicSubscriptionsPagedResponse listTopicSubscriptions(
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   ListTopicSubscriptionsRequest request = ListTopicSubscriptionsRequest.newBuilder()
    *     .setTopicWithTopicName(topic)
    *     .build();
-   *   ApiFuture<ListTopicSubscriptionsPagedResponse> future = publisherClient.listTopicSubscriptionsPagedCallable().futureCall(request);
+   *   ApiFuture<ListTopicSubscriptionsPagedResponse> future = topicAdminClient.listTopicSubscriptionsPagedCallable().futureCall(request);
    *   // Do something
    *   for (SubscriptionName element : future.get().iterateAllAsSubscriptionName()) {
    *     // doThingsWith(element);
@@ -623,13 +623,13 @@ public final ListTopicSubscriptionsPagedResponse listTopicSubscriptions(
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   ListTopicSubscriptionsRequest request = ListTopicSubscriptionsRequest.newBuilder()
    *     .setTopicWithTopicName(topic)
    *     .build();
    *   while (true) {
-   *     ListTopicSubscriptionsResponse response = publisherClient.listTopicSubscriptionsCallable().call(request);
+   *     ListTopicSubscriptionsResponse response = topicAdminClient.listTopicSubscriptionsCallable().call(request);
    *     for (SubscriptionName element : response.getSubscriptionsListAsSubscriptionNameList()) {
    *       // doThingsWith(element);
    *     }
@@ -658,9 +658,9 @@ public final ListTopicSubscriptionsPagedResponse listTopicSubscriptions(
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
-   *   publisherClient.deleteTopic(topic);
+   *   topicAdminClient.deleteTopic(topic);
    * }
    * 
* @@ -684,12 +684,12 @@ public final void deleteTopic(TopicName topic) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   DeleteTopicRequest request = DeleteTopicRequest.newBuilder()
    *     .setTopicWithTopicName(topic)
    *     .build();
-   *   publisherClient.deleteTopic(request);
+   *   topicAdminClient.deleteTopic(request);
    * }
    * 
* @@ -710,12 +710,12 @@ private final void deleteTopic(DeleteTopicRequest request) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
    *   DeleteTopicRequest request = DeleteTopicRequest.newBuilder()
    *     .setTopicWithTopicName(topic)
    *     .build();
-   *   ApiFuture<Void> future = publisherClient.deleteTopicCallable().futureCall(request);
+   *   ApiFuture<Void> future = topicAdminClient.deleteTopicCallable().futureCall(request);
    *   // Do something
    *   future.get();
    * }
@@ -732,10 +732,10 @@ public final UnaryCallable deleteTopicCallable() {
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
    *   Policy policy = Policy.newBuilder().build();
-   *   Policy response = publisherClient.setIamPolicy(formattedResource, policy);
+   *   Policy response = topicAdminClient.setIamPolicy(formattedResource, policy);
    * }
    * 
* @@ -761,14 +761,14 @@ public final Policy setIamPolicy(String resource, Policy policy) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
    *   Policy policy = Policy.newBuilder().build();
    *   SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .setPolicy(policy)
    *     .build();
-   *   Policy response = publisherClient.setIamPolicy(request);
+   *   Policy response = topicAdminClient.setIamPolicy(request);
    * }
    * 
* @@ -786,14 +786,14 @@ public final Policy setIamPolicy(SetIamPolicyRequest request) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
    *   Policy policy = Policy.newBuilder().build();
    *   SetIamPolicyRequest request = SetIamPolicyRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .setPolicy(policy)
    *     .build();
-   *   ApiFuture<Policy> future = publisherClient.setIamPolicyCallable().futureCall(request);
+   *   ApiFuture<Policy> future = topicAdminClient.setIamPolicyCallable().futureCall(request);
    *   // Do something
    *   Policy response = future.get();
    * }
@@ -811,9 +811,9 @@ public final UnaryCallable setIamPolicyCallable() {
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
-   *   Policy response = publisherClient.getIamPolicy(formattedResource);
+   *   Policy response = topicAdminClient.getIamPolicy(formattedResource);
    * }
    * 
* @@ -836,12 +836,12 @@ public final Policy getIamPolicy(String resource) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
    *   GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .build();
-   *   Policy response = publisherClient.getIamPolicy(request);
+   *   Policy response = topicAdminClient.getIamPolicy(request);
    * }
    * 
* @@ -860,12 +860,12 @@ private final Policy getIamPolicy(GetIamPolicyRequest request) { *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
    *   GetIamPolicyRequest request = GetIamPolicyRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .build();
-   *   ApiFuture<Policy> future = publisherClient.getIamPolicyCallable().futureCall(request);
+   *   ApiFuture<Policy> future = topicAdminClient.getIamPolicyCallable().futureCall(request);
    *   // Do something
    *   Policy response = future.get();
    * }
@@ -883,10 +883,10 @@ public final UnaryCallable getIamPolicyCallable() {
    * 

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
    *   List<String> permissions = new ArrayList<>();
-   *   TestIamPermissionsResponse response = publisherClient.testIamPermissions(formattedResource, permissions);
+   *   TestIamPermissionsResponse response = topicAdminClient.testIamPermissions(formattedResource, permissions);
    * }
    * 
* @@ -917,14 +917,14 @@ public final TestIamPermissionsResponse testIamPermissions( *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
    *   List<String> permissions = new ArrayList<>();
    *   TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .addAllPermissions(permissions)
    *     .build();
-   *   TestIamPermissionsResponse response = publisherClient.testIamPermissions(request);
+   *   TestIamPermissionsResponse response = topicAdminClient.testIamPermissions(request);
    * }
    * 
* @@ -943,14 +943,14 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq *

Sample code: * *


-   * try (PublisherClient publisherClient = PublisherClient.create()) {
+   * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
    *   String formattedResource = TopicName.create("[PROJECT]", "[TOPIC]").toString();
    *   List<String> permissions = new ArrayList<>();
    *   TestIamPermissionsRequest request = TestIamPermissionsRequest.newBuilder()
    *     .setResource(formattedResource)
    *     .addAllPermissions(permissions)
    *     .build();
-   *   ApiFuture<TestIamPermissionsResponse> future = publisherClient.testIamPermissionsCallable().futureCall(request);
+   *   ApiFuture<TestIamPermissionsResponse> future = topicAdminClient.testIamPermissionsCallable().futureCall(request);
    *   // Do something
    *   TestIamPermissionsResponse response = future.get();
    * }
diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PublisherSettings.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/TopicAdminSettings.java
similarity index 96%
rename from google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PublisherSettings.java
rename to google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/TopicAdminSettings.java
index c189d29d46fd..663067843062 100644
--- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/PublisherSettings.java
+++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/TopicAdminSettings.java
@@ -72,7 +72,7 @@
 
 // AUTO-GENERATED DOCUMENTATION AND CLASS
 /**
- * Settings class to configure an instance of {@link PublisherClient}.
+ * Settings class to configure an instance of {@link TopicAdminClient}.
  *
  * 

The default instance has everything set to sensible defaults: * @@ -88,17 +88,17 @@ * *

  * 
- * PublisherSettings.Builder publisherSettingsBuilder =
- *     PublisherSettings.defaultBuilder();
- * publisherSettingsBuilder.createTopicSettings().getRetrySettingsBuilder()
+ * TopicAdminSettings.Builder topicAdminSettingsBuilder =
+ *     TopicAdminSettings.defaultBuilder();
+ * topicAdminSettingsBuilder.createTopicSettings().getRetrySettingsBuilder()
  *     .setTotalTimeout(Duration.standardSeconds(30));
- * PublisherSettings publisherSettings = publisherSettingsBuilder.build();
+ * TopicAdminSettings topicAdminSettings = topicAdminSettingsBuilder.build();
  * 
  * 
*/ @Generated("by GAPIC v0.0.5") @ExperimentalApi -public class PublisherSettings extends ClientSettings { +public class TopicAdminSettings extends ClientSettings { /** The default address of the service. */ private static final String DEFAULT_SERVICE_ADDRESS = "pubsub.googleapis.com"; @@ -215,7 +215,7 @@ public static InstantiatingChannelProvider.Builder defaultChannelProviderBuilder } private static String getGapicVersion() { - String packageVersion = PublisherSettings.class.getPackage().getImplementationVersion(); + String packageVersion = TopicAdminSettings.class.getPackage().getImplementationVersion(); return packageVersion != null ? packageVersion : DEFAULT_GAPIC_VERSION; } @@ -234,7 +234,7 @@ public Builder toBuilder() { return new Builder(this); } - private PublisherSettings(Builder settingsBuilder) throws IOException { + private TopicAdminSettings(Builder settingsBuilder) throws IOException { super(settingsBuilder.getExecutorProvider(), settingsBuilder.getChannelProvider()); createTopicSettings = settingsBuilder.createTopicSettings().build(); @@ -423,7 +423,7 @@ public long countBytes(PublishRequest request) { } }; - /** Builder for PublisherSettings. */ + /** Builder for TopicAdminSettings. */ public static class Builder extends ClientSettings.Builder { private final ImmutableList unaryMethodSettingsBuilders; @@ -456,7 +456,13 @@ public static class Builder extends ClientSettings.Builder { "one_plus_delivery", Sets.immutableEnumSet( Lists.newArrayList( - Status.Code.DEADLINE_EXCEEDED, Status.Code.UNAVAILABLE))); + Status.Code.CANCELLED, + Status.Code.UNKNOWN, + Status.Code.DEADLINE_EXCEEDED, + Status.Code.RESOURCE_EXHAUSTED, + Status.Code.ABORTED, + Status.Code.INTERNAL, + Status.Code.UNAVAILABLE))); definitions.put( "non_idempotent", Sets.immutableEnumSet(Lists.newArrayList(Status.Code.UNAVAILABLE))); @@ -593,7 +599,7 @@ private static Builder createDefault() { return builder; } - private Builder(PublisherSettings settings) { + private Builder(TopicAdminSettings settings) { super(settings); createTopicSettings = settings.createTopicSettings.toBuilder(); @@ -694,8 +700,8 @@ public SimpleCallSettings.Builder getIamPolicySetti } @Override - public PublisherSettings build() throws IOException { - return new PublisherSettings(this); + public TopicAdminSettings build() throws IOException { + return new TopicAdminSettings(this); } } } diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/package-info.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/package-info.java index e7beb741eb31..4054800fd344 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/package-info.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/spi/v1/package-info.java @@ -19,41 +19,41 @@ * *

The interfaces provided are listed below, along with usage samples. * - *

=============== PublisherClient =============== + *

================ TopicAdminClient ================ * *

Service Description: The service that an application uses to manipulate topics, and to send * messages to a topic. * *

To publish messages to a topic, see the Publisher class. * - *

Sample for PublisherClient: + *

Sample for TopicAdminClient: * *

  * 
- * try (PublisherClient publisherClient = PublisherClient.create()) {
+ * try (TopicAdminClient topicAdminClient = TopicAdminClient.create()) {
  *   TopicName name = TopicName.create("[PROJECT]", "[TOPIC]");
- *   Topic response = publisherClient.createTopic(name);
+ *   Topic response = topicAdminClient.createTopic(name);
  * }
  * 
  * 
* - * ================ SubscriberClient ================ + * ======================= SubscriptionAdminClient ======================= * *

Service Description: The service that an application uses to manipulate subscriptions and to * consume messages from a subscription via the `Pull` method. * *

To retrieve messages from a subscription, see the Subscriber class. * - *

Sample for SubscriberClient: + *

Sample for SubscriptionAdminClient: * *

  * 
- * try (SubscriberClient subscriberClient = SubscriberClient.create()) {
+ * try (SubscriptionAdminClient subscriptionAdminClient = SubscriptionAdminClient.create()) {
  *   SubscriptionName name = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
  *   TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]");
  *   PushConfig pushConfig = PushConfig.newBuilder().build();
  *   int ackDeadlineSeconds = 0;
- *   Subscription response = subscriberClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
+ *   Subscription response = subscriptionAdminClient.createSubscription(name, topic, pushConfig, ackDeadlineSeconds);
  * }
  * 
  * 
diff --git a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/it/ITPubSubTest.java b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/it/ITPubSubTest.java index ae6a704a9778..2b09914b535d 100644 --- a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/it/ITPubSubTest.java +++ b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/it/ITPubSubTest.java @@ -25,9 +25,9 @@ import com.google.cloud.pubsub.spi.v1.AckReplyConsumer; import com.google.cloud.pubsub.spi.v1.MessageReceiver; import com.google.cloud.pubsub.spi.v1.Publisher; -import com.google.cloud.pubsub.spi.v1.PublisherClient; +import com.google.cloud.pubsub.spi.v1.TopicAdminClient; import com.google.cloud.pubsub.spi.v1.Subscriber; -import com.google.cloud.pubsub.spi.v1.SubscriberClient; +import com.google.cloud.pubsub.spi.v1.SubscriptionAdminClient; import com.google.common.util.concurrent.MoreExecutors; import com.google.iam.v1.Binding; import com.google.iam.v1.Policy; @@ -48,23 +48,23 @@ public class ITPubSubTest { private static final String NAME_SUFFIX = UUID.randomUUID().toString(); - private static PublisherClient publisherClient; - private static SubscriberClient subscriberClient; + private static TopicAdminClient topicAdminClient; + private static SubscriptionAdminClient subscriptionAdminClient; private static String projectId; @Rule public Timeout globalTimeout = Timeout.seconds(300); @BeforeClass public static void setupClass() throws Exception { - publisherClient = PublisherClient.create(); - subscriberClient = SubscriberClient.create(); + topicAdminClient = TopicAdminClient.create(); + subscriptionAdminClient = SubscriptionAdminClient.create(); projectId = ServiceOptions.getDefaultProjectId(); } @AfterClass public static void tearDownClass() throws Exception { - publisherClient.close(); - subscriberClient.close(); + topicAdminClient.close(); + subscriptionAdminClient.close(); } private String formatForTest(String resourceName) { @@ -74,24 +74,24 @@ private String formatForTest(String resourceName) { @Test public void testTopicPolicy() { TopicName topicName = TopicName.create(projectId, formatForTest("testing-topic-policy")); - publisherClient.createTopic(topicName); + topicAdminClient.createTopic(topicName); - Policy policy = publisherClient.getIamPolicy(topicName.toString()); + Policy policy = topicAdminClient.getIamPolicy(topicName.toString()); Binding binding = Binding.newBuilder().setRole("roles/viewer").addMembers("allAuthenticatedUsers").build(); Policy newPolicy = - publisherClient.setIamPolicy( + topicAdminClient.setIamPolicy( topicName.toString(), policy.toBuilder().addBindings(binding).build()); assertTrue(newPolicy.getBindingsList().contains(binding)); String permissionName = "pubsub.topics.get"; List permissions = - publisherClient + topicAdminClient .testIamPermissions(topicName.toString(), Collections.singletonList(permissionName)) .getPermissionsList(); assertTrue(permissions.contains(permissionName)); - publisherClient.deleteTopic(topicName); + topicAdminClient.deleteTopic(topicName); } @Test @@ -101,8 +101,8 @@ public void testPublishSubscribe() throws Exception { SubscriptionName subscriptionName = SubscriptionName.create(projectId, formatForTest("testing-publish-subscribe-subscription")); - publisherClient.createTopic(topicName); - subscriberClient.createSubscription( + topicAdminClient.createTopic(topicName); + subscriptionAdminClient.createSubscription( subscriptionName, topicName, PushConfig.newBuilder().build(), 10); PubsubMessage message = PubsubMessage.newBuilder().setData(ByteString.copyFromUtf8("my message")).build(); @@ -138,7 +138,7 @@ public void failed(Subscriber.State from, Throwable failure) { assertEquals(received.get().getData(), message.getData()); subscriber.stopAsync().awaitTerminated(); - subscriberClient.deleteSubscription(subscriptionName); - publisherClient.deleteTopic(topicName); + subscriptionAdminClient.deleteSubscription(subscriptionName); + topicAdminClient.deleteTopic(topicName); } } diff --git a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/MockSubscriberImpl.java b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/MockSubscriberImpl.java index a7b0077a6bee..e780fb364037 100644 --- a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/MockSubscriberImpl.java +++ b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/MockSubscriberImpl.java @@ -18,18 +18,26 @@ import com.google.protobuf.Empty; import com.google.protobuf.GeneratedMessageV3; import com.google.pubsub.v1.AcknowledgeRequest; +import com.google.pubsub.v1.CreateSnapshotRequest; +import com.google.pubsub.v1.DeleteSnapshotRequest; import com.google.pubsub.v1.DeleteSubscriptionRequest; import com.google.pubsub.v1.GetSubscriptionRequest; +import com.google.pubsub.v1.ListSnapshotsRequest; +import com.google.pubsub.v1.ListSnapshotsResponse; import com.google.pubsub.v1.ListSubscriptionsRequest; import com.google.pubsub.v1.ListSubscriptionsResponse; import com.google.pubsub.v1.ModifyAckDeadlineRequest; import com.google.pubsub.v1.ModifyPushConfigRequest; import com.google.pubsub.v1.PullRequest; import com.google.pubsub.v1.PullResponse; +import com.google.pubsub.v1.SeekRequest; +import com.google.pubsub.v1.SeekResponse; +import com.google.pubsub.v1.Snapshot; import com.google.pubsub.v1.StreamingPullRequest; import com.google.pubsub.v1.StreamingPullResponse; import com.google.pubsub.v1.SubscriberGrpc.SubscriberImplBase; import com.google.pubsub.v1.Subscription; +import com.google.pubsub.v1.UpdateSubscriptionRequest; import io.grpc.stub.StreamObserver; import java.util.ArrayList; import java.util.LinkedList; @@ -97,6 +105,21 @@ public void getSubscription( } } + @Override + public void updateSubscription( + UpdateSubscriptionRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Subscription) { + requests.add(request); + responseObserver.onNext((Subscription) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + @Override public void listSubscriptions( ListSubscriptionsRequest request, @@ -215,4 +238,63 @@ public void modifyPushConfig( responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); } } + + @Override + public void listSnapshots( + ListSnapshotsRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof ListSnapshotsResponse) { + requests.add(request); + responseObserver.onNext((ListSnapshotsResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void createSnapshot( + CreateSnapshotRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Snapshot) { + requests.add(request); + responseObserver.onNext((Snapshot) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void deleteSnapshot( + DeleteSnapshotRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext((Empty) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void seek(SeekRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof SeekResponse) { + requests.add(request); + responseObserver.onNext((SeekResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } } diff --git a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/SubscriberClientTest.java b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminClientTest.java similarity index 77% rename from google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/SubscriberClientTest.java rename to google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminClientTest.java index 36f9901abc62..8a7705e3ae87 100644 --- a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/SubscriberClientTest.java +++ b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/SubscriptionAdminClientTest.java @@ -15,6 +15,7 @@ */ package com.google.cloud.pubsub.spi.v1; +import static com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListSnapshotsPagedResponse; import static com.google.cloud.pubsub.spi.v1.PagedResponseWrappers.ListSubscriptionsPagedResponse; import com.google.api.gax.core.ApiStreamObserver; @@ -33,8 +34,12 @@ import com.google.protobuf.Empty; import com.google.protobuf.GeneratedMessageV3; import com.google.pubsub.v1.AcknowledgeRequest; +import com.google.pubsub.v1.CreateSnapshotRequest; +import com.google.pubsub.v1.DeleteSnapshotRequest; import com.google.pubsub.v1.DeleteSubscriptionRequest; import com.google.pubsub.v1.GetSubscriptionRequest; +import com.google.pubsub.v1.ListSnapshotsRequest; +import com.google.pubsub.v1.ListSnapshotsResponse; import com.google.pubsub.v1.ListSubscriptionsRequest; import com.google.pubsub.v1.ListSubscriptionsResponse; import com.google.pubsub.v1.ModifyAckDeadlineRequest; @@ -43,6 +48,8 @@ import com.google.pubsub.v1.PullRequest; import com.google.pubsub.v1.PullResponse; import com.google.pubsub.v1.PushConfig; +import com.google.pubsub.v1.Snapshot; +import com.google.pubsub.v1.SnapshotName; import com.google.pubsub.v1.StreamingPullRequest; import com.google.pubsub.v1.StreamingPullResponse; import com.google.pubsub.v1.Subscription; @@ -64,12 +71,12 @@ import org.junit.Test; @javax.annotation.Generated("by GAPIC") -public class SubscriberClientTest { +public class SubscriptionAdminClientTest { private static MockPublisher mockPublisher; private static MockIAMPolicy mockIAMPolicy; private static MockSubscriber mockSubscriber; private static MockServiceHelper serviceHelper; - private SubscriberClient client; + private SubscriptionAdminClient client; @BeforeClass public static void startStaticServer() { @@ -91,11 +98,11 @@ public static void stopServer() { @Before public void setUp() throws IOException { serviceHelper.reset(); - SubscriberSettings settings = - SubscriberSettings.defaultBuilder() + SubscriptionAdminSettings settings = + SubscriptionAdminSettings.defaultBuilder() .setChannelProvider(serviceHelper.createChannelProvider()) .build(); - client = SubscriberClient.create(settings); + client = SubscriptionAdminClient.create(settings); } @After @@ -109,11 +116,13 @@ public void createSubscriptionTest() { SubscriptionName name2 = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]"); TopicNameOneof topic2 = TopicNameOneof.from(TopicName.create("[PROJECT]", "[TOPIC]")); int ackDeadlineSeconds2 = -921632575; + boolean retainAckedMessages = false; Subscription expectedResponse = Subscription.newBuilder() .setNameWithSubscriptionName(name2) .setTopicWithTopicNameOneof(topic2) .setAckDeadlineSeconds(ackDeadlineSeconds2) + .setRetainAckedMessages(retainAckedMessages) .build(); mockSubscriber.addResponse(expectedResponse); @@ -139,7 +148,7 @@ public void createSubscriptionTest() { @Test @SuppressWarnings("all") public void createSubscriptionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { @@ -151,7 +160,7 @@ public void createSubscriptionExceptionTest() throws Exception { client.createSubscription(name, topic, pushConfig, ackDeadlineSeconds); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -161,11 +170,13 @@ public void getSubscriptionTest() { SubscriptionName name = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]"); TopicNameOneof topic = TopicNameOneof.from(TopicName.create("[PROJECT]", "[TOPIC]")); int ackDeadlineSeconds = 2135351438; + boolean retainAckedMessages = false; Subscription expectedResponse = Subscription.newBuilder() .setNameWithSubscriptionName(name) .setTopicWithTopicNameOneof(topic) .setAckDeadlineSeconds(ackDeadlineSeconds) + .setRetainAckedMessages(retainAckedMessages) .build(); mockSubscriber.addResponse(expectedResponse); @@ -184,7 +195,7 @@ public void getSubscriptionTest() { @Test @SuppressWarnings("all") public void getSubscriptionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { @@ -193,7 +204,7 @@ public void getSubscriptionExceptionTest() throws Exception { client.getSubscription(subscription); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -228,7 +239,7 @@ public void listSubscriptionsTest() { @Test @SuppressWarnings("all") public void listSubscriptionsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { @@ -237,7 +248,7 @@ public void listSubscriptionsExceptionTest() throws Exception { client.listSubscriptions(project); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -261,7 +272,7 @@ public void deleteSubscriptionTest() { @Test @SuppressWarnings("all") public void deleteSubscriptionExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { @@ -270,7 +281,7 @@ public void deleteSubscriptionExceptionTest() throws Exception { client.deleteSubscription(subscription); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -298,7 +309,7 @@ public void modifyAckDeadlineTest() { @Test @SuppressWarnings("all") public void modifyAckDeadlineExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { @@ -309,7 +320,7 @@ public void modifyAckDeadlineExceptionTest() throws Exception { client.modifyAckDeadline(subscription, ackIds, ackDeadlineSeconds); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -335,7 +346,7 @@ public void acknowledgeTest() { @Test @SuppressWarnings("all") public void acknowledgeExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { @@ -345,7 +356,7 @@ public void acknowledgeExceptionTest() throws Exception { client.acknowledge(subscription, ackIds); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -374,7 +385,7 @@ public void pullTest() { @Test @SuppressWarnings("all") public void pullExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { @@ -385,7 +396,7 @@ public void pullExceptionTest() throws Exception { client.pull(subscription, returnImmediately, maxMessages); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -420,7 +431,7 @@ public void streamingPullTest() throws Exception { @Test @SuppressWarnings("all") public void streamingPullExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]"); int streamAckDeadlineSeconds = 1875467245; @@ -445,7 +456,7 @@ public void streamingPullExceptionTest() throws Exception { } catch (ExecutionException e) { Assert.assertTrue(e.getCause() instanceof StatusRuntimeException); StatusRuntimeException statusException = (StatusRuntimeException) e.getCause(); - Assert.assertEquals(Status.INTERNAL, statusException.getStatus()); + Assert.assertEquals(Status.INVALID_ARGUMENT, statusException.getStatus()); } } @@ -471,7 +482,7 @@ public void modifyPushConfigTest() { @Test @SuppressWarnings("all") public void modifyPushConfigExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSubscriber.addException(exception); try { @@ -481,7 +492,124 @@ public void modifyPushConfigExceptionTest() throws Exception { client.modifyPushConfig(subscription, pushConfig); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); + } + } + + @Test + @SuppressWarnings("all") + public void listSnapshotsTest() { + String nextPageToken = ""; + Snapshot snapshotsElement = Snapshot.newBuilder().build(); + List snapshots = Arrays.asList(snapshotsElement); + ListSnapshotsResponse expectedResponse = + ListSnapshotsResponse.newBuilder() + .setNextPageToken(nextPageToken) + .addAllSnapshots(snapshots) + .build(); + mockSubscriber.addResponse(expectedResponse); + + ProjectName project = ProjectName.create("[PROJECT]"); + + ListSnapshotsPagedResponse pagedListResponse = client.listSnapshots(project); + + List resources = Lists.newArrayList(pagedListResponse.iterateAllElements()); + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSnapshotsList().get(0), resources.get(0)); + + List actualRequests = mockSubscriber.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSnapshotsRequest actualRequest = (ListSnapshotsRequest) actualRequests.get(0); + + Assert.assertEquals(project, actualRequest.getProjectAsProjectName()); + } + + @Test + @SuppressWarnings("all") + public void listSnapshotsExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockSubscriber.addException(exception); + + try { + ProjectName project = ProjectName.create("[PROJECT]"); + + client.listSnapshots(project); + Assert.fail("No exception raised"); + } catch (ApiException e) { + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); + } + } + + @Test + @SuppressWarnings("all") + public void createSnapshotTest() { + SnapshotName name2 = SnapshotName.create("[PROJECT]", "[SNAPSHOT]"); + TopicName topic = TopicName.create("[PROJECT]", "[TOPIC]"); + Snapshot expectedResponse = + Snapshot.newBuilder().setNameWithSnapshotName(name2).setTopicWithTopicName(topic).build(); + mockSubscriber.addResponse(expectedResponse); + + SnapshotName name = SnapshotName.create("[PROJECT]", "[SNAPSHOT]"); + SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]"); + + Snapshot actualResponse = client.createSnapshot(name, subscription); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockSubscriber.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateSnapshotRequest actualRequest = (CreateSnapshotRequest) actualRequests.get(0); + + Assert.assertEquals(name, actualRequest.getNameAsSnapshotName()); + Assert.assertEquals(subscription, actualRequest.getSubscriptionAsSubscriptionName()); + } + + @Test + @SuppressWarnings("all") + public void createSnapshotExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockSubscriber.addException(exception); + + try { + SnapshotName name = SnapshotName.create("[PROJECT]", "[SNAPSHOT]"); + SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]"); + + client.createSnapshot(name, subscription); + Assert.fail("No exception raised"); + } catch (ApiException e) { + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); + } + } + + @Test + @SuppressWarnings("all") + public void deleteSnapshotTest() { + Empty expectedResponse = Empty.newBuilder().build(); + mockSubscriber.addResponse(expectedResponse); + + SnapshotName snapshot = SnapshotName.create("[PROJECT]", "[SNAPSHOT]"); + + client.deleteSnapshot(snapshot); + + List actualRequests = mockSubscriber.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteSnapshotRequest actualRequest = (DeleteSnapshotRequest) actualRequests.get(0); + + Assert.assertEquals(snapshot, actualRequest.getSnapshotAsSnapshotName()); + } + + @Test + @SuppressWarnings("all") + public void deleteSnapshotExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockSubscriber.addException(exception); + + try { + SnapshotName snapshot = SnapshotName.create("[PROJECT]", "[SNAPSHOT]"); + + client.deleteSnapshot(snapshot); + Assert.fail("No exception raised"); + } catch (ApiException e) { + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -510,7 +638,7 @@ public void setIamPolicyTest() { @Test @SuppressWarnings("all") public void setIamPolicyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { @@ -520,7 +648,7 @@ public void setIamPolicyExceptionTest() throws Exception { client.setIamPolicy(formattedResource, policy); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -547,7 +675,7 @@ public void getIamPolicyTest() { @Test @SuppressWarnings("all") public void getIamPolicyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { @@ -556,7 +684,7 @@ public void getIamPolicyExceptionTest() throws Exception { client.getIamPolicy(formattedResource); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -584,7 +712,7 @@ public void testIamPermissionsTest() { @Test @SuppressWarnings("all") public void testIamPermissionsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { @@ -594,7 +722,7 @@ public void testIamPermissionsExceptionTest() throws Exception { client.testIamPermissions(formattedResource, permissions); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/PublisherClientTest.java b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/TopicAdminClientTest.java similarity index 93% rename from google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/PublisherClientTest.java rename to google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/TopicAdminClientTest.java index 39e39a817224..37bf7498f740 100644 --- a/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/PublisherClientTest.java +++ b/google-cloud-pubsub/src/test/java/com/google/cloud/pubsub/spi/v1/TopicAdminClientTest.java @@ -57,12 +57,12 @@ import org.junit.Test; @javax.annotation.Generated("by GAPIC") -public class PublisherClientTest { +public class TopicAdminClientTest { private static MockPublisher mockPublisher; private static MockIAMPolicy mockIAMPolicy; private static MockSubscriber mockSubscriber; private static MockServiceHelper serviceHelper; - private PublisherClient client; + private TopicAdminClient client; @BeforeClass public static void startStaticServer() { @@ -84,11 +84,11 @@ public static void stopServer() { @Before public void setUp() throws IOException { serviceHelper.reset(); - PublisherSettings settings = - PublisherSettings.defaultBuilder() + TopicAdminSettings settings = + TopicAdminSettings.defaultBuilder() .setChannelProvider(serviceHelper.createChannelProvider()) .build(); - client = PublisherClient.create(settings); + client = TopicAdminClient.create(settings); } @After @@ -118,7 +118,7 @@ public void createTopicTest() { @Test @SuppressWarnings("all") public void createTopicExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockPublisher.addException(exception); try { @@ -127,7 +127,7 @@ public void createTopicExceptionTest() throws Exception { client.createTopic(name); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -159,7 +159,7 @@ public void publishTest() { @Test @SuppressWarnings("all") public void publishExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockPublisher.addException(exception); try { @@ -171,7 +171,7 @@ public void publishExceptionTest() throws Exception { client.publish(topic, messages); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -197,7 +197,7 @@ public void getTopicTest() { @Test @SuppressWarnings("all") public void getTopicExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockPublisher.addException(exception); try { @@ -206,7 +206,7 @@ public void getTopicExceptionTest() throws Exception { client.getTopic(topic); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -241,7 +241,7 @@ public void listTopicsTest() { @Test @SuppressWarnings("all") public void listTopicsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockPublisher.addException(exception); try { @@ -250,7 +250,7 @@ public void listTopicsExceptionTest() throws Exception { client.listTopics(project); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -291,7 +291,7 @@ public void listTopicSubscriptionsTest() { @Test @SuppressWarnings("all") public void listTopicSubscriptionsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockPublisher.addException(exception); try { @@ -300,7 +300,7 @@ public void listTopicSubscriptionsExceptionTest() throws Exception { client.listTopicSubscriptions(topic); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -324,7 +324,7 @@ public void deleteTopicTest() { @Test @SuppressWarnings("all") public void deleteTopicExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockPublisher.addException(exception); try { @@ -333,7 +333,7 @@ public void deleteTopicExceptionTest() throws Exception { client.deleteTopic(topic); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -362,7 +362,7 @@ public void setIamPolicyTest() { @Test @SuppressWarnings("all") public void setIamPolicyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { @@ -372,7 +372,7 @@ public void setIamPolicyExceptionTest() throws Exception { client.setIamPolicy(formattedResource, policy); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -399,7 +399,7 @@ public void getIamPolicyTest() { @Test @SuppressWarnings("all") public void getIamPolicyExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { @@ -408,7 +408,7 @@ public void getIamPolicyExceptionTest() throws Exception { client.getIamPolicy(formattedResource); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -436,7 +436,7 @@ public void testIamPermissionsTest() { @Test @SuppressWarnings("all") public void testIamPermissionsExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockIAMPolicy.addException(exception); try { @@ -446,7 +446,7 @@ public void testIamPermissionsExceptionTest() throws Exception { client.testIamPermissions(formattedResource, permissions); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-speech/src/test/java/com/google/cloud/speech/spi/v1beta1/SpeechClientTest.java b/google-cloud-speech/src/test/java/com/google/cloud/speech/spi/v1beta1/SpeechClientTest.java index d98938f1967b..cc30143dc6de 100644 --- a/google-cloud-speech/src/test/java/com/google/cloud/speech/spi/v1beta1/SpeechClientTest.java +++ b/google-cloud-speech/src/test/java/com/google/cloud/speech/spi/v1beta1/SpeechClientTest.java @@ -107,7 +107,7 @@ public void syncRecognizeTest() { @Test @SuppressWarnings("all") public void syncRecognizeExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSpeech.addException(exception); try { @@ -121,7 +121,7 @@ public void syncRecognizeExceptionTest() throws Exception { client.syncRecognize(config, audio); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -158,7 +158,7 @@ public void asyncRecognizeTest() throws Exception { @Test @SuppressWarnings("all") public void asyncRecognizeExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSpeech.addException(exception); try { @@ -174,7 +174,7 @@ public void asyncRecognizeExceptionTest() throws Exception { } catch (ExecutionException e) { Assert.assertEquals(ApiException.class, e.getCause().getClass()); ApiException apiException = (ApiException) e.getCause(); - Assert.assertEquals(Status.INTERNAL.getCode(), apiException.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), apiException.getStatusCode()); } } @@ -205,7 +205,7 @@ public void streamingRecognizeTest() throws Exception { @Test @SuppressWarnings("all") public void streamingRecognizeExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockSpeech.addException(exception); StreamingRecognizeRequest request = StreamingRecognizeRequest.newBuilder().build(); @@ -224,7 +224,7 @@ public void streamingRecognizeExceptionTest() throws Exception { } catch (ExecutionException e) { Assert.assertTrue(e.getCause() instanceof StatusRuntimeException); StatusRuntimeException statusException = (StatusRuntimeException) e.getCause(); - Assert.assertEquals(Status.INTERNAL, statusException.getStatus()); + Assert.assertEquals(Status.INVALID_ARGUMENT, statusException.getStatus()); } } } diff --git a/google-cloud-trace/src/test/java/com/google/cloud/trace/spi/v1/TraceServiceClientTest.java b/google-cloud-trace/src/test/java/com/google/cloud/trace/spi/v1/TraceServiceClientTest.java index 0874976eab4a..e312d100a984 100644 --- a/google-cloud-trace/src/test/java/com/google/cloud/trace/spi/v1/TraceServiceClientTest.java +++ b/google-cloud-trace/src/test/java/com/google/cloud/trace/spi/v1/TraceServiceClientTest.java @@ -97,7 +97,7 @@ public void patchTracesTest() { @Test @SuppressWarnings("all") public void patchTracesExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockTraceService.addException(exception); try { @@ -107,7 +107,7 @@ public void patchTracesExceptionTest() throws Exception { client.patchTraces(projectId, traces); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -137,7 +137,7 @@ public void getTraceTest() { @Test @SuppressWarnings("all") public void getTraceExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockTraceService.addException(exception); try { @@ -147,7 +147,7 @@ public void getTraceExceptionTest() throws Exception { client.getTrace(projectId, traceId); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } @@ -182,7 +182,7 @@ public void listTracesTest() { @Test @SuppressWarnings("all") public void listTracesExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockTraceService.addException(exception); try { @@ -191,7 +191,7 @@ public void listTracesExceptionTest() throws Exception { client.listTraces(projectId); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } } diff --git a/google-cloud-vision/src/test/java/com/google/cloud/vision/spi/v1/ImageAnnotatorClientTest.java b/google-cloud-vision/src/test/java/com/google/cloud/vision/spi/v1/ImageAnnotatorClientTest.java index f1129b74f967..68ae3cfd6fff 100644 --- a/google-cloud-vision/src/test/java/com/google/cloud/vision/spi/v1/ImageAnnotatorClientTest.java +++ b/google-cloud-vision/src/test/java/com/google/cloud/vision/spi/v1/ImageAnnotatorClientTest.java @@ -90,7 +90,7 @@ public void batchAnnotateImagesTest() { @Test @SuppressWarnings("all") public void batchAnnotateImagesExceptionTest() throws Exception { - StatusRuntimeException exception = new StatusRuntimeException(Status.INTERNAL); + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); mockImageAnnotator.addException(exception); try { @@ -99,7 +99,7 @@ public void batchAnnotateImagesExceptionTest() throws Exception { client.batchAnnotateImages(requests); Assert.fail("No exception raised"); } catch (ApiException e) { - Assert.assertEquals(Status.INTERNAL.getCode(), e.getStatusCode()); + Assert.assertEquals(Status.INVALID_ARGUMENT.getCode(), e.getStatusCode()); } } }