Skip to content
This repository was archived by the owner on Sep 16, 2023. It is now read-only.

Commit 1c8f18c

Browse files
feat: Enable REST transport for most of Java and Go clients (#1242)
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 456641589 Source-Link: googleapis/googleapis@8a251f5 Source-Link: https://github.com/googleapis/googleapis-gen/commit/4ca52a529cf01308d9714950edffbea3560cfbdb Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGNhNTJhNTI5Y2YwMTMwOGQ5NzE0OTUwZWRmZmJlYTM1NjBjZmJkYiJ9
1 parent aab31a5 commit 1c8f18c

File tree

159 files changed

+11902
-37
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

159 files changed

+11902
-37
lines changed

google-cloud-asset/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@
7777
<groupId>com.google.api</groupId>
7878
<artifactId>gax-grpc</artifactId>
7979
</dependency>
80+
<dependency>
81+
<groupId>com.google.api</groupId>
82+
<artifactId>gax-httpjson</artifactId>
83+
</dependency>
8084
<dependency>
8185
<groupId>org.threeten</groupId>
8286
<artifactId>threetenbp</artifactId>
@@ -139,12 +143,24 @@
139143
<scope>test</scope>
140144
</dependency>
141145
<!-- Need testing utility classes for generated gRPC clients tests -->
146+
<dependency>
147+
<groupId>com.google.api</groupId>
148+
<artifactId>gax</artifactId>
149+
<classifier>testlib</classifier>
150+
<scope>test</scope>
151+
</dependency>
142152
<dependency>
143153
<groupId>com.google.api</groupId>
144154
<artifactId>gax-grpc</artifactId>
145155
<classifier>testlib</classifier>
146156
<scope>test</scope>
147157
</dependency>
158+
<dependency>
159+
<groupId>com.google.api</groupId>
160+
<artifactId>gax-httpjson</artifactId>
161+
<classifier>testlib</classifier>
162+
<scope>test</scope>
163+
</dependency>
148164
</dependencies>
149165

150166
<profiles>

google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceClient.java

Lines changed: 32 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.google.api.core.ApiFuture;
2020
import com.google.api.core.ApiFutures;
2121
import com.google.api.gax.core.BackgroundResource;
22+
import com.google.api.gax.httpjson.longrunning.OperationsClient;
2223
import com.google.api.gax.longrunning.OperationFuture;
2324
import com.google.api.gax.paging.AbstractFixedSizeCollection;
2425
import com.google.api.gax.paging.AbstractPage;
@@ -31,7 +32,6 @@
3132
import com.google.cloud.asset.v1.stub.AssetServiceStubSettings;
3233
import com.google.common.util.concurrent.MoreExecutors;
3334
import com.google.longrunning.Operation;
34-
import com.google.longrunning.OperationsClient;
3535
import com.google.protobuf.Empty;
3636
import com.google.protobuf.FieldMask;
3737
import java.io.IOException;
@@ -110,13 +110,28 @@
110110
* AssetServiceClient assetServiceClient = AssetServiceClient.create(assetServiceSettings);
111111
* }</pre>
112112
*
113+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
114+
* the wire:
115+
*
116+
* <pre>{@code
117+
* // This snippet has been automatically generated for illustrative purposes only.
118+
* // It may require modifications to work in your environment.
119+
* AssetServiceSettings assetServiceSettings =
120+
* AssetServiceSettings.newBuilder()
121+
* .setTransportChannelProvider(
122+
* AssetServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
123+
* .build();
124+
* AssetServiceClient assetServiceClient = AssetServiceClient.create(assetServiceSettings);
125+
* }</pre>
126+
*
113127
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
114128
*/
115129
@Generated("by gapic-generator-java")
116130
public class AssetServiceClient implements BackgroundResource {
117131
private final AssetServiceSettings settings;
118132
private final AssetServiceStub stub;
119-
private final OperationsClient operationsClient;
133+
private final OperationsClient httpJsonOperationsClient;
134+
private final com.google.longrunning.OperationsClient operationsClient;
120135

121136
/** Constructs an instance of AssetServiceClient with default settings. */
122137
public static final AssetServiceClient create() throws IOException {
@@ -147,13 +162,17 @@ public static final AssetServiceClient create(AssetServiceStub stub) {
147162
protected AssetServiceClient(AssetServiceSettings settings) throws IOException {
148163
this.settings = settings;
149164
this.stub = ((AssetServiceStubSettings) settings.getStubSettings()).createStub();
150-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
165+
this.operationsClient =
166+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
167+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
151168
}
152169

153170
protected AssetServiceClient(AssetServiceStub stub) {
154171
this.settings = null;
155172
this.stub = stub;
156-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
173+
this.operationsClient =
174+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
175+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
157176
}
158177

159178
public final AssetServiceSettings getSettings() {
@@ -168,10 +187,18 @@ public AssetServiceStub getStub() {
168187
* Returns the OperationsClient that can be used to query the status of a long-running operation
169188
* returned by another API method call.
170189
*/
171-
public final OperationsClient getOperationsClient() {
190+
public final com.google.longrunning.OperationsClient getOperationsClient() {
172191
return operationsClient;
173192
}
174193

194+
/**
195+
* Returns the OperationsClient that can be used to query the status of a long-running operation
196+
* returned by another API method call.
197+
*/
198+
public final OperationsClient getHttpJsonOperationsClient() {
199+
return httpJsonOperationsClient;
200+
}
201+
175202
// AUTO-GENERATED DOCUMENTATION AND METHOD.
176203
/**
177204
* Exports assets with time and resource types to a given Cloud Storage location/BigQuery table.

google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import com.google.api.gax.core.GoogleCredentialsProvider;
2727
import com.google.api.gax.core.InstantiatingExecutorProvider;
2828
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
29+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2930
import com.google.api.gax.rpc.ApiClientHeaderProvider;
3031
import com.google.api.gax.rpc.ClientContext;
3132
import com.google.api.gax.rpc.ClientSettings;
@@ -226,11 +227,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
226227
return AssetServiceStubSettings.defaultCredentialsProviderBuilder();
227228
}
228229

229-
/** Returns a builder for the default ChannelProvider for this service. */
230+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
230231
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
231232
return AssetServiceStubSettings.defaultGrpcTransportProviderBuilder();
232233
}
233234

235+
/** Returns a builder for the default REST ChannelProvider for this service. */
236+
@BetaApi
237+
public static InstantiatingHttpJsonChannelProvider.Builder
238+
defaultHttpJsonTransportProviderBuilder() {
239+
return AssetServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
240+
}
241+
234242
public static TransportChannelProvider defaultTransportChannelProvider() {
235243
return AssetServiceStubSettings.defaultTransportChannelProvider();
236244
}
@@ -240,11 +248,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
240248
return AssetServiceStubSettings.defaultApiClientHeaderProviderBuilder();
241249
}
242250

243-
/** Returns a new builder for this class. */
251+
/** Returns a new gRPC builder for this class. */
244252
public static Builder newBuilder() {
245253
return Builder.createDefault();
246254
}
247255

256+
/** Returns a new REST builder for this class. */
257+
@BetaApi
258+
public static Builder newHttpJsonBuilder() {
259+
return Builder.createHttpJsonDefault();
260+
}
261+
248262
/** Returns a new builder for this class. */
249263
public static Builder newBuilder(ClientContext clientContext) {
250264
return new Builder(clientContext);
@@ -282,6 +296,11 @@ private static Builder createDefault() {
282296
return new Builder(AssetServiceStubSettings.newBuilder());
283297
}
284298

299+
@BetaApi
300+
private static Builder createHttpJsonDefault() {
301+
return new Builder(AssetServiceStubSettings.newHttpJsonBuilder());
302+
}
303+
285304
public AssetServiceStubSettings.Builder getStubSettingsBuilder() {
286305
return ((AssetServiceStubSettings.Builder) getStubSettings());
287306
}

google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,11 @@
7272
public abstract class AssetServiceStub implements BackgroundResource {
7373

7474
public OperationsStub getOperationsStub() {
75-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
75+
return null;
76+
}
77+
78+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
79+
return null;
7680
}
7781

7882
public OperationCallable<ExportAssetsRequest, ExportAssetsResponse, ExportAssetsRequest>

google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
import com.google.api.gax.grpc.GrpcTransportChannel;
3232
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3333
import com.google.api.gax.grpc.ProtoOperationTransformers;
34+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
35+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
36+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3437
import com.google.api.gax.longrunning.OperationSnapshot;
3538
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3639
import com.google.api.gax.retrying.RetrySettings;
@@ -547,6 +550,11 @@ public AssetServiceStub createStub() throws IOException {
547550
.equals(GrpcTransportChannel.getGrpcTransportName())) {
548551
return GrpcAssetServiceStub.create(this);
549552
}
553+
if (getTransportChannelProvider()
554+
.getTransportName()
555+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
556+
return HttpJsonAssetServiceStub.create(this);
557+
}
550558
throw new UnsupportedOperationException(
551559
String.format(
552560
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -579,30 +587,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
579587
.setUseJwtAccessWithScope(true);
580588
}
581589

582-
/** Returns a builder for the default ChannelProvider for this service. */
590+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
583591
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
584592
return InstantiatingGrpcChannelProvider.newBuilder()
585593
.setMaxInboundMessageSize(Integer.MAX_VALUE);
586594
}
587595

596+
/** Returns a builder for the default REST ChannelProvider for this service. */
597+
@BetaApi
598+
public static InstantiatingHttpJsonChannelProvider.Builder
599+
defaultHttpJsonTransportProviderBuilder() {
600+
return InstantiatingHttpJsonChannelProvider.newBuilder();
601+
}
602+
588603
public static TransportChannelProvider defaultTransportChannelProvider() {
589604
return defaultGrpcTransportProviderBuilder().build();
590605
}
591606

592607
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
593-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
608+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
594609
return ApiClientHeaderProvider.newBuilder()
595610
.setGeneratedLibToken(
596611
"gapic", GaxProperties.getLibraryVersion(AssetServiceStubSettings.class))
597612
.setTransportToken(
598613
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
599614
}
600615

601-
/** Returns a new builder for this class. */
616+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
617+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
618+
return ApiClientHeaderProvider.newBuilder()
619+
.setGeneratedLibToken(
620+
"gapic", GaxProperties.getLibraryVersion(AssetServiceStubSettings.class))
621+
.setTransportToken(
622+
GaxHttpJsonProperties.getHttpJsonTokenName(),
623+
GaxHttpJsonProperties.getHttpJsonVersion());
624+
}
625+
626+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
627+
return AssetServiceStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
628+
}
629+
630+
/** Returns a new gRPC builder for this class. */
602631
public static Builder newBuilder() {
603632
return Builder.createDefault();
604633
}
605634

635+
/** Returns a new REST builder for this class. */
636+
public static Builder newHttpJsonBuilder() {
637+
return Builder.createHttpJsonDefault();
638+
}
639+
606640
/** Returns a new builder for this class. */
607641
public static Builder newBuilder(ClientContext clientContext) {
608642
return new Builder(clientContext);
@@ -884,6 +918,19 @@ private static Builder createDefault() {
884918
return initDefaults(builder);
885919
}
886920

921+
private static Builder createHttpJsonDefault() {
922+
Builder builder = new Builder(((ClientContext) null));
923+
924+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
925+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
926+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
927+
builder.setEndpoint(getDefaultEndpoint());
928+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
929+
builder.setSwitchToMtlsEndpointAllowed(true);
930+
931+
return initDefaults(builder);
932+
}
933+
887934
private static Builder initDefaults(Builder builder) {
888935
builder
889936
.exportAssetsSettings()

0 commit comments

Comments
 (0)