Skip to content

Commit 6763c54

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#670)
- [ ] 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 97bce79 commit 6763c54

File tree

70 files changed

+5022
-10
lines changed

Some content is hidden

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

70 files changed

+5022
-10
lines changed

java-billing/google-cloud-billing/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@
6161
<groupId>com.google.api</groupId>
6262
<artifactId>gax-grpc</artifactId>
6363
</dependency>
64+
<dependency>
65+
<groupId>com.google.api</groupId>
66+
<artifactId>gax-httpjson</artifactId>
67+
</dependency>
6468
<dependency>
6569
<groupId>org.threeten</groupId>
6670
<artifactId>threetenbp</artifactId>
@@ -78,12 +82,24 @@
7882
<scope>test</scope>
7983
</dependency>
8084
<!-- Need testing utility classes for generated gRPC clients tests -->
85+
<dependency>
86+
<groupId>com.google.api</groupId>
87+
<artifactId>gax</artifactId>
88+
<classifier>testlib</classifier>
89+
<scope>test</scope>
90+
</dependency>
8191
<dependency>
8292
<groupId>com.google.api</groupId>
8393
<artifactId>gax-grpc</artifactId>
8494
<classifier>testlib</classifier>
8595
<scope>test</scope>
8696
</dependency>
97+
<dependency>
98+
<groupId>com.google.api</groupId>
99+
<artifactId>gax-httpjson</artifactId>
100+
<classifier>testlib</classifier>
101+
<scope>test</scope>
102+
</dependency>
87103
</dependencies>
88104

89105
<profiles>

java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/CloudBillingClient.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,20 @@
102102
* CloudBillingClient cloudBillingClient = CloudBillingClient.create(cloudBillingSettings);
103103
* }</pre>
104104
*
105+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
106+
* the wire:
107+
*
108+
* <pre>{@code
109+
* // This snippet has been automatically generated for illustrative purposes only.
110+
* // It may require modifications to work in your environment.
111+
* CloudBillingSettings cloudBillingSettings =
112+
* CloudBillingSettings.newBuilder()
113+
* .setTransportChannelProvider(
114+
* CloudBillingSettings.defaultHttpJsonTransportProviderBuilder().build())
115+
* .build();
116+
* CloudBillingClient cloudBillingClient = CloudBillingClient.create(cloudBillingSettings);
117+
* }</pre>
118+
*
105119
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
106120
*/
107121
@Generated("by gapic-generator-java")

java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/CloudBillingSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.google.api.gax.core.GoogleCredentialsProvider;
2525
import com.google.api.gax.core.InstantiatingExecutorProvider;
2626
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
27+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2728
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2829
import com.google.api.gax.rpc.ClientContext;
2930
import com.google.api.gax.rpc.ClientSettings;
@@ -162,11 +163,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
162163
return CloudBillingStubSettings.defaultCredentialsProviderBuilder();
163164
}
164165

165-
/** Returns a builder for the default ChannelProvider for this service. */
166+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
166167
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
167168
return CloudBillingStubSettings.defaultGrpcTransportProviderBuilder();
168169
}
169170

171+
/** Returns a builder for the default REST ChannelProvider for this service. */
172+
@BetaApi
173+
public static InstantiatingHttpJsonChannelProvider.Builder
174+
defaultHttpJsonTransportProviderBuilder() {
175+
return CloudBillingStubSettings.defaultHttpJsonTransportProviderBuilder();
176+
}
177+
170178
public static TransportChannelProvider defaultTransportChannelProvider() {
171179
return CloudBillingStubSettings.defaultTransportChannelProvider();
172180
}
@@ -176,11 +184,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
176184
return CloudBillingStubSettings.defaultApiClientHeaderProviderBuilder();
177185
}
178186

179-
/** Returns a new builder for this class. */
187+
/** Returns a new gRPC builder for this class. */
180188
public static Builder newBuilder() {
181189
return Builder.createDefault();
182190
}
183191

192+
/** Returns a new REST builder for this class. */
193+
@BetaApi
194+
public static Builder newHttpJsonBuilder() {
195+
return Builder.createHttpJsonDefault();
196+
}
197+
184198
/** Returns a new builder for this class. */
185199
public static Builder newBuilder(ClientContext clientContext) {
186200
return new Builder(clientContext);
@@ -218,6 +232,11 @@ private static Builder createDefault() {
218232
return new Builder(CloudBillingStubSettings.newBuilder());
219233
}
220234

235+
@BetaApi
236+
private static Builder createHttpJsonDefault() {
237+
return new Builder(CloudBillingStubSettings.newHttpJsonBuilder());
238+
}
239+
221240
public CloudBillingStubSettings.Builder getStubSettingsBuilder() {
222241
return ((CloudBillingStubSettings.Builder) getStubSettings());
223242
}

java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/CloudCatalogClient.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,20 @@
9898
* CloudCatalogClient cloudCatalogClient = CloudCatalogClient.create(cloudCatalogSettings);
9999
* }</pre>
100100
*
101+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
102+
* the wire:
103+
*
104+
* <pre>{@code
105+
* // This snippet has been automatically generated for illustrative purposes only.
106+
* // It may require modifications to work in your environment.
107+
* CloudCatalogSettings cloudCatalogSettings =
108+
* CloudCatalogSettings.newBuilder()
109+
* .setTransportChannelProvider(
110+
* CloudCatalogSettings.defaultHttpJsonTransportProviderBuilder().build())
111+
* .build();
112+
* CloudCatalogClient cloudCatalogClient = CloudCatalogClient.create(cloudCatalogSettings);
113+
* }</pre>
114+
*
101115
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
102116
*/
103117
@Generated("by gapic-generator-java")

java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/CloudCatalogSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.google.api.gax.core.GoogleCredentialsProvider;
2525
import com.google.api.gax.core.InstantiatingExecutorProvider;
2626
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
27+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2728
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2829
import com.google.api.gax.rpc.ClientContext;
2930
import com.google.api.gax.rpc.ClientSettings;
@@ -108,11 +109,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
108109
return CloudCatalogStubSettings.defaultCredentialsProviderBuilder();
109110
}
110111

111-
/** Returns a builder for the default ChannelProvider for this service. */
112+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
112113
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
113114
return CloudCatalogStubSettings.defaultGrpcTransportProviderBuilder();
114115
}
115116

117+
/** Returns a builder for the default REST ChannelProvider for this service. */
118+
@BetaApi
119+
public static InstantiatingHttpJsonChannelProvider.Builder
120+
defaultHttpJsonTransportProviderBuilder() {
121+
return CloudCatalogStubSettings.defaultHttpJsonTransportProviderBuilder();
122+
}
123+
116124
public static TransportChannelProvider defaultTransportChannelProvider() {
117125
return CloudCatalogStubSettings.defaultTransportChannelProvider();
118126
}
@@ -122,11 +130,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
122130
return CloudCatalogStubSettings.defaultApiClientHeaderProviderBuilder();
123131
}
124132

125-
/** Returns a new builder for this class. */
133+
/** Returns a new gRPC builder for this class. */
126134
public static Builder newBuilder() {
127135
return Builder.createDefault();
128136
}
129137

138+
/** Returns a new REST builder for this class. */
139+
@BetaApi
140+
public static Builder newHttpJsonBuilder() {
141+
return Builder.createHttpJsonDefault();
142+
}
143+
130144
/** Returns a new builder for this class. */
131145
public static Builder newBuilder(ClientContext clientContext) {
132146
return new Builder(clientContext);
@@ -164,6 +178,11 @@ private static Builder createDefault() {
164178
return new Builder(CloudCatalogStubSettings.newBuilder());
165179
}
166180

181+
@BetaApi
182+
private static Builder createHttpJsonDefault() {
183+
return new Builder(CloudCatalogStubSettings.newHttpJsonBuilder());
184+
}
185+
167186
public CloudCatalogStubSettings.Builder getStubSettingsBuilder() {
168187
return ((CloudCatalogStubSettings.Builder) getStubSettings());
169188
}

java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/stub/CloudBillingStubSettings.java

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
import com.google.api.gax.grpc.GaxGrpcProperties;
2929
import com.google.api.gax.grpc.GrpcTransportChannel;
3030
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
31+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
32+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
33+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3134
import com.google.api.gax.retrying.RetrySettings;
3235
import com.google.api.gax.rpc.ApiCallContext;
3336
import com.google.api.gax.rpc.ApiClientHeaderProvider;
@@ -327,6 +330,11 @@ public CloudBillingStub createStub() throws IOException {
327330
.equals(GrpcTransportChannel.getGrpcTransportName())) {
328331
return GrpcCloudBillingStub.create(this);
329332
}
333+
if (getTransportChannelProvider()
334+
.getTransportName()
335+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
336+
return HttpJsonCloudBillingStub.create(this);
337+
}
330338
throw new UnsupportedOperationException(
331339
String.format(
332340
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -359,30 +367,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
359367
.setUseJwtAccessWithScope(true);
360368
}
361369

362-
/** Returns a builder for the default ChannelProvider for this service. */
370+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
363371
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
364372
return InstantiatingGrpcChannelProvider.newBuilder()
365373
.setMaxInboundMessageSize(Integer.MAX_VALUE);
366374
}
367375

376+
/** Returns a builder for the default REST ChannelProvider for this service. */
377+
@BetaApi
378+
public static InstantiatingHttpJsonChannelProvider.Builder
379+
defaultHttpJsonTransportProviderBuilder() {
380+
return InstantiatingHttpJsonChannelProvider.newBuilder();
381+
}
382+
368383
public static TransportChannelProvider defaultTransportChannelProvider() {
369384
return defaultGrpcTransportProviderBuilder().build();
370385
}
371386

372387
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
373-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
388+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
374389
return ApiClientHeaderProvider.newBuilder()
375390
.setGeneratedLibToken(
376391
"gapic", GaxProperties.getLibraryVersion(CloudBillingStubSettings.class))
377392
.setTransportToken(
378393
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
379394
}
380395

381-
/** Returns a new builder for this class. */
396+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
397+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
398+
return ApiClientHeaderProvider.newBuilder()
399+
.setGeneratedLibToken(
400+
"gapic", GaxProperties.getLibraryVersion(CloudBillingStubSettings.class))
401+
.setTransportToken(
402+
GaxHttpJsonProperties.getHttpJsonTokenName(),
403+
GaxHttpJsonProperties.getHttpJsonVersion());
404+
}
405+
406+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
407+
return CloudBillingStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
408+
}
409+
410+
/** Returns a new gRPC builder for this class. */
382411
public static Builder newBuilder() {
383412
return Builder.createDefault();
384413
}
385414

415+
/** Returns a new REST builder for this class. */
416+
public static Builder newHttpJsonBuilder() {
417+
return Builder.createHttpJsonDefault();
418+
}
419+
386420
/** Returns a new builder for this class. */
387421
public static Builder newBuilder(ClientContext clientContext) {
388422
return new Builder(clientContext);
@@ -554,6 +588,19 @@ private static Builder createDefault() {
554588
return initDefaults(builder);
555589
}
556590

591+
private static Builder createHttpJsonDefault() {
592+
Builder builder = new Builder(((ClientContext) null));
593+
594+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
595+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
596+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
597+
builder.setEndpoint(getDefaultEndpoint());
598+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
599+
builder.setSwitchToMtlsEndpointAllowed(true);
600+
601+
return initDefaults(builder);
602+
}
603+
557604
private static Builder initDefaults(Builder builder) {
558605
builder
559606
.getBillingAccountSettings()

java-billing/google-cloud-billing/src/main/java/com/google/cloud/billing/v1/stub/CloudCatalogStubSettings.java

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
import com.google.api.gax.grpc.GaxGrpcProperties;
2929
import com.google.api.gax.grpc.GrpcTransportChannel;
3030
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
31+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
32+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
33+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3134
import com.google.api.gax.retrying.RetrySettings;
3235
import com.google.api.gax.rpc.ApiCallContext;
3336
import com.google.api.gax.rpc.ApiClientHeaderProvider;
@@ -225,6 +228,11 @@ public CloudCatalogStub createStub() throws IOException {
225228
.equals(GrpcTransportChannel.getGrpcTransportName())) {
226229
return GrpcCloudCatalogStub.create(this);
227230
}
231+
if (getTransportChannelProvider()
232+
.getTransportName()
233+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
234+
return HttpJsonCloudCatalogStub.create(this);
235+
}
228236
throw new UnsupportedOperationException(
229237
String.format(
230238
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -257,30 +265,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
257265
.setUseJwtAccessWithScope(true);
258266
}
259267

260-
/** Returns a builder for the default ChannelProvider for this service. */
268+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
261269
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
262270
return InstantiatingGrpcChannelProvider.newBuilder()
263271
.setMaxInboundMessageSize(Integer.MAX_VALUE);
264272
}
265273

274+
/** Returns a builder for the default REST ChannelProvider for this service. */
275+
@BetaApi
276+
public static InstantiatingHttpJsonChannelProvider.Builder
277+
defaultHttpJsonTransportProviderBuilder() {
278+
return InstantiatingHttpJsonChannelProvider.newBuilder();
279+
}
280+
266281
public static TransportChannelProvider defaultTransportChannelProvider() {
267282
return defaultGrpcTransportProviderBuilder().build();
268283
}
269284

270285
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
271-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
286+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
272287
return ApiClientHeaderProvider.newBuilder()
273288
.setGeneratedLibToken(
274289
"gapic", GaxProperties.getLibraryVersion(CloudCatalogStubSettings.class))
275290
.setTransportToken(
276291
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
277292
}
278293

279-
/** Returns a new builder for this class. */
294+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
295+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
296+
return ApiClientHeaderProvider.newBuilder()
297+
.setGeneratedLibToken(
298+
"gapic", GaxProperties.getLibraryVersion(CloudCatalogStubSettings.class))
299+
.setTransportToken(
300+
GaxHttpJsonProperties.getHttpJsonTokenName(),
301+
GaxHttpJsonProperties.getHttpJsonVersion());
302+
}
303+
304+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
305+
return CloudCatalogStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
306+
}
307+
308+
/** Returns a new gRPC builder for this class. */
280309
public static Builder newBuilder() {
281310
return Builder.createDefault();
282311
}
283312

313+
/** Returns a new REST builder for this class. */
314+
public static Builder newHttpJsonBuilder() {
315+
return Builder.createHttpJsonDefault();
316+
}
317+
284318
/** Returns a new builder for this class. */
285319
public static Builder newBuilder(ClientContext clientContext) {
286320
return new Builder(clientContext);
@@ -372,6 +406,19 @@ private static Builder createDefault() {
372406
return initDefaults(builder);
373407
}
374408

409+
private static Builder createHttpJsonDefault() {
410+
Builder builder = new Builder(((ClientContext) null));
411+
412+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
413+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
414+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
415+
builder.setEndpoint(getDefaultEndpoint());
416+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
417+
builder.setSwitchToMtlsEndpointAllowed(true);
418+
419+
return initDefaults(builder);
420+
}
421+
375422
private static Builder initDefaults(Builder builder) {
376423
builder
377424
.listServicesSettings()

0 commit comments

Comments
 (0)