diff --git a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerClient.java b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerClient.java
index 0d13aa7b385a..0e9a97ec064e 100644
--- a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerClient.java
+++ b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerClient.java
@@ -20,6 +20,7 @@
import com.google.api.core.ApiFuture;
import com.google.api.core.ApiFutures;
import com.google.api.gax.core.BackgroundResource;
+import com.google.api.gax.httpjson.longrunning.OperationsClient;
import com.google.api.gax.longrunning.OperationFuture;
import com.google.api.gax.paging.AbstractFixedSizeCollection;
import com.google.api.gax.paging.AbstractPage;
@@ -54,7 +55,6 @@
import com.google.cloud.api.servicemanagement.v1.stub.ServiceManagerStubSettings;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.longrunning.Operation;
-import com.google.longrunning.OperationsClient;
import com.google.protobuf.Any;
import com.google.protobuf.Empty;
import java.io.IOException;
@@ -127,13 +127,28 @@
* ServiceManagerClient serviceManagerClient = ServiceManagerClient.create(serviceManagerSettings);
* }
*
+ * To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
+ * the wire:
+ *
+ *
{@code
+ * // This snippet has been automatically generated for illustrative purposes only.
+ * // It may require modifications to work in your environment.
+ * ServiceManagerSettings serviceManagerSettings =
+ * ServiceManagerSettings.newBuilder()
+ * .setTransportChannelProvider(
+ * ServiceManagerSettings.defaultHttpJsonTransportProviderBuilder().build())
+ * .build();
+ * ServiceManagerClient serviceManagerClient = ServiceManagerClient.create(serviceManagerSettings);
+ * }
+ *
* Please refer to the GitHub repository's samples for more quickstart code snippets.
*/
@Generated("by gapic-generator-java")
public class ServiceManagerClient implements BackgroundResource {
private final ServiceManagerSettings settings;
private final ServiceManagerStub stub;
- private final OperationsClient operationsClient;
+ private final OperationsClient httpJsonOperationsClient;
+ private final com.google.longrunning.OperationsClient operationsClient;
/** Constructs an instance of ServiceManagerClient with default settings. */
public static final ServiceManagerClient create() throws IOException {
@@ -165,13 +180,17 @@ public static final ServiceManagerClient create(ServiceManagerStub stub) {
protected ServiceManagerClient(ServiceManagerSettings settings) throws IOException {
this.settings = settings;
this.stub = ((ServiceManagerStubSettings) settings.getStubSettings()).createStub();
- this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
+ this.operationsClient =
+ com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
+ this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
}
protected ServiceManagerClient(ServiceManagerStub stub) {
this.settings = null;
this.stub = stub;
- this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
+ this.operationsClient =
+ com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
+ this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
}
public final ServiceManagerSettings getSettings() {
@@ -186,10 +205,18 @@ public ServiceManagerStub getStub() {
* Returns the OperationsClient that can be used to query the status of a long-running operation
* returned by another API method call.
*/
- public final OperationsClient getOperationsClient() {
+ public final com.google.longrunning.OperationsClient getOperationsClient() {
return operationsClient;
}
+ /**
+ * Returns the OperationsClient that can be used to query the status of a long-running operation
+ * returned by another API method call.
+ */
+ public final OperationsClient getHttpJsonOperationsClient() {
+ return httpJsonOperationsClient;
+ }
+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Lists managed services.
@@ -316,7 +343,7 @@ public final ListServicesPagedResponse listServices(ListServicesRequest request)
* .build();
* while (true) {
* ListServicesResponse response = serviceManagerClient.listServicesCallable().call(request);
- * for (ManagedService element : response.getResponsesList()) {
+ * for (ManagedService element : response.getServicesList()) {
* // doThingsWith(element);
* }
* String nextPageToken = response.getNextPageToken();
@@ -873,7 +900,7 @@ public final ListServiceConfigsPagedResponse listServiceConfigs(
* while (true) {
* ListServiceConfigsResponse response =
* serviceManagerClient.listServiceConfigsCallable().call(request);
- * for (Service element : response.getResponsesList()) {
+ * for (Service element : response.getServiceConfigsList()) {
* // doThingsWith(element);
* }
* String nextPageToken = response.getNextPageToken();
@@ -1364,7 +1391,7 @@ public final ListServiceRolloutsPagedResponse listServiceRollouts(
* while (true) {
* ListServiceRolloutsResponse response =
* serviceManagerClient.listServiceRolloutsCallable().call(request);
- * for (Rollout element : response.getResponsesList()) {
+ * for (Rollout element : response.getRolloutsList()) {
* // doThingsWith(element);
* }
* String nextPageToken = response.getNextPageToken();
diff --git a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerSettings.java b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerSettings.java
index ee1ba819b27a..c009a40c03ad 100644
--- a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerSettings.java
+++ b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerSettings.java
@@ -26,6 +26,7 @@
import com.google.api.gax.core.GoogleCredentialsProvider;
import com.google.api.gax.core.InstantiatingExecutorProvider;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
+import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
import com.google.api.gax.rpc.ApiClientHeaderProvider;
import com.google.api.gax.rpc.ClientContext;
import com.google.api.gax.rpc.ClientSettings;
@@ -227,11 +228,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
return ServiceManagerStubSettings.defaultCredentialsProviderBuilder();
}
- /** Returns a builder for the default ChannelProvider for this service. */
+ /** Returns a builder for the default gRPC ChannelProvider for this service. */
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
return ServiceManagerStubSettings.defaultGrpcTransportProviderBuilder();
}
+ /** Returns a builder for the default REST ChannelProvider for this service. */
+ @BetaApi
+ public static InstantiatingHttpJsonChannelProvider.Builder
+ defaultHttpJsonTransportProviderBuilder() {
+ return ServiceManagerStubSettings.defaultHttpJsonTransportProviderBuilder();
+ }
+
public static TransportChannelProvider defaultTransportChannelProvider() {
return ServiceManagerStubSettings.defaultTransportChannelProvider();
}
@@ -241,11 +249,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
return ServiceManagerStubSettings.defaultApiClientHeaderProviderBuilder();
}
- /** Returns a new builder for this class. */
+ /** Returns a new gRPC builder for this class. */
public static Builder newBuilder() {
return Builder.createDefault();
}
+ /** Returns a new REST builder for this class. */
+ @BetaApi
+ public static Builder newHttpJsonBuilder() {
+ return Builder.createHttpJsonDefault();
+ }
+
/** Returns a new builder for this class. */
public static Builder newBuilder(ClientContext clientContext) {
return new Builder(clientContext);
@@ -283,6 +297,11 @@ private static Builder createDefault() {
return new Builder(ServiceManagerStubSettings.newBuilder());
}
+ @BetaApi
+ private static Builder createHttpJsonDefault() {
+ return new Builder(ServiceManagerStubSettings.newHttpJsonBuilder());
+ }
+
public ServiceManagerStubSettings.Builder getStubSettingsBuilder() {
return ((ServiceManagerStubSettings.Builder) getStubSettings());
}
diff --git a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/HttpJsonServiceManagerCallableFactory.java b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/HttpJsonServiceManagerCallableFactory.java
new file mode 100644
index 000000000000..60ba1a89d7bd
--- /dev/null
+++ b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/HttpJsonServiceManagerCallableFactory.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.api.servicemanagement.v1.stub;
+
+import com.google.api.core.BetaApi;
+import com.google.api.gax.httpjson.HttpJsonCallSettings;
+import com.google.api.gax.httpjson.HttpJsonCallableFactory;
+import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable;
+import com.google.api.gax.httpjson.HttpJsonStubCallableFactory;
+import com.google.api.gax.httpjson.longrunning.stub.OperationsStub;
+import com.google.api.gax.rpc.BatchingCallSettings;
+import com.google.api.gax.rpc.ClientContext;
+import com.google.api.gax.rpc.OperationCallSettings;
+import com.google.api.gax.rpc.OperationCallable;
+import com.google.api.gax.rpc.PagedCallSettings;
+import com.google.api.gax.rpc.ServerStreamingCallSettings;
+import com.google.api.gax.rpc.ServerStreamingCallable;
+import com.google.api.gax.rpc.UnaryCallSettings;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.longrunning.Operation;
+import javax.annotation.Generated;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * REST callable factory implementation for the ServiceManager service API.
+ *
+ *
This class is for advanced usage.
+ */
+@Generated("by gapic-generator-java")
+@BetaApi
+public class HttpJsonServiceManagerCallableFactory
+ implements HttpJsonStubCallableFactory {
+
+ @Override
+ public UnaryCallable createUnaryCallable(
+ HttpJsonCallSettings httpJsonCallSettings,
+ UnaryCallSettings callSettings,
+ ClientContext clientContext) {
+ return HttpJsonCallableFactory.createUnaryCallable(
+ httpJsonCallSettings, callSettings, clientContext);
+ }
+
+ @Override
+ public
+ UnaryCallable createPagedCallable(
+ HttpJsonCallSettings httpJsonCallSettings,
+ PagedCallSettings callSettings,
+ ClientContext clientContext) {
+ return HttpJsonCallableFactory.createPagedCallable(
+ httpJsonCallSettings, callSettings, clientContext);
+ }
+
+ @Override
+ public UnaryCallable createBatchingCallable(
+ HttpJsonCallSettings httpJsonCallSettings,
+ BatchingCallSettings callSettings,
+ ClientContext clientContext) {
+ return HttpJsonCallableFactory.createBatchingCallable(
+ httpJsonCallSettings, callSettings, clientContext);
+ }
+
+ @BetaApi(
+ "The surface for long-running operations is not stable yet and may change in the future.")
+ @Override
+ public
+ OperationCallable createOperationCallable(
+ HttpJsonCallSettings httpJsonCallSettings,
+ OperationCallSettings callSettings,
+ ClientContext clientContext,
+ OperationsStub operationsStub) {
+ UnaryCallable innerCallable =
+ HttpJsonCallableFactory.createBaseUnaryCallable(
+ httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext);
+ HttpJsonOperationSnapshotCallable initialCallable =
+ new HttpJsonOperationSnapshotCallable(
+ innerCallable,
+ httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory());
+ return HttpJsonCallableFactory.createOperationCallable(
+ callSettings, clientContext, operationsStub.longRunningClient(), initialCallable);
+ }
+
+ @Override
+ public
+ ServerStreamingCallable createServerStreamingCallable(
+ HttpJsonCallSettings httpJsonCallSettings,
+ ServerStreamingCallSettings callSettings,
+ ClientContext clientContext) {
+ return HttpJsonCallableFactory.createServerStreamingCallable(
+ httpJsonCallSettings, callSettings, clientContext);
+ }
+}
diff --git a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/HttpJsonServiceManagerStub.java b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/HttpJsonServiceManagerStub.java
new file mode 100644
index 000000000000..c8f788874303
--- /dev/null
+++ b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/HttpJsonServiceManagerStub.java
@@ -0,0 +1,1002 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.api.servicemanagement.v1.stub;
+
+import static com.google.cloud.api.servicemanagement.v1.ServiceManagerClient.ListServiceConfigsPagedResponse;
+import static com.google.cloud.api.servicemanagement.v1.ServiceManagerClient.ListServiceRolloutsPagedResponse;
+import static com.google.cloud.api.servicemanagement.v1.ServiceManagerClient.ListServicesPagedResponse;
+
+import com.google.api.Service;
+import com.google.api.core.BetaApi;
+import com.google.api.core.InternalApi;
+import com.google.api.gax.core.BackgroundResource;
+import com.google.api.gax.core.BackgroundResourceAggregation;
+import com.google.api.gax.httpjson.ApiMethodDescriptor;
+import com.google.api.gax.httpjson.HttpJsonCallSettings;
+import com.google.api.gax.httpjson.HttpJsonOperationSnapshot;
+import com.google.api.gax.httpjson.HttpJsonStubCallableFactory;
+import com.google.api.gax.httpjson.ProtoMessageRequestFormatter;
+import com.google.api.gax.httpjson.ProtoMessageResponseParser;
+import com.google.api.gax.httpjson.ProtoRestSerializer;
+import com.google.api.gax.httpjson.longrunning.stub.HttpJsonOperationsStub;
+import com.google.api.gax.rpc.ClientContext;
+import com.google.api.gax.rpc.OperationCallable;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.api.servicemanagement.v1.CreateServiceConfigRequest;
+import com.google.api.servicemanagement.v1.CreateServiceRequest;
+import com.google.api.servicemanagement.v1.CreateServiceRolloutRequest;
+import com.google.api.servicemanagement.v1.DeleteServiceRequest;
+import com.google.api.servicemanagement.v1.GenerateConfigReportRequest;
+import com.google.api.servicemanagement.v1.GenerateConfigReportResponse;
+import com.google.api.servicemanagement.v1.GetServiceConfigRequest;
+import com.google.api.servicemanagement.v1.GetServiceRequest;
+import com.google.api.servicemanagement.v1.GetServiceRolloutRequest;
+import com.google.api.servicemanagement.v1.ListServiceConfigsRequest;
+import com.google.api.servicemanagement.v1.ListServiceConfigsResponse;
+import com.google.api.servicemanagement.v1.ListServiceRolloutsRequest;
+import com.google.api.servicemanagement.v1.ListServiceRolloutsResponse;
+import com.google.api.servicemanagement.v1.ListServicesRequest;
+import com.google.api.servicemanagement.v1.ListServicesResponse;
+import com.google.api.servicemanagement.v1.ManagedService;
+import com.google.api.servicemanagement.v1.OperationMetadata;
+import com.google.api.servicemanagement.v1.Rollout;
+import com.google.api.servicemanagement.v1.SubmitConfigSourceRequest;
+import com.google.api.servicemanagement.v1.SubmitConfigSourceResponse;
+import com.google.api.servicemanagement.v1.UndeleteServiceRequest;
+import com.google.api.servicemanagement.v1.UndeleteServiceResponse;
+import com.google.longrunning.Operation;
+import com.google.protobuf.Empty;
+import com.google.protobuf.TypeRegistry;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+import javax.annotation.Generated;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * REST stub implementation for the ServiceManager service API.
+ *
+ * This class is for advanced usage and reflects the underlying API directly.
+ */
+@Generated("by gapic-generator-java")
+@BetaApi
+public class HttpJsonServiceManagerStub extends ServiceManagerStub {
+ private static final TypeRegistry typeRegistry =
+ TypeRegistry.newBuilder()
+ .add(Empty.getDescriptor())
+ .add(Rollout.getDescriptor())
+ .add(OperationMetadata.getDescriptor())
+ .add(UndeleteServiceResponse.getDescriptor())
+ .add(SubmitConfigSourceResponse.getDescriptor())
+ .add(ManagedService.getDescriptor())
+ .build();
+
+ private static final ApiMethodDescriptor
+ listServicesMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName("google.api.servicemanagement.v1.ServiceManager/ListServices")
+ .setHttpMethod("GET")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putQueryParam(fields, "consumerId", request.getConsumerId());
+ serializer.putQueryParam(fields, "pageSize", request.getPageSize());
+ serializer.putQueryParam(fields, "pageToken", request.getPageToken());
+ serializer.putQueryParam(
+ fields, "producerProjectId", request.getProducerProjectId());
+ return fields;
+ })
+ .setRequestBodyExtractor(request -> null)
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(ListServicesResponse.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .build();
+
+ private static final ApiMethodDescriptor
+ getServiceMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName("google.api.servicemanagement.v1.ServiceManager/GetService")
+ .setHttpMethod("GET")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(request -> null)
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(ManagedService.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .build();
+
+ private static final ApiMethodDescriptor
+ createServiceMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName("google.api.servicemanagement.v1.ServiceManager/CreateService")
+ .setHttpMethod("POST")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(
+ request ->
+ ProtoRestSerializer.create().toBody("service", request.getService()))
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Operation.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .setOperationSnapshotFactory(
+ (CreateServiceRequest request, Operation response) ->
+ HttpJsonOperationSnapshot.create(response))
+ .build();
+
+ private static final ApiMethodDescriptor
+ deleteServiceMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName("google.api.servicemanagement.v1.ServiceManager/DeleteService")
+ .setHttpMethod("DELETE")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(request -> null)
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Operation.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .setOperationSnapshotFactory(
+ (DeleteServiceRequest request, Operation response) ->
+ HttpJsonOperationSnapshot.create(response))
+ .build();
+
+ private static final ApiMethodDescriptor
+ undeleteServiceMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName("google.api.servicemanagement.v1.ServiceManager/UndeleteService")
+ .setHttpMethod("POST")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}:undelete",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(request -> null)
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Operation.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .setOperationSnapshotFactory(
+ (UndeleteServiceRequest request, Operation response) ->
+ HttpJsonOperationSnapshot.create(response))
+ .build();
+
+ private static final ApiMethodDescriptor
+ listServiceConfigsMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName(
+ "google.api.servicemanagement.v1.ServiceManager/ListServiceConfigs")
+ .setHttpMethod("GET")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}/configs",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putQueryParam(fields, "pageSize", request.getPageSize());
+ serializer.putQueryParam(fields, "pageToken", request.getPageToken());
+ return fields;
+ })
+ .setRequestBodyExtractor(request -> null)
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(ListServiceConfigsResponse.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .build();
+
+ private static final ApiMethodDescriptor
+ getServiceConfigMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName("google.api.servicemanagement.v1.ServiceManager/GetServiceConfig")
+ .setHttpMethod("GET")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}/configs/{configId}",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(fields, "configId", request.getConfigId());
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setAdditionalPaths("/v1/services/{serviceName}/config")
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putQueryParam(fields, "view", request.getView());
+ return fields;
+ })
+ .setRequestBodyExtractor(request -> null)
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Service.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .build();
+
+ private static final ApiMethodDescriptor
+ createServiceConfigMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName(
+ "google.api.servicemanagement.v1.ServiceManager/CreateServiceConfig")
+ .setHttpMethod("POST")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}/configs",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(
+ request ->
+ ProtoRestSerializer.create()
+ .toBody("serviceConfig", request.getServiceConfig()))
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Service.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .build();
+
+ private static final ApiMethodDescriptor
+ submitConfigSourceMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName(
+ "google.api.servicemanagement.v1.ServiceManager/SubmitConfigSource")
+ .setHttpMethod("POST")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}/configs:submit",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(
+ request ->
+ ProtoRestSerializer.create()
+ .toBody("*", request.toBuilder().clearServiceName().build()))
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Operation.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .setOperationSnapshotFactory(
+ (SubmitConfigSourceRequest request, Operation response) ->
+ HttpJsonOperationSnapshot.create(response))
+ .build();
+
+ private static final ApiMethodDescriptor
+ listServiceRolloutsMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName(
+ "google.api.servicemanagement.v1.ServiceManager/ListServiceRollouts")
+ .setHttpMethod("GET")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}/rollouts",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putQueryParam(fields, "filter", request.getFilter());
+ serializer.putQueryParam(fields, "pageSize", request.getPageSize());
+ serializer.putQueryParam(fields, "pageToken", request.getPageToken());
+ return fields;
+ })
+ .setRequestBodyExtractor(request -> null)
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(ListServiceRolloutsResponse.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .build();
+
+ private static final ApiMethodDescriptor
+ getServiceRolloutMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName("google.api.servicemanagement.v1.ServiceManager/GetServiceRollout")
+ .setHttpMethod("GET")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}/rollouts/{rolloutId}",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(fields, "rolloutId", request.getRolloutId());
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(request -> null)
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Rollout.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .build();
+
+ private static final ApiMethodDescriptor
+ createServiceRolloutMethodDescriptor =
+ ApiMethodDescriptor.newBuilder()
+ .setFullMethodName(
+ "google.api.servicemanagement.v1.ServiceManager/CreateServiceRollout")
+ .setHttpMethod("POST")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services/{serviceName}/rollouts",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ serializer.putPathParam(
+ fields, "serviceName", request.getServiceName());
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(
+ request ->
+ ProtoRestSerializer.create().toBody("rollout", request.getRollout()))
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(Operation.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .setOperationSnapshotFactory(
+ (CreateServiceRolloutRequest request, Operation response) ->
+ HttpJsonOperationSnapshot.create(response))
+ .build();
+
+ private static final ApiMethodDescriptor<
+ GenerateConfigReportRequest, GenerateConfigReportResponse>
+ generateConfigReportMethodDescriptor =
+ ApiMethodDescriptor
+ .newBuilder()
+ .setFullMethodName(
+ "google.api.servicemanagement.v1.ServiceManager/GenerateConfigReport")
+ .setHttpMethod("POST")
+ .setType(ApiMethodDescriptor.MethodType.UNARY)
+ .setRequestFormatter(
+ ProtoMessageRequestFormatter.newBuilder()
+ .setPath(
+ "/v1/services:generateConfigReport",
+ request -> {
+ Map fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setQueryParamsExtractor(
+ request -> {
+ Map> fields = new HashMap<>();
+ ProtoRestSerializer serializer =
+ ProtoRestSerializer.create();
+ return fields;
+ })
+ .setRequestBodyExtractor(
+ request ->
+ ProtoRestSerializer.create().toBody("*", request.toBuilder().build()))
+ .build())
+ .setResponseParser(
+ ProtoMessageResponseParser.newBuilder()
+ .setDefaultInstance(GenerateConfigReportResponse.getDefaultInstance())
+ .setDefaultTypeRegistry(typeRegistry)
+ .build())
+ .build();
+
+ private final UnaryCallable listServicesCallable;
+ private final UnaryCallable
+ listServicesPagedCallable;
+ private final UnaryCallable getServiceCallable;
+ private final UnaryCallable createServiceCallable;
+ private final OperationCallable
+ createServiceOperationCallable;
+ private final UnaryCallable deleteServiceCallable;
+ private final OperationCallable
+ deleteServiceOperationCallable;
+ private final UnaryCallable undeleteServiceCallable;
+ private final OperationCallable<
+ UndeleteServiceRequest, UndeleteServiceResponse, OperationMetadata>
+ undeleteServiceOperationCallable;
+ private final UnaryCallable
+ listServiceConfigsCallable;
+ private final UnaryCallable
+ listServiceConfigsPagedCallable;
+ private final UnaryCallable getServiceConfigCallable;
+ private final UnaryCallable createServiceConfigCallable;
+ private final UnaryCallable submitConfigSourceCallable;
+ private final OperationCallable<
+ SubmitConfigSourceRequest, SubmitConfigSourceResponse, OperationMetadata>
+ submitConfigSourceOperationCallable;
+ private final UnaryCallable
+ listServiceRolloutsCallable;
+ private final UnaryCallable
+ listServiceRolloutsPagedCallable;
+ private final UnaryCallable getServiceRolloutCallable;
+ private final UnaryCallable createServiceRolloutCallable;
+ private final OperationCallable
+ createServiceRolloutOperationCallable;
+ private final UnaryCallable
+ generateConfigReportCallable;
+
+ private final BackgroundResource backgroundResources;
+ private final HttpJsonOperationsStub httpJsonOperationsStub;
+ private final HttpJsonStubCallableFactory callableFactory;
+
+ public static final HttpJsonServiceManagerStub create(ServiceManagerStubSettings settings)
+ throws IOException {
+ return new HttpJsonServiceManagerStub(settings, ClientContext.create(settings));
+ }
+
+ public static final HttpJsonServiceManagerStub create(ClientContext clientContext)
+ throws IOException {
+ return new HttpJsonServiceManagerStub(
+ ServiceManagerStubSettings.newHttpJsonBuilder().build(), clientContext);
+ }
+
+ public static final HttpJsonServiceManagerStub create(
+ ClientContext clientContext, HttpJsonStubCallableFactory callableFactory) throws IOException {
+ return new HttpJsonServiceManagerStub(
+ ServiceManagerStubSettings.newHttpJsonBuilder().build(), clientContext, callableFactory);
+ }
+
+ /**
+ * Constructs an instance of HttpJsonServiceManagerStub, using the given settings. This is
+ * protected so that it is easy to make a subclass, but otherwise, the static factory methods
+ * should be preferred.
+ */
+ protected HttpJsonServiceManagerStub(
+ ServiceManagerStubSettings settings, ClientContext clientContext) throws IOException {
+ this(settings, clientContext, new HttpJsonServiceManagerCallableFactory());
+ }
+
+ /**
+ * Constructs an instance of HttpJsonServiceManagerStub, using the given settings. This is
+ * protected so that it is easy to make a subclass, but otherwise, the static factory methods
+ * should be preferred.
+ */
+ protected HttpJsonServiceManagerStub(
+ ServiceManagerStubSettings settings,
+ ClientContext clientContext,
+ HttpJsonStubCallableFactory callableFactory)
+ throws IOException {
+ this.callableFactory = callableFactory;
+ this.httpJsonOperationsStub =
+ HttpJsonOperationsStub.create(clientContext, callableFactory, typeRegistry);
+
+ HttpJsonCallSettings listServicesTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(listServicesMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings getServiceTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(getServiceMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings createServiceTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(createServiceMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings deleteServiceTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(deleteServiceMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings undeleteServiceTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(undeleteServiceMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings
+ listServiceConfigsTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(listServiceConfigsMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings getServiceConfigTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(getServiceConfigMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings createServiceConfigTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(createServiceConfigMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings submitConfigSourceTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(submitConfigSourceMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings
+ listServiceRolloutsTransportSettings =
+ HttpJsonCallSettings
+ .newBuilder()
+ .setMethodDescriptor(listServiceRolloutsMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings getServiceRolloutTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(getServiceRolloutMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings
+ createServiceRolloutTransportSettings =
+ HttpJsonCallSettings.newBuilder()
+ .setMethodDescriptor(createServiceRolloutMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+ HttpJsonCallSettings
+ generateConfigReportTransportSettings =
+ HttpJsonCallSettings
+ .newBuilder()
+ .setMethodDescriptor(generateConfigReportMethodDescriptor)
+ .setTypeRegistry(typeRegistry)
+ .build();
+
+ this.listServicesCallable =
+ callableFactory.createUnaryCallable(
+ listServicesTransportSettings, settings.listServicesSettings(), clientContext);
+ this.listServicesPagedCallable =
+ callableFactory.createPagedCallable(
+ listServicesTransportSettings, settings.listServicesSettings(), clientContext);
+ this.getServiceCallable =
+ callableFactory.createUnaryCallable(
+ getServiceTransportSettings, settings.getServiceSettings(), clientContext);
+ this.createServiceCallable =
+ callableFactory.createUnaryCallable(
+ createServiceTransportSettings, settings.createServiceSettings(), clientContext);
+ this.createServiceOperationCallable =
+ callableFactory.createOperationCallable(
+ createServiceTransportSettings,
+ settings.createServiceOperationSettings(),
+ clientContext,
+ httpJsonOperationsStub);
+ this.deleteServiceCallable =
+ callableFactory.createUnaryCallable(
+ deleteServiceTransportSettings, settings.deleteServiceSettings(), clientContext);
+ this.deleteServiceOperationCallable =
+ callableFactory.createOperationCallable(
+ deleteServiceTransportSettings,
+ settings.deleteServiceOperationSettings(),
+ clientContext,
+ httpJsonOperationsStub);
+ this.undeleteServiceCallable =
+ callableFactory.createUnaryCallable(
+ undeleteServiceTransportSettings, settings.undeleteServiceSettings(), clientContext);
+ this.undeleteServiceOperationCallable =
+ callableFactory.createOperationCallable(
+ undeleteServiceTransportSettings,
+ settings.undeleteServiceOperationSettings(),
+ clientContext,
+ httpJsonOperationsStub);
+ this.listServiceConfigsCallable =
+ callableFactory.createUnaryCallable(
+ listServiceConfigsTransportSettings,
+ settings.listServiceConfigsSettings(),
+ clientContext);
+ this.listServiceConfigsPagedCallable =
+ callableFactory.createPagedCallable(
+ listServiceConfigsTransportSettings,
+ settings.listServiceConfigsSettings(),
+ clientContext);
+ this.getServiceConfigCallable =
+ callableFactory.createUnaryCallable(
+ getServiceConfigTransportSettings, settings.getServiceConfigSettings(), clientContext);
+ this.createServiceConfigCallable =
+ callableFactory.createUnaryCallable(
+ createServiceConfigTransportSettings,
+ settings.createServiceConfigSettings(),
+ clientContext);
+ this.submitConfigSourceCallable =
+ callableFactory.createUnaryCallable(
+ submitConfigSourceTransportSettings,
+ settings.submitConfigSourceSettings(),
+ clientContext);
+ this.submitConfigSourceOperationCallable =
+ callableFactory.createOperationCallable(
+ submitConfigSourceTransportSettings,
+ settings.submitConfigSourceOperationSettings(),
+ clientContext,
+ httpJsonOperationsStub);
+ this.listServiceRolloutsCallable =
+ callableFactory.createUnaryCallable(
+ listServiceRolloutsTransportSettings,
+ settings.listServiceRolloutsSettings(),
+ clientContext);
+ this.listServiceRolloutsPagedCallable =
+ callableFactory.createPagedCallable(
+ listServiceRolloutsTransportSettings,
+ settings.listServiceRolloutsSettings(),
+ clientContext);
+ this.getServiceRolloutCallable =
+ callableFactory.createUnaryCallable(
+ getServiceRolloutTransportSettings,
+ settings.getServiceRolloutSettings(),
+ clientContext);
+ this.createServiceRolloutCallable =
+ callableFactory.createUnaryCallable(
+ createServiceRolloutTransportSettings,
+ settings.createServiceRolloutSettings(),
+ clientContext);
+ this.createServiceRolloutOperationCallable =
+ callableFactory.createOperationCallable(
+ createServiceRolloutTransportSettings,
+ settings.createServiceRolloutOperationSettings(),
+ clientContext,
+ httpJsonOperationsStub);
+ this.generateConfigReportCallable =
+ callableFactory.createUnaryCallable(
+ generateConfigReportTransportSettings,
+ settings.generateConfigReportSettings(),
+ clientContext);
+
+ this.backgroundResources =
+ new BackgroundResourceAggregation(clientContext.getBackgroundResources());
+ }
+
+ @InternalApi
+ public static List getMethodDescriptors() {
+ List methodDescriptors = new ArrayList<>();
+ methodDescriptors.add(listServicesMethodDescriptor);
+ methodDescriptors.add(getServiceMethodDescriptor);
+ methodDescriptors.add(createServiceMethodDescriptor);
+ methodDescriptors.add(deleteServiceMethodDescriptor);
+ methodDescriptors.add(undeleteServiceMethodDescriptor);
+ methodDescriptors.add(listServiceConfigsMethodDescriptor);
+ methodDescriptors.add(getServiceConfigMethodDescriptor);
+ methodDescriptors.add(createServiceConfigMethodDescriptor);
+ methodDescriptors.add(submitConfigSourceMethodDescriptor);
+ methodDescriptors.add(listServiceRolloutsMethodDescriptor);
+ methodDescriptors.add(getServiceRolloutMethodDescriptor);
+ methodDescriptors.add(createServiceRolloutMethodDescriptor);
+ methodDescriptors.add(generateConfigReportMethodDescriptor);
+ return methodDescriptors;
+ }
+
+ public HttpJsonOperationsStub getHttpJsonOperationsStub() {
+ return httpJsonOperationsStub;
+ }
+
+ @Override
+ public UnaryCallable listServicesCallable() {
+ return listServicesCallable;
+ }
+
+ @Override
+ public UnaryCallable listServicesPagedCallable() {
+ return listServicesPagedCallable;
+ }
+
+ @Override
+ public UnaryCallable getServiceCallable() {
+ return getServiceCallable;
+ }
+
+ @Override
+ public UnaryCallable createServiceCallable() {
+ return createServiceCallable;
+ }
+
+ @Override
+ public OperationCallable
+ createServiceOperationCallable() {
+ return createServiceOperationCallable;
+ }
+
+ @Override
+ public UnaryCallable deleteServiceCallable() {
+ return deleteServiceCallable;
+ }
+
+ @Override
+ public OperationCallable
+ deleteServiceOperationCallable() {
+ return deleteServiceOperationCallable;
+ }
+
+ @Override
+ public UnaryCallable undeleteServiceCallable() {
+ return undeleteServiceCallable;
+ }
+
+ @Override
+ public OperationCallable
+ undeleteServiceOperationCallable() {
+ return undeleteServiceOperationCallable;
+ }
+
+ @Override
+ public UnaryCallable
+ listServiceConfigsCallable() {
+ return listServiceConfigsCallable;
+ }
+
+ @Override
+ public UnaryCallable
+ listServiceConfigsPagedCallable() {
+ return listServiceConfigsPagedCallable;
+ }
+
+ @Override
+ public UnaryCallable getServiceConfigCallable() {
+ return getServiceConfigCallable;
+ }
+
+ @Override
+ public UnaryCallable createServiceConfigCallable() {
+ return createServiceConfigCallable;
+ }
+
+ @Override
+ public UnaryCallable submitConfigSourceCallable() {
+ return submitConfigSourceCallable;
+ }
+
+ @Override
+ public OperationCallable
+ submitConfigSourceOperationCallable() {
+ return submitConfigSourceOperationCallable;
+ }
+
+ @Override
+ public UnaryCallable
+ listServiceRolloutsCallable() {
+ return listServiceRolloutsCallable;
+ }
+
+ @Override
+ public UnaryCallable
+ listServiceRolloutsPagedCallable() {
+ return listServiceRolloutsPagedCallable;
+ }
+
+ @Override
+ public UnaryCallable getServiceRolloutCallable() {
+ return getServiceRolloutCallable;
+ }
+
+ @Override
+ public UnaryCallable createServiceRolloutCallable() {
+ return createServiceRolloutCallable;
+ }
+
+ @Override
+ public OperationCallable
+ createServiceRolloutOperationCallable() {
+ return createServiceRolloutOperationCallable;
+ }
+
+ @Override
+ public UnaryCallable
+ generateConfigReportCallable() {
+ return generateConfigReportCallable;
+ }
+
+ @Override
+ public final void close() {
+ try {
+ backgroundResources.close();
+ } catch (RuntimeException e) {
+ throw e;
+ } catch (Exception e) {
+ throw new IllegalStateException("Failed to close resource", e);
+ }
+ }
+
+ @Override
+ public void shutdown() {
+ backgroundResources.shutdown();
+ }
+
+ @Override
+ public boolean isShutdown() {
+ return backgroundResources.isShutdown();
+ }
+
+ @Override
+ public boolean isTerminated() {
+ return backgroundResources.isTerminated();
+ }
+
+ @Override
+ public void shutdownNow() {
+ backgroundResources.shutdownNow();
+ }
+
+ @Override
+ public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException {
+ return backgroundResources.awaitTermination(duration, unit);
+ }
+}
diff --git a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/ServiceManagerStub.java b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/ServiceManagerStub.java
index f930581c0d3b..97debe6c2687 100644
--- a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/ServiceManagerStub.java
+++ b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/ServiceManagerStub.java
@@ -61,7 +61,11 @@
public abstract class ServiceManagerStub implements BackgroundResource {
public OperationsStub getOperationsStub() {
- throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
+ return null;
+ }
+
+ public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
+ return null;
}
public UnaryCallable listServicesPagedCallable() {
diff --git a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/ServiceManagerStubSettings.java b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/ServiceManagerStubSettings.java
index 9e6727fdda7d..6589cd500624 100644
--- a/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/ServiceManagerStubSettings.java
+++ b/java-service-management/google-cloud-service-management/src/main/java/com/google/cloud/api/servicemanagement/v1/stub/ServiceManagerStubSettings.java
@@ -31,6 +31,9 @@
import com.google.api.gax.grpc.GrpcTransportChannel;
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
import com.google.api.gax.grpc.ProtoOperationTransformers;
+import com.google.api.gax.httpjson.GaxHttpJsonProperties;
+import com.google.api.gax.httpjson.HttpJsonTransportChannel;
+import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
import com.google.api.gax.longrunning.OperationSnapshot;
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
import com.google.api.gax.retrying.RetrySettings;
@@ -444,6 +447,11 @@ public ServiceManagerStub createStub() throws IOException {
.equals(GrpcTransportChannel.getGrpcTransportName())) {
return GrpcServiceManagerStub.create(this);
}
+ if (getTransportChannelProvider()
+ .getTransportName()
+ .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
+ return HttpJsonServiceManagerStub.create(this);
+ }
throw new UnsupportedOperationException(
String.format(
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -476,18 +484,25 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
.setUseJwtAccessWithScope(true);
}
- /** Returns a builder for the default ChannelProvider for this service. */
+ /** Returns a builder for the default gRPC ChannelProvider for this service. */
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
return InstantiatingGrpcChannelProvider.newBuilder()
.setMaxInboundMessageSize(Integer.MAX_VALUE);
}
+ /** Returns a builder for the default REST ChannelProvider for this service. */
+ @BetaApi
+ public static InstantiatingHttpJsonChannelProvider.Builder
+ defaultHttpJsonTransportProviderBuilder() {
+ return InstantiatingHttpJsonChannelProvider.newBuilder();
+ }
+
public static TransportChannelProvider defaultTransportChannelProvider() {
return defaultGrpcTransportProviderBuilder().build();
}
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
- public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
+ public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
return ApiClientHeaderProvider.newBuilder()
.setGeneratedLibToken(
"gapic", GaxProperties.getLibraryVersion(ServiceManagerStubSettings.class))
@@ -495,11 +510,30 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
}
- /** Returns a new builder for this class. */
+ @BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
+ public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
+ return ApiClientHeaderProvider.newBuilder()
+ .setGeneratedLibToken(
+ "gapic", GaxProperties.getLibraryVersion(ServiceManagerStubSettings.class))
+ .setTransportToken(
+ GaxHttpJsonProperties.getHttpJsonTokenName(),
+ GaxHttpJsonProperties.getHttpJsonVersion());
+ }
+
+ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
+ return ServiceManagerStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
+ }
+
+ /** Returns a new gRPC builder for this class. */
public static Builder newBuilder() {
return Builder.createDefault();
}
+ /** Returns a new REST builder for this class. */
+ public static Builder newHttpJsonBuilder() {
+ return Builder.createHttpJsonDefault();
+ }
+
/** Returns a new builder for this class. */
public static Builder newBuilder(ClientContext clientContext) {
return new Builder(clientContext);
@@ -707,6 +741,19 @@ private static Builder createDefault() {
return initDefaults(builder);
}
+ private static Builder createHttpJsonDefault() {
+ Builder builder = new Builder(((ClientContext) null));
+
+ builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
+ builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
+ builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
+ builder.setEndpoint(getDefaultEndpoint());
+ builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
+ builder.setSwitchToMtlsEndpointAllowed(true);
+
+ return initDefaults(builder);
+ }
+
private static Builder initDefaults(Builder builder) {
builder
.listServicesSettings()
diff --git a/java-service-management/google-cloud-service-management/src/test/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerClientHttpJsonTest.java b/java-service-management/google-cloud-service-management/src/test/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerClientHttpJsonTest.java
new file mode 100644
index 000000000000..1f8abc45f08c
--- /dev/null
+++ b/java-service-management/google-cloud-service-management/src/test/java/com/google/cloud/api/servicemanagement/v1/ServiceManagerClientHttpJsonTest.java
@@ -0,0 +1,812 @@
+/*
+ * Copyright 2022 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.cloud.api.servicemanagement.v1;
+
+import static com.google.cloud.api.servicemanagement.v1.ServiceManagerClient.ListServiceConfigsPagedResponse;
+import static com.google.cloud.api.servicemanagement.v1.ServiceManagerClient.ListServiceRolloutsPagedResponse;
+import static com.google.cloud.api.servicemanagement.v1.ServiceManagerClient.ListServicesPagedResponse;
+
+import com.google.api.Authentication;
+import com.google.api.Backend;
+import com.google.api.Billing;
+import com.google.api.Context;
+import com.google.api.Control;
+import com.google.api.Documentation;
+import com.google.api.Endpoint;
+import com.google.api.Http;
+import com.google.api.LogDescriptor;
+import com.google.api.Logging;
+import com.google.api.MetricDescriptor;
+import com.google.api.MonitoredResourceDescriptor;
+import com.google.api.Monitoring;
+import com.google.api.Quota;
+import com.google.api.Service;
+import com.google.api.SourceInfo;
+import com.google.api.SystemParameters;
+import com.google.api.Usage;
+import com.google.api.gax.core.NoCredentialsProvider;
+import com.google.api.gax.httpjson.GaxHttpJsonProperties;
+import com.google.api.gax.httpjson.testing.MockHttpService;
+import com.google.api.gax.rpc.ApiClientHeaderProvider;
+import com.google.api.gax.rpc.ApiException;
+import com.google.api.gax.rpc.ApiExceptionFactory;
+import com.google.api.gax.rpc.InvalidArgumentException;
+import com.google.api.gax.rpc.StatusCode;
+import com.google.api.gax.rpc.testing.FakeStatusCode;
+import com.google.api.servicemanagement.v1.ChangeReport;
+import com.google.api.servicemanagement.v1.ConfigSource;
+import com.google.api.servicemanagement.v1.Diagnostic;
+import com.google.api.servicemanagement.v1.GenerateConfigReportResponse;
+import com.google.api.servicemanagement.v1.GetServiceConfigRequest;
+import com.google.api.servicemanagement.v1.ListServiceConfigsResponse;
+import com.google.api.servicemanagement.v1.ListServiceRolloutsResponse;
+import com.google.api.servicemanagement.v1.ListServicesResponse;
+import com.google.api.servicemanagement.v1.ManagedService;
+import com.google.api.servicemanagement.v1.Rollout;
+import com.google.api.servicemanagement.v1.SubmitConfigSourceResponse;
+import com.google.api.servicemanagement.v1.UndeleteServiceResponse;
+import com.google.cloud.api.servicemanagement.v1.stub.HttpJsonServiceManagerStub;
+import com.google.common.collect.Lists;
+import com.google.longrunning.Operation;
+import com.google.protobuf.Any;
+import com.google.protobuf.Api;
+import com.google.protobuf.Empty;
+import com.google.protobuf.Enum;
+import com.google.protobuf.Timestamp;
+import com.google.protobuf.Type;
+import com.google.protobuf.UInt32Value;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
+import javax.annotation.Generated;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+@Generated("by gapic-generator-java")
+public class ServiceManagerClientHttpJsonTest {
+ private static MockHttpService mockService;
+ private static ServiceManagerClient client;
+
+ @BeforeClass
+ public static void startStaticServer() throws IOException {
+ mockService =
+ new MockHttpService(
+ HttpJsonServiceManagerStub.getMethodDescriptors(),
+ ServiceManagerSettings.getDefaultEndpoint());
+ ServiceManagerSettings settings =
+ ServiceManagerSettings.newHttpJsonBuilder()
+ .setTransportChannelProvider(
+ ServiceManagerSettings.defaultHttpJsonTransportProviderBuilder()
+ .setHttpTransport(mockService)
+ .build())
+ .setCredentialsProvider(NoCredentialsProvider.create())
+ .build();
+ client = ServiceManagerClient.create(settings);
+ }
+
+ @AfterClass
+ public static void stopServer() {
+ client.close();
+ }
+
+ @Before
+ public void setUp() {}
+
+ @After
+ public void tearDown() throws Exception {
+ mockService.reset();
+ }
+
+ @Test
+ public void listServicesTest() throws Exception {
+ ManagedService responsesElement = ManagedService.newBuilder().build();
+ ListServicesResponse expectedResponse =
+ ListServicesResponse.newBuilder()
+ .setNextPageToken("")
+ .addAllServices(Arrays.asList(responsesElement))
+ .build();
+ mockService.addResponse(expectedResponse);
+
+ String producerProjectId = "producerProjectId-1297373534";
+ String consumerId = "consumerId-166238287";
+
+ ListServicesPagedResponse pagedListResponse =
+ client.listServices(producerProjectId, consumerId);
+
+ List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+ Assert.assertEquals(1, resources.size());
+ Assert.assertEquals(expectedResponse.getServicesList().get(0), resources.get(0));
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void listServicesExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String producerProjectId = "producerProjectId-1297373534";
+ String consumerId = "consumerId-166238287";
+ client.listServices(producerProjectId, consumerId);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception.
+ }
+ }
+
+ @Test
+ public void getServiceTest() throws Exception {
+ ManagedService expectedResponse =
+ ManagedService.newBuilder()
+ .setServiceName("serviceName-1928572192")
+ .setProducerProjectId("producerProjectId-1297373534")
+ .build();
+ mockService.addResponse(expectedResponse);
+
+ String serviceName = "serviceName-4234";
+
+ ManagedService actualResponse = client.getService(serviceName);
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void getServiceExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ client.getService(serviceName);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception.
+ }
+ }
+
+ @Test
+ public void createServiceTest() throws Exception {
+ ManagedService expectedResponse =
+ ManagedService.newBuilder()
+ .setServiceName("serviceName-1928572192")
+ .setProducerProjectId("producerProjectId-1297373534")
+ .build();
+ Operation resultOperation =
+ Operation.newBuilder()
+ .setName("createServiceTest")
+ .setDone(true)
+ .setResponse(Any.pack(expectedResponse))
+ .build();
+ mockService.addResponse(resultOperation);
+
+ ManagedService service = ManagedService.newBuilder().build();
+
+ ManagedService actualResponse = client.createServiceAsync(service).get();
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void createServiceExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ ManagedService service = ManagedService.newBuilder().build();
+ client.createServiceAsync(service).get();
+ Assert.fail("No exception raised");
+ } catch (ExecutionException e) {
+ }
+ }
+
+ @Test
+ public void deleteServiceTest() throws Exception {
+ Empty expectedResponse = Empty.newBuilder().build();
+ Operation resultOperation =
+ Operation.newBuilder()
+ .setName("deleteServiceTest")
+ .setDone(true)
+ .setResponse(Any.pack(expectedResponse))
+ .build();
+ mockService.addResponse(resultOperation);
+
+ String serviceName = "serviceName-4234";
+
+ client.deleteServiceAsync(serviceName).get();
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void deleteServiceExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ client.deleteServiceAsync(serviceName).get();
+ Assert.fail("No exception raised");
+ } catch (ExecutionException e) {
+ }
+ }
+
+ @Test
+ public void undeleteServiceTest() throws Exception {
+ UndeleteServiceResponse expectedResponse =
+ UndeleteServiceResponse.newBuilder()
+ .setService(ManagedService.newBuilder().build())
+ .build();
+ Operation resultOperation =
+ Operation.newBuilder()
+ .setName("undeleteServiceTest")
+ .setDone(true)
+ .setResponse(Any.pack(expectedResponse))
+ .build();
+ mockService.addResponse(resultOperation);
+
+ String serviceName = "serviceName-4234";
+
+ UndeleteServiceResponse actualResponse = client.undeleteServiceAsync(serviceName).get();
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void undeleteServiceExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ client.undeleteServiceAsync(serviceName).get();
+ Assert.fail("No exception raised");
+ } catch (ExecutionException e) {
+ }
+ }
+
+ @Test
+ public void listServiceConfigsTest() throws Exception {
+ Service responsesElement = Service.newBuilder().build();
+ ListServiceConfigsResponse expectedResponse =
+ ListServiceConfigsResponse.newBuilder()
+ .setNextPageToken("")
+ .addAllServiceConfigs(Arrays.asList(responsesElement))
+ .build();
+ mockService.addResponse(expectedResponse);
+
+ String serviceName = "serviceName-4234";
+
+ ListServiceConfigsPagedResponse pagedListResponse = client.listServiceConfigs(serviceName);
+
+ List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+ Assert.assertEquals(1, resources.size());
+ Assert.assertEquals(expectedResponse.getServiceConfigsList().get(0), resources.get(0));
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void listServiceConfigsExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ client.listServiceConfigs(serviceName);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception.
+ }
+ }
+
+ @Test
+ public void getServiceConfigTest() throws Exception {
+ Service expectedResponse =
+ Service.newBuilder()
+ .setName("name3373707")
+ .setTitle("title110371416")
+ .setProducerProjectId("producerProjectId-1297373534")
+ .setId("id3355")
+ .addAllApis(new ArrayList())
+ .addAllTypes(new ArrayList())
+ .addAllEnums(new ArrayList())
+ .setDocumentation(Documentation.newBuilder().build())
+ .setBackend(Backend.newBuilder().build())
+ .setHttp(Http.newBuilder().build())
+ .setQuota(Quota.newBuilder().build())
+ .setAuthentication(Authentication.newBuilder().build())
+ .setContext(Context.newBuilder().build())
+ .setUsage(Usage.newBuilder().build())
+ .addAllEndpoints(new ArrayList())
+ .setControl(Control.newBuilder().build())
+ .addAllLogs(new ArrayList())
+ .addAllMetrics(new ArrayList())
+ .addAllMonitoredResources(new ArrayList())
+ .setBilling(Billing.newBuilder().build())
+ .setLogging(Logging.newBuilder().build())
+ .setMonitoring(Monitoring.newBuilder().build())
+ .setSystemParameters(SystemParameters.newBuilder().build())
+ .setSourceInfo(SourceInfo.newBuilder().build())
+ .setConfigVersion(UInt32Value.newBuilder().build())
+ .build();
+ mockService.addResponse(expectedResponse);
+
+ String serviceName = "serviceName-4234";
+ String configId = "configId-1859";
+ GetServiceConfigRequest.ConfigView view = GetServiceConfigRequest.ConfigView.forNumber(0);
+
+ Service actualResponse = client.getServiceConfig(serviceName, configId, view);
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void getServiceConfigExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ String configId = "configId-1859";
+ GetServiceConfigRequest.ConfigView view = GetServiceConfigRequest.ConfigView.forNumber(0);
+ client.getServiceConfig(serviceName, configId, view);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception.
+ }
+ }
+
+ @Test
+ public void createServiceConfigTest() throws Exception {
+ Service expectedResponse =
+ Service.newBuilder()
+ .setName("name3373707")
+ .setTitle("title110371416")
+ .setProducerProjectId("producerProjectId-1297373534")
+ .setId("id3355")
+ .addAllApis(new ArrayList())
+ .addAllTypes(new ArrayList())
+ .addAllEnums(new ArrayList())
+ .setDocumentation(Documentation.newBuilder().build())
+ .setBackend(Backend.newBuilder().build())
+ .setHttp(Http.newBuilder().build())
+ .setQuota(Quota.newBuilder().build())
+ .setAuthentication(Authentication.newBuilder().build())
+ .setContext(Context.newBuilder().build())
+ .setUsage(Usage.newBuilder().build())
+ .addAllEndpoints(new ArrayList())
+ .setControl(Control.newBuilder().build())
+ .addAllLogs(new ArrayList())
+ .addAllMetrics(new ArrayList())
+ .addAllMonitoredResources(new ArrayList())
+ .setBilling(Billing.newBuilder().build())
+ .setLogging(Logging.newBuilder().build())
+ .setMonitoring(Monitoring.newBuilder().build())
+ .setSystemParameters(SystemParameters.newBuilder().build())
+ .setSourceInfo(SourceInfo.newBuilder().build())
+ .setConfigVersion(UInt32Value.newBuilder().build())
+ .build();
+ mockService.addResponse(expectedResponse);
+
+ String serviceName = "serviceName-4234";
+ Service serviceConfig = Service.newBuilder().build();
+
+ Service actualResponse = client.createServiceConfig(serviceName, serviceConfig);
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void createServiceConfigExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ Service serviceConfig = Service.newBuilder().build();
+ client.createServiceConfig(serviceName, serviceConfig);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception.
+ }
+ }
+
+ @Test
+ public void submitConfigSourceTest() throws Exception {
+ SubmitConfigSourceResponse expectedResponse =
+ SubmitConfigSourceResponse.newBuilder()
+ .setServiceConfig(Service.newBuilder().build())
+ .build();
+ Operation resultOperation =
+ Operation.newBuilder()
+ .setName("submitConfigSourceTest")
+ .setDone(true)
+ .setResponse(Any.pack(expectedResponse))
+ .build();
+ mockService.addResponse(resultOperation);
+
+ String serviceName = "serviceName-4234";
+ ConfigSource configSource = ConfigSource.newBuilder().build();
+ boolean validateOnly = true;
+
+ SubmitConfigSourceResponse actualResponse =
+ client.submitConfigSourceAsync(serviceName, configSource, validateOnly).get();
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void submitConfigSourceExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ ConfigSource configSource = ConfigSource.newBuilder().build();
+ boolean validateOnly = true;
+ client.submitConfigSourceAsync(serviceName, configSource, validateOnly).get();
+ Assert.fail("No exception raised");
+ } catch (ExecutionException e) {
+ }
+ }
+
+ @Test
+ public void listServiceRolloutsTest() throws Exception {
+ Rollout responsesElement = Rollout.newBuilder().build();
+ ListServiceRolloutsResponse expectedResponse =
+ ListServiceRolloutsResponse.newBuilder()
+ .setNextPageToken("")
+ .addAllRollouts(Arrays.asList(responsesElement))
+ .build();
+ mockService.addResponse(expectedResponse);
+
+ String serviceName = "serviceName-4234";
+ String filter = "filter-1274492040";
+
+ ListServiceRolloutsPagedResponse pagedListResponse =
+ client.listServiceRollouts(serviceName, filter);
+
+ List resources = Lists.newArrayList(pagedListResponse.iterateAll());
+
+ Assert.assertEquals(1, resources.size());
+ Assert.assertEquals(expectedResponse.getRolloutsList().get(0), resources.get(0));
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void listServiceRolloutsExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ String filter = "filter-1274492040";
+ client.listServiceRollouts(serviceName, filter);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception.
+ }
+ }
+
+ @Test
+ public void getServiceRolloutTest() throws Exception {
+ Rollout expectedResponse =
+ Rollout.newBuilder()
+ .setRolloutId("rolloutId551248556")
+ .setCreateTime(Timestamp.newBuilder().build())
+ .setCreatedBy("createdBy598371679")
+ .setServiceName("serviceName-1928572192")
+ .build();
+ mockService.addResponse(expectedResponse);
+
+ String serviceName = "serviceName-4234";
+ String rolloutId = "rolloutId-3906";
+
+ Rollout actualResponse = client.getServiceRollout(serviceName, rolloutId);
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void getServiceRolloutExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ String rolloutId = "rolloutId-3906";
+ client.getServiceRollout(serviceName, rolloutId);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception.
+ }
+ }
+
+ @Test
+ public void createServiceRolloutTest() throws Exception {
+ Rollout expectedResponse =
+ Rollout.newBuilder()
+ .setRolloutId("rolloutId551248556")
+ .setCreateTime(Timestamp.newBuilder().build())
+ .setCreatedBy("createdBy598371679")
+ .setServiceName("serviceName-1928572192")
+ .build();
+ Operation resultOperation =
+ Operation.newBuilder()
+ .setName("createServiceRolloutTest")
+ .setDone(true)
+ .setResponse(Any.pack(expectedResponse))
+ .build();
+ mockService.addResponse(resultOperation);
+
+ String serviceName = "serviceName-4234";
+ Rollout rollout = Rollout.newBuilder().build();
+
+ Rollout actualResponse = client.createServiceRolloutAsync(serviceName, rollout).get();
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void createServiceRolloutExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ String serviceName = "serviceName-4234";
+ Rollout rollout = Rollout.newBuilder().build();
+ client.createServiceRolloutAsync(serviceName, rollout).get();
+ Assert.fail("No exception raised");
+ } catch (ExecutionException e) {
+ }
+ }
+
+ @Test
+ public void generateConfigReportTest() throws Exception {
+ GenerateConfigReportResponse expectedResponse =
+ GenerateConfigReportResponse.newBuilder()
+ .setServiceName("serviceName-1928572192")
+ .setId("id3355")
+ .addAllChangeReports(new ArrayList())
+ .addAllDiagnostics(new ArrayList())
+ .build();
+ mockService.addResponse(expectedResponse);
+
+ Any newConfig = Any.newBuilder().build();
+ Any oldConfig = Any.newBuilder().build();
+
+ GenerateConfigReportResponse actualResponse = client.generateConfigReport(newConfig, oldConfig);
+ Assert.assertEquals(expectedResponse, actualResponse);
+
+ List actualRequests = mockService.getRequestPaths();
+ Assert.assertEquals(1, actualRequests.size());
+
+ String apiClientHeaderKey =
+ mockService
+ .getRequestHeaders()
+ .get(ApiClientHeaderProvider.getDefaultApiClientHeaderKey())
+ .iterator()
+ .next();
+ Assert.assertTrue(
+ GaxHttpJsonProperties.getDefaultApiClientHeaderPattern()
+ .matcher(apiClientHeaderKey)
+ .matches());
+ }
+
+ @Test
+ public void generateConfigReportExceptionTest() throws Exception {
+ ApiException exception =
+ ApiExceptionFactory.createException(
+ new Exception(), FakeStatusCode.of(StatusCode.Code.INVALID_ARGUMENT), false);
+ mockService.addException(exception);
+
+ try {
+ Any newConfig = Any.newBuilder().build();
+ Any oldConfig = Any.newBuilder().build();
+ client.generateConfigReport(newConfig, oldConfig);
+ Assert.fail("No exception raised");
+ } catch (InvalidArgumentException e) {
+ // Expected exception.
+ }
+ }
+}