From 8822f3b514bdddf028c12db7a773e80fa4f4f3a1 Mon Sep 17 00:00:00 2001 From: Lawrence Qiu Date: Mon, 18 Dec 2023 17:15:24 +0000 Subject: [PATCH] feat: Parse Host Service Name (#2300) * refactor: Add transportchannelprovider's endpoint to EndpointContext * chore: Add Endpoint tests for ClientContext * chore: Resolve PR comments * feat: Add HostServiceName to StubSettings * chore: Add comments for hostservicename * chore: Fix setEndpoint logic * chore: Add InternalApi annotation to setDefaultHost in StubSettings * fix: Expose HostServiceName in ClientContext * chore: Add comments for hostservicename * chore: Set hostServiceName to package private scope * chore: Update integration tests * chore: Resolve PR comments * chore: Do not generate getServiceName if hostServiceName is empty * chore: Add tests for parsing Host Service Name --- .../comment/SettingsCommentComposer.java | 3 +++ ...tractServiceStubSettingsClassComposer.java | 21 ++++++++++++++++++- .../api/generator/gapic/model/Service.java | 17 +++++++++++++++ .../LoggingServiceV2StubSettings.golden | 6 ++++++ .../grpc/goldens/PublisherStubSettings.golden | 6 ++++++ .../generator/gapic/model/ServiceTest.java | 13 ++++++++++++ .../com/google/api/gax/rpc/ClientContext.java | 9 ++++++++ .../google/api/gax/rpc/EndpointContext.java | 15 +++++++++++++ .../com/google/api/gax/rpc/StubSettings.java | 14 +++++++++++++ .../stub/ConnectionServiceStubSettings.java | 6 ++++++ .../v1/stub/TetherStubSettings.java | 6 ++++++ .../v1/stub/AssetServiceStubSettings.java | 6 ++++++ .../data/v2/stub/BigtableStubSettings.java | 6 ++++++ .../v1small/stub/AddressesStubSettings.java | 6 ++++++ .../stub/RegionOperationsStubSettings.java | 6 ++++++ .../v1/stub/IamCredentialsStubSettings.java | 6 ++++++ .../iam/v1/stub/IAMPolicyStubSettings.java | 6 ++++++ .../KeyManagementServiceStubSettings.java | 6 ++++++ .../v1/stub/LibraryServiceStubSettings.java | 6 ++++++ .../v2/stub/ConfigServiceV2StubSettings.java | 6 ++++++ .../v2/stub/LoggingServiceV2StubSettings.java | 6 ++++++ .../v2/stub/MetricsServiceV2StubSettings.java | 6 ++++++ .../pubsub/v1/stub/PublisherStubSettings.java | 6 ++++++ .../v1/stub/SchemaServiceStubSettings.java | 6 ++++++ .../v1/stub/SubscriberStubSettings.java | 6 ++++++ .../v1beta1/stub/CloudRedisStubSettings.java | 6 ++++++ .../storage/v2/stub/StorageStubSettings.java | 6 ++++++ 27 files changed, 211 insertions(+), 1 deletion(-) diff --git a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/comment/SettingsCommentComposer.java b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/comment/SettingsCommentComposer.java index 2e119b670f..649ee62e77 100644 --- a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/comment/SettingsCommentComposer.java +++ b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/comment/SettingsCommentComposer.java @@ -57,6 +57,9 @@ public class SettingsCommentComposer { public static final CommentStatement DEFAULT_EXECUTOR_PROVIDER_BUILDER_METHOD_COMMENT = toSimpleComment("Returns a builder for the default ExecutorProvider for this service."); + + public static final CommentStatement DEFAULT_SERVICE_NAME_METHOD_COMMENT = + toSimpleComment("Returns the default service name."); public static final CommentStatement DEFAULT_SERVICE_ENDPOINT_METHOD_COMMENT = toSimpleComment("Returns the default service endpoint."); public static final CommentStatement DEFAULT_SERVICE_MTLS_ENDPOINT_METHOD_COMMENT = diff --git a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceStubSettingsClassComposer.java b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceStubSettingsClassComposer.java index 50e9c12e71..efcf1941a2 100644 --- a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceStubSettingsClassComposer.java +++ b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/composer/common/AbstractServiceStubSettingsClassComposer.java @@ -97,6 +97,7 @@ import com.google.api.generator.gapic.model.Service; import com.google.api.generator.gapic.utils.JavaStyle; import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -1137,9 +1138,27 @@ private MethodDefinition createCreateStubMethod(Service service, TypeStore typeS private List createDefaultHelperAndGetterMethods( Service service, TypeStore typeStore) { List javaMethods = new ArrayList<>(); + TypeNode returnType; + + // Create the getServiceName method. + if (!Strings.isNullOrEmpty(service.hostServiceName())) { + returnType = TypeNode.STRING; + javaMethods.add( + MethodDefinition.builder() + .setHeaderCommentStatements( + SettingsCommentComposer.DEFAULT_SERVICE_NAME_METHOD_COMMENT) + .setIsOverride(true) + .setScope(ScopeNode.PUBLIC) + .setIsStatic(false) + .setReturnType(returnType) + .setName("getServiceName") + .setReturnExpr( + ValueExpr.withValue(StringObjectValue.withValue(service.hostServiceName()))) + .build()); + } // Create the defaultExecutorProviderBuilder method. - TypeNode returnType = + returnType = TypeNode.withReference( ConcreteReference.withClazz(InstantiatingExecutorProvider.Builder.class)); javaMethods.add( diff --git a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/model/Service.java b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/model/Service.java index ce581915c9..b89d42b4d2 100644 --- a/gapic-generator-java/src/main/java/com/google/api/generator/gapic/model/Service.java +++ b/gapic-generator-java/src/main/java/com/google/api/generator/gapic/model/Service.java @@ -52,6 +52,12 @@ public boolean hasDescription() { return !Strings.isNullOrEmpty(description()); } + public String hostServiceName() { + // Host Service Name is guaranteed to exist and be non-null and non-empty + // Parser will fail if the default host is not supplied + return parseHostServiceName(defaultHost()); + } + public String apiShortName() { if (!Strings.isNullOrEmpty(defaultHost())) { return parseApiShortName(defaultHost()); @@ -184,6 +190,17 @@ private static String parseApiVersion(String protoPackage) { return apiVersion; } + // Parse the service name from the default host configured in the protos + // or service yaml file. For Google Cloud Services, the default host value + // is expected to contain `.googleapis.com`. Exceptions may exist (i.e. localhost), + // in which case we will return an empty string. + private static String parseHostServiceName(String defaultHost) { + if (defaultHost.contains(".googleapis.com")) { + return Iterables.getFirst(Splitter.on(".").split(defaultHost), defaultHost); + } + return ""; + } + // Parse defaultHost for apiShortName for the RegionTag. Need to account for regional default // endpoints like // "us-east1-pubsub.googleapis.com". diff --git a/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/LoggingServiceV2StubSettings.golden b/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/LoggingServiceV2StubSettings.golden index 54f6b34b93..0f8ab959a8 100644 --- a/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/LoggingServiceV2StubSettings.golden +++ b/gapic-generator-java/src/test/java/com/google/api/generator/gapic/composer/grpc/goldens/LoggingServiceV2StubSettings.golden @@ -422,6 +422,12 @@ public class LoggingServiceV2StubSettings extends StubSettings { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "pubsub"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/gapic-generator-java/src/test/java/com/google/api/generator/gapic/model/ServiceTest.java b/gapic-generator-java/src/test/java/com/google/api/generator/gapic/model/ServiceTest.java index 888a4eb6ce..82a3a7f2b9 100644 --- a/gapic-generator-java/src/test/java/com/google/api/generator/gapic/model/ServiceTest.java +++ b/gapic-generator-java/src/test/java/com/google/api/generator/gapic/model/ServiceTest.java @@ -177,4 +177,17 @@ public void hasAnyEnabledMethodsForTransport_shouldThrowExceptionForGRPCRESTTran Service testService = testServiceBuilder.build(); testService.hasAnyEnabledMethodsForTransport(Transport.GRPC_REST); } + + @Test + public void hostServiceName_googleApisDefaultHost() { + Service service = testServiceBuilder.setDefaultHost("test.googleapis.com").build(); + assertThat(service.hostServiceName()).isEqualTo("test"); + } + + @Test + public void hostServiceName_nonGoogleApisDefaultHost() { + // Default Host is localhost:7469 + Service service = testServiceBuilder.build(); + assertThat(service.hostServiceName()).isEqualTo(""); + } } diff --git a/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java b/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java index 0d030ac297..49c43c4060 100644 --- a/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java +++ b/gax-java/gax/src/main/java/com/google/api/gax/rpc/ClientContext.java @@ -100,6 +100,10 @@ public abstract class ClientContext { @Nonnull public abstract Duration getStreamWatchdogCheckInterval(); + // Package-Private scope for internal use only. Shared between StubSettings and ClientContext + @Nullable + abstract String getServiceName(); + @Nullable public abstract String getEndpoint(); @@ -202,6 +206,7 @@ public static ClientContext create(StubSettings settings) throws IOException { } EndpointContext endpointContext = EndpointContext.newBuilder() + .setServiceName(settings.getServiceName()) .setClientSettingsEndpoint(settings.getEndpoint()) .setTransportChannelProviderEndpoint( settings.getTransportChannelProvider().getEndpoint()) @@ -258,6 +263,7 @@ public static ClientContext create(StubSettings settings) throws IOException { .setInternalHeaders(ImmutableMap.copyOf(settings.getInternalHeaderProvider().getHeaders())) .setClock(clock) .setDefaultCallContext(defaultCallContext) + .setServiceName(settings.getServiceName()) .setEndpoint(settings.getEndpoint()) .setQuotaProjectId(settings.getQuotaProjectId()) .setStreamWatchdog(watchdog) @@ -323,6 +329,9 @@ public abstract static class Builder { public abstract Builder setDefaultCallContext(ApiCallContext defaultCallContext); + // Package-Private scope for internal use only. Shared between StubSettings and ClientContext + abstract Builder setServiceName(String serviceName); + public abstract Builder setEndpoint(String endpoint); public abstract Builder setQuotaProjectId(String QuotaProjectId); diff --git a/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java b/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java index 3db9b35151..8f7a6eecaf 100644 --- a/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java +++ b/gax-java/gax/src/main/java/com/google/api/gax/rpc/EndpointContext.java @@ -40,6 +40,14 @@ @InternalApi @AutoValue public abstract class EndpointContext { + /** + * ServiceName is host URI for Google Cloud Services. It follows the format of + * `{ServiceName}.googleapis.com`. For example, speech.googleapis.com would have a ServiceName of + * speech and cloudasset.googleapis.com would have a ServiceName of cloudasset. + */ + @Nullable + public abstract String serviceName(); + /** * ClientSettingsEndpoint is the endpoint value set via the ClientSettings/StubSettings classes. */ @@ -117,6 +125,13 @@ public String getResolvedEndpoint() { @AutoValue.Builder public abstract static class Builder { + /** + * ServiceName is host URI for Google Cloud Services. It follows the format of + * `{ServiceName}.googleapis.com`. For example, speech.googleapis.com would have a ServiceName + * of speech and cloudasset.googleapis.com would have a ServiceName of cloudasset. + */ + public abstract Builder setServiceName(String serviceName); + /** * ClientSettingsEndpoint is the endpoint value set via the ClientSettings/StubSettings classes. */ diff --git a/gax-java/gax/src/main/java/com/google/api/gax/rpc/StubSettings.java b/gax-java/gax/src/main/java/com/google/api/gax/rpc/StubSettings.java index 7ebbe327c8..f534dc07e1 100644 --- a/gax-java/gax/src/main/java/com/google/api/gax/rpc/StubSettings.java +++ b/gax-java/gax/src/main/java/com/google/api/gax/rpc/StubSettings.java @@ -32,6 +32,7 @@ import com.google.api.core.ApiClock; import com.google.api.core.ApiFunction; import com.google.api.core.BetaApi; +import com.google.api.core.InternalApi; import com.google.api.core.NanoClock; import com.google.api.gax.core.CredentialsProvider; import com.google.api.gax.core.ExecutorProvider; @@ -70,6 +71,7 @@ public abstract class StubSettings> { private final HeaderProvider internalHeaderProvider; private final TransportChannelProvider transportChannelProvider; private final ApiClock clock; + private final String serviceName; private final String endpoint; private final String mtlsEndpoint; private final String quotaProjectId; @@ -96,6 +98,7 @@ protected StubSettings(Builder builder) { this.headerProvider = builder.headerProvider; this.internalHeaderProvider = builder.internalHeaderProvider; this.clock = builder.clock; + this.serviceName = builder.serviceName; this.endpoint = builder.endpoint; this.mtlsEndpoint = builder.mtlsEndpoint; this.switchToMtlsEndpointAllowed = builder.switchToMtlsEndpointAllowed; @@ -137,6 +140,13 @@ public final ApiClock getClock() { return clock; } + // Intended for Internal Use and Overriden by generated ServiceStubSettings classes. + // Meant to be shared between StubSettings and ClientContext. + @InternalApi + public String getServiceName() { + return ""; + } + public final String getEndpoint() { return endpoint; } @@ -211,6 +221,7 @@ public abstract static class Builder< private HeaderProvider internalHeaderProvider; private TransportChannelProvider transportChannelProvider; private ApiClock clock; + private String serviceName; private String endpoint; private String mtlsEndpoint; private String quotaProjectId; @@ -236,6 +247,7 @@ protected Builder(StubSettings settings) { this.headerProvider = settings.headerProvider; this.internalHeaderProvider = settings.internalHeaderProvider; this.clock = settings.clock; + this.serviceName = settings.serviceName; this.endpoint = settings.endpoint; this.mtlsEndpoint = settings.mtlsEndpoint; this.switchToMtlsEndpointAllowed = settings.switchToMtlsEndpointAllowed; @@ -272,6 +284,7 @@ protected Builder(ClientContext clientContext) { this.headerProvider = new NoHeaderProvider(); this.internalHeaderProvider = new NoHeaderProvider(); this.clock = NanoClock.getDefaultClock(); + this.serviceName = null; this.endpoint = null; this.mtlsEndpoint = null; this.quotaProjectId = null; @@ -292,6 +305,7 @@ protected Builder(ClientContext clientContext) { this.internalHeaderProvider = FixedHeaderProvider.create(clientContext.getInternalHeaders()); this.clock = clientContext.getClock(); + this.serviceName = clientContext.getServiceName(); this.endpoint = clientContext.getEndpoint(); if (this.endpoint != null) { this.mtlsEndpoint = this.endpoint.replace("googleapis.com", "mtls.googleapis.com"); diff --git a/test/integration/goldens/apigeeconnect/src/com/google/cloud/apigeeconnect/v1/stub/ConnectionServiceStubSettings.java b/test/integration/goldens/apigeeconnect/src/com/google/cloud/apigeeconnect/v1/stub/ConnectionServiceStubSettings.java index a037feaf5f..4b300a8898 100644 --- a/test/integration/goldens/apigeeconnect/src/com/google/cloud/apigeeconnect/v1/stub/ConnectionServiceStubSettings.java +++ b/test/integration/goldens/apigeeconnect/src/com/google/cloud/apigeeconnect/v1/stub/ConnectionServiceStubSettings.java @@ -182,6 +182,12 @@ public ConnectionServiceStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "apigeeconnect"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/apigeeconnect/src/com/google/cloud/apigeeconnect/v1/stub/TetherStubSettings.java b/test/integration/goldens/apigeeconnect/src/com/google/cloud/apigeeconnect/v1/stub/TetherStubSettings.java index cde1caba7e..2198f7ed44 100644 --- a/test/integration/goldens/apigeeconnect/src/com/google/cloud/apigeeconnect/v1/stub/TetherStubSettings.java +++ b/test/integration/goldens/apigeeconnect/src/com/google/cloud/apigeeconnect/v1/stub/TetherStubSettings.java @@ -102,6 +102,12 @@ public TetherStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "apigeeconnect"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/asset/src/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java b/test/integration/goldens/asset/src/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java index ffcbff4cc6..cc0779d080 100644 --- a/test/integration/goldens/asset/src/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java +++ b/test/integration/goldens/asset/src/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java @@ -571,6 +571,12 @@ public AssetServiceStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "cloudasset"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/bigtable/src/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java b/test/integration/goldens/bigtable/src/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java index fcf1108e22..99f332c364 100644 --- a/test/integration/goldens/bigtable/src/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java +++ b/test/integration/goldens/bigtable/src/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java @@ -166,6 +166,12 @@ public BigtableStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "bigtable"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/compute/src/com/google/cloud/compute/v1small/stub/AddressesStubSettings.java b/test/integration/goldens/compute/src/com/google/cloud/compute/v1small/stub/AddressesStubSettings.java index 93ea0d5361..77bc886650 100644 --- a/test/integration/goldens/compute/src/com/google/cloud/compute/v1small/stub/AddressesStubSettings.java +++ b/test/integration/goldens/compute/src/com/google/cloud/compute/v1small/stub/AddressesStubSettings.java @@ -289,6 +289,12 @@ public AddressesStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "compute"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/compute/src/com/google/cloud/compute/v1small/stub/RegionOperationsStubSettings.java b/test/integration/goldens/compute/src/com/google/cloud/compute/v1small/stub/RegionOperationsStubSettings.java index f117b480f9..c10c28d144 100644 --- a/test/integration/goldens/compute/src/com/google/cloud/compute/v1small/stub/RegionOperationsStubSettings.java +++ b/test/integration/goldens/compute/src/com/google/cloud/compute/v1small/stub/RegionOperationsStubSettings.java @@ -114,6 +114,12 @@ public RegionOperationsStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "compute"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/credentials/src/com/google/cloud/iam/credentials/v1/stub/IamCredentialsStubSettings.java b/test/integration/goldens/credentials/src/com/google/cloud/iam/credentials/v1/stub/IamCredentialsStubSettings.java index ce05718aa7..7c01cfd69b 100644 --- a/test/integration/goldens/credentials/src/com/google/cloud/iam/credentials/v1/stub/IamCredentialsStubSettings.java +++ b/test/integration/goldens/credentials/src/com/google/cloud/iam/credentials/v1/stub/IamCredentialsStubSettings.java @@ -140,6 +140,12 @@ public IamCredentialsStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "iamcredentials"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/iam/src/com/google/iam/v1/stub/IAMPolicyStubSettings.java b/test/integration/goldens/iam/src/com/google/iam/v1/stub/IAMPolicyStubSettings.java index 206413f290..132203abdb 100644 --- a/test/integration/goldens/iam/src/com/google/iam/v1/stub/IAMPolicyStubSettings.java +++ b/test/integration/goldens/iam/src/com/google/iam/v1/stub/IAMPolicyStubSettings.java @@ -119,6 +119,12 @@ public IAMPolicyStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "iam-meta-api"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/kms/src/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java b/test/integration/goldens/kms/src/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java index 2ff433f004..23cf97a7c5 100644 --- a/test/integration/goldens/kms/src/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java +++ b/test/integration/goldens/kms/src/com/google/cloud/kms/v1/stub/KeyManagementServiceStubSettings.java @@ -639,6 +639,12 @@ public KeyManagementServiceStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "cloudkms"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/library/src/com/google/cloud/example/library/v1/stub/LibraryServiceStubSettings.java b/test/integration/goldens/library/src/com/google/cloud/example/library/v1/stub/LibraryServiceStubSettings.java index a744a16190..18bd9a1f49 100644 --- a/test/integration/goldens/library/src/com/google/cloud/example/library/v1/stub/LibraryServiceStubSettings.java +++ b/test/integration/goldens/library/src/com/google/cloud/example/library/v1/stub/LibraryServiceStubSettings.java @@ -306,6 +306,12 @@ public LibraryServiceStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "library-example"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/ConfigServiceV2StubSettings.java b/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/ConfigServiceV2StubSettings.java index 41dff790b6..2d6cd032da 100644 --- a/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/ConfigServiceV2StubSettings.java +++ b/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/ConfigServiceV2StubSettings.java @@ -547,6 +547,12 @@ public ConfigServiceV2Stub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "logging"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings.java b/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings.java index 94f5d4c16b..15344c2006 100644 --- a/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings.java +++ b/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings.java @@ -438,6 +438,12 @@ public LoggingServiceV2Stub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "logging"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/MetricsServiceV2StubSettings.java b/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/MetricsServiceV2StubSettings.java index 3d2e16f84e..05f29f3fbc 100644 --- a/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/MetricsServiceV2StubSettings.java +++ b/test/integration/goldens/logging/src/com/google/cloud/logging/v2/stub/MetricsServiceV2StubSettings.java @@ -206,6 +206,12 @@ public MetricsServiceV2Stub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "logging"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/PublisherStubSettings.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/PublisherStubSettings.java index 6253d923dc..c2f2b30ca4 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/PublisherStubSettings.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/PublisherStubSettings.java @@ -472,6 +472,12 @@ public PublisherStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "pubsub"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/SchemaServiceStubSettings.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/SchemaServiceStubSettings.java index 4c3b9d6b37..741c0178fc 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/SchemaServiceStubSettings.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/SchemaServiceStubSettings.java @@ -331,6 +331,12 @@ public SchemaServiceStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "pubsub"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/SubscriberStubSettings.java b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/SubscriberStubSettings.java index 2982db4421..a6487db832 100644 --- a/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/SubscriberStubSettings.java +++ b/test/integration/goldens/pubsub/src/com/google/cloud/pubsub/v1/stub/SubscriberStubSettings.java @@ -377,6 +377,12 @@ public SubscriberStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "pubsub"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/redis/src/com/google/cloud/redis/v1beta1/stub/CloudRedisStubSettings.java b/test/integration/goldens/redis/src/com/google/cloud/redis/v1beta1/stub/CloudRedisStubSettings.java index 339bf18459..be52b543dd 100644 --- a/test/integration/goldens/redis/src/com/google/cloud/redis/v1beta1/stub/CloudRedisStubSettings.java +++ b/test/integration/goldens/redis/src/com/google/cloud/redis/v1beta1/stub/CloudRedisStubSettings.java @@ -323,6 +323,12 @@ public CloudRedisStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "redis"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder(); diff --git a/test/integration/goldens/storage/src/com/google/storage/v2/stub/StorageStubSettings.java b/test/integration/goldens/storage/src/com/google/storage/v2/stub/StorageStubSettings.java index ba13a8f44a..1d68c99655 100644 --- a/test/integration/goldens/storage/src/com/google/storage/v2/stub/StorageStubSettings.java +++ b/test/integration/goldens/storage/src/com/google/storage/v2/stub/StorageStubSettings.java @@ -589,6 +589,12 @@ public StorageStub createStub() throws IOException { "Transport not supported: %s", getTransportChannelProvider().getTransportName())); } + /** Returns the default service name. */ + @Override + public String getServiceName() { + return "storage"; + } + /** Returns a builder for the default ExecutorProvider for this service. */ public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { return InstantiatingExecutorProvider.newBuilder();