Skip to content

Commit 783d389

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#801)
- [ ] 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 b96b786 commit 783d389

File tree

154 files changed

+13099
-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.

154 files changed

+13099
-10
lines changed

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@
5858
<groupId>com.google.api</groupId>
5959
<artifactId>gax-grpc</artifactId>
6060
</dependency>
61+
<dependency>
62+
<groupId>com.google.api</groupId>
63+
<artifactId>gax-httpjson</artifactId>
64+
</dependency>
6165
<dependency>
6266
<groupId>org.threeten</groupId>
6367
<artifactId>threetenbp</artifactId>
@@ -102,12 +106,24 @@
102106
<scope>test</scope>
103107
</dependency>
104108
<!-- Need testing utility classes for generated gRPC clients tests -->
109+
<dependency>
110+
<groupId>com.google.api</groupId>
111+
<artifactId>gax</artifactId>
112+
<classifier>testlib</classifier>
113+
<scope>test</scope>
114+
</dependency>
105115
<dependency>
106116
<groupId>com.google.api</groupId>
107117
<artifactId>gax-grpc</artifactId>
108118
<classifier>testlib</classifier>
109119
<scope>test</scope>
110120
</dependency>
121+
<dependency>
122+
<groupId>com.google.api</groupId>
123+
<artifactId>gax-httpjson</artifactId>
124+
<classifier>testlib</classifier>
125+
<scope>test</scope>
126+
</dependency>
111127
</dependencies>
112128

113129
<profiles>

java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceClient.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,20 @@
109109
* EkmServiceClient ekmServiceClient = EkmServiceClient.create(ekmServiceSettings);
110110
* }</pre>
111111
*
112+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
113+
* the wire:
114+
*
115+
* <pre>{@code
116+
* // This snippet has been automatically generated for illustrative purposes only.
117+
* // It may require modifications to work in your environment.
118+
* EkmServiceSettings ekmServiceSettings =
119+
* EkmServiceSettings.newBuilder()
120+
* .setTransportChannelProvider(
121+
* EkmServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
122+
* .build();
123+
* EkmServiceClient ekmServiceClient = EkmServiceClient.create(ekmServiceSettings);
124+
* }</pre>
125+
*
112126
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
113127
*/
114128
@Generated("by gapic-generator-java")

java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/EkmServiceSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.google.api.gax.core.GoogleCredentialsProvider;
2424
import com.google.api.gax.core.InstantiatingExecutorProvider;
2525
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
26+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2627
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2728
import com.google.api.gax.rpc.ClientContext;
2829
import com.google.api.gax.rpc.ClientSettings;
@@ -139,11 +140,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
139140
return EkmServiceStubSettings.defaultCredentialsProviderBuilder();
140141
}
141142

142-
/** Returns a builder for the default ChannelProvider for this service. */
143+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
143144
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
144145
return EkmServiceStubSettings.defaultGrpcTransportProviderBuilder();
145146
}
146147

148+
/** Returns a builder for the default REST ChannelProvider for this service. */
149+
@BetaApi
150+
public static InstantiatingHttpJsonChannelProvider.Builder
151+
defaultHttpJsonTransportProviderBuilder() {
152+
return EkmServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
153+
}
154+
147155
public static TransportChannelProvider defaultTransportChannelProvider() {
148156
return EkmServiceStubSettings.defaultTransportChannelProvider();
149157
}
@@ -153,11 +161,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
153161
return EkmServiceStubSettings.defaultApiClientHeaderProviderBuilder();
154162
}
155163

156-
/** Returns a new builder for this class. */
164+
/** Returns a new gRPC builder for this class. */
157165
public static Builder newBuilder() {
158166
return Builder.createDefault();
159167
}
160168

169+
/** Returns a new REST builder for this class. */
170+
@BetaApi
171+
public static Builder newHttpJsonBuilder() {
172+
return Builder.createHttpJsonDefault();
173+
}
174+
161175
/** Returns a new builder for this class. */
162176
public static Builder newBuilder(ClientContext clientContext) {
163177
return new Builder(clientContext);
@@ -195,6 +209,11 @@ private static Builder createDefault() {
195209
return new Builder(EkmServiceStubSettings.newBuilder());
196210
}
197211

212+
@BetaApi
213+
private static Builder createHttpJsonDefault() {
214+
return new Builder(EkmServiceStubSettings.newHttpJsonBuilder());
215+
}
216+
198217
public EkmServiceStubSettings.Builder getStubSettingsBuilder() {
199218
return ((EkmServiceStubSettings.Builder) getStubSettings());
200219
}

java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceClient.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,21 @@
121121
* KeyManagementServiceClient.create(keyManagementServiceSettings);
122122
* }</pre>
123123
*
124+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
125+
* the wire:
126+
*
127+
* <pre>{@code
128+
* // This snippet has been automatically generated for illustrative purposes only.
129+
* // It may require modifications to work in your environment.
130+
* KeyManagementServiceSettings keyManagementServiceSettings =
131+
* KeyManagementServiceSettings.newBuilder()
132+
* .setTransportChannelProvider(
133+
* KeyManagementServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
134+
* .build();
135+
* KeyManagementServiceClient keyManagementServiceClient =
136+
* KeyManagementServiceClient.create(keyManagementServiceSettings);
137+
* }</pre>
138+
*
124139
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
125140
*/
126141
@Generated("by gapic-generator-java")

java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/KeyManagementServiceSettings.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;
@@ -270,11 +271,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
270271
return KeyManagementServiceStubSettings.defaultCredentialsProviderBuilder();
271272
}
272273

273-
/** Returns a builder for the default ChannelProvider for this service. */
274+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
274275
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
275276
return KeyManagementServiceStubSettings.defaultGrpcTransportProviderBuilder();
276277
}
277278

279+
/** Returns a builder for the default REST ChannelProvider for this service. */
280+
@BetaApi
281+
public static InstantiatingHttpJsonChannelProvider.Builder
282+
defaultHttpJsonTransportProviderBuilder() {
283+
return KeyManagementServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
284+
}
285+
278286
public static TransportChannelProvider defaultTransportChannelProvider() {
279287
return KeyManagementServiceStubSettings.defaultTransportChannelProvider();
280288
}
@@ -284,11 +292,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
284292
return KeyManagementServiceStubSettings.defaultApiClientHeaderProviderBuilder();
285293
}
286294

287-
/** Returns a new builder for this class. */
295+
/** Returns a new gRPC builder for this class. */
288296
public static Builder newBuilder() {
289297
return Builder.createDefault();
290298
}
291299

300+
/** Returns a new REST builder for this class. */
301+
@BetaApi
302+
public static Builder newHttpJsonBuilder() {
303+
return Builder.createHttpJsonDefault();
304+
}
305+
292306
/** Returns a new builder for this class. */
293307
public static Builder newBuilder(ClientContext clientContext) {
294308
return new Builder(clientContext);
@@ -327,6 +341,11 @@ private static Builder createDefault() {
327341
return new Builder(KeyManagementServiceStubSettings.newBuilder());
328342
}
329343

344+
@BetaApi
345+
private static Builder createHttpJsonDefault() {
346+
return new Builder(KeyManagementServiceStubSettings.newHttpJsonBuilder());
347+
}
348+
330349
public KeyManagementServiceStubSettings.Builder getStubSettingsBuilder() {
331350
return ((KeyManagementServiceStubSettings.Builder) getStubSettings());
332351
}

java-kms/google-cloud-kms/src/main/java/com/google/cloud/kms/v1/stub/EkmServiceStubSettings.java

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@
2727
import com.google.api.gax.grpc.GaxGrpcProperties;
2828
import com.google.api.gax.grpc.GrpcTransportChannel;
2929
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
30+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
31+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
32+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3033
import com.google.api.gax.retrying.RetrySettings;
3134
import com.google.api.gax.rpc.ApiCallContext;
3235
import com.google.api.gax.rpc.ApiClientHeaderProvider;
@@ -222,6 +225,11 @@ public EkmServiceStub createStub() throws IOException {
222225
.equals(GrpcTransportChannel.getGrpcTransportName())) {
223226
return GrpcEkmServiceStub.create(this);
224227
}
228+
if (getTransportChannelProvider()
229+
.getTransportName()
230+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
231+
return HttpJsonEkmServiceStub.create(this);
232+
}
225233
throw new UnsupportedOperationException(
226234
String.format(
227235
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -254,30 +262,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
254262
.setUseJwtAccessWithScope(true);
255263
}
256264

257-
/** Returns a builder for the default ChannelProvider for this service. */
265+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
258266
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
259267
return InstantiatingGrpcChannelProvider.newBuilder()
260268
.setMaxInboundMessageSize(Integer.MAX_VALUE);
261269
}
262270

271+
/** Returns a builder for the default REST ChannelProvider for this service. */
272+
@BetaApi
273+
public static InstantiatingHttpJsonChannelProvider.Builder
274+
defaultHttpJsonTransportProviderBuilder() {
275+
return InstantiatingHttpJsonChannelProvider.newBuilder();
276+
}
277+
263278
public static TransportChannelProvider defaultTransportChannelProvider() {
264279
return defaultGrpcTransportProviderBuilder().build();
265280
}
266281

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

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

310+
/** Returns a new REST builder for this class. */
311+
public static Builder newHttpJsonBuilder() {
312+
return Builder.createHttpJsonDefault();
313+
}
314+
281315
/** Returns a new builder for this class. */
282316
public static Builder newBuilder(ClientContext clientContext) {
283317
return new Builder(clientContext);
@@ -411,6 +445,19 @@ private static Builder createDefault() {
411445
return initDefaults(builder);
412446
}
413447

448+
private static Builder createHttpJsonDefault() {
449+
Builder builder = new Builder(((ClientContext) null));
450+
451+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
452+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
453+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
454+
builder.setEndpoint(getDefaultEndpoint());
455+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
456+
builder.setSwitchToMtlsEndpointAllowed(true);
457+
458+
return initDefaults(builder);
459+
}
460+
414461
private static Builder initDefaults(Builder builder) {
415462
builder
416463
.listEkmConnectionsSettings()

0 commit comments

Comments
 (0)