Skip to content

Commit 0e6dd72

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#201)
- [ ] 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 22db385 commit 0e6dd72

File tree

99 files changed

+6638
-32
lines changed

Some content is hidden

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

99 files changed

+6638
-32
lines changed

java-orchestration-airflow/google-cloud-orchestration-airflow/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@
6262
<groupId>com.google.api</groupId>
6363
<artifactId>gax-grpc</artifactId>
6464
</dependency>
65+
<dependency>
66+
<groupId>com.google.api</groupId>
67+
<artifactId>gax-httpjson</artifactId>
68+
</dependency>
6569
<dependency>
6670
<groupId>org.threeten</groupId>
6771
<artifactId>threetenbp</artifactId>
@@ -86,12 +90,24 @@
8690
<scope>test</scope>
8791
</dependency>
8892
<!-- Need testing utility classes for generated gRPC clients tests -->
93+
<dependency>
94+
<groupId>com.google.api</groupId>
95+
<artifactId>gax</artifactId>
96+
<classifier>testlib</classifier>
97+
<scope>test</scope>
98+
</dependency>
8999
<dependency>
90100
<groupId>com.google.api</groupId>
91101
<artifactId>gax-grpc</artifactId>
92102
<classifier>testlib</classifier>
93103
<scope>test</scope>
94104
</dependency>
105+
<dependency>
106+
<groupId>com.google.api</groupId>
107+
<artifactId>gax-httpjson</artifactId>
108+
<classifier>testlib</classifier>
109+
<scope>test</scope>
110+
</dependency>
95111
</dependencies>
96112

97113
<profiles>

java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/EnvironmentsClient.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;
@@ -30,7 +31,6 @@
3031
import com.google.cloud.orchestration.airflow.service.v1.stub.EnvironmentsStubSettings;
3132
import com.google.common.util.concurrent.MoreExecutors;
3233
import com.google.longrunning.Operation;
33-
import com.google.longrunning.OperationsClient;
3434
import com.google.protobuf.Empty;
3535
import com.google.protobuf.FieldMask;
3636
import java.io.IOException;
@@ -102,13 +102,28 @@
102102
* EnvironmentsClient environmentsClient = EnvironmentsClient.create(environmentsSettings);
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+
* EnvironmentsSettings environmentsSettings =
112+
* EnvironmentsSettings.newBuilder()
113+
* .setTransportChannelProvider(
114+
* EnvironmentsSettings.defaultHttpJsonTransportProviderBuilder().build())
115+
* .build();
116+
* EnvironmentsClient environmentsClient = EnvironmentsClient.create(environmentsSettings);
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")
108122
public class EnvironmentsClient implements BackgroundResource {
109123
private final EnvironmentsSettings settings;
110124
private final EnvironmentsStub stub;
111-
private final OperationsClient operationsClient;
125+
private final OperationsClient httpJsonOperationsClient;
126+
private final com.google.longrunning.OperationsClient operationsClient;
112127

113128
/** Constructs an instance of EnvironmentsClient with default settings. */
114129
public static final EnvironmentsClient create() throws IOException {
@@ -139,13 +154,17 @@ public static final EnvironmentsClient create(EnvironmentsStub stub) {
139154
protected EnvironmentsClient(EnvironmentsSettings settings) throws IOException {
140155
this.settings = settings;
141156
this.stub = ((EnvironmentsStubSettings) settings.getStubSettings()).createStub();
142-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
157+
this.operationsClient =
158+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
159+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
143160
}
144161

145162
protected EnvironmentsClient(EnvironmentsStub stub) {
146163
this.settings = null;
147164
this.stub = stub;
148-
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());
149168
}
150169

151170
public final EnvironmentsSettings getSettings() {
@@ -160,10 +179,18 @@ public EnvironmentsStub getStub() {
160179
* Returns the OperationsClient that can be used to query the status of a long-running operation
161180
* returned by another API method call.
162181
*/
163-
public final OperationsClient getOperationsClient() {
182+
public final com.google.longrunning.OperationsClient getOperationsClient() {
164183
return operationsClient;
165184
}
166185

186+
/**
187+
* Returns the OperationsClient that can be used to query the status of a long-running operation
188+
* returned by another API method call.
189+
*/
190+
public final OperationsClient getHttpJsonOperationsClient() {
191+
return httpJsonOperationsClient;
192+
}
193+
167194
// AUTO-GENERATED DOCUMENTATION AND METHOD.
168195
/**
169196
* Create a new environment.

java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/EnvironmentsSettings.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;
@@ -143,11 +144,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
143144
return EnvironmentsStubSettings.defaultCredentialsProviderBuilder();
144145
}
145146

146-
/** Returns a builder for the default ChannelProvider for this service. */
147+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
147148
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
148149
return EnvironmentsStubSettings.defaultGrpcTransportProviderBuilder();
149150
}
150151

152+
/** Returns a builder for the default REST ChannelProvider for this service. */
153+
@BetaApi
154+
public static InstantiatingHttpJsonChannelProvider.Builder
155+
defaultHttpJsonTransportProviderBuilder() {
156+
return EnvironmentsStubSettings.defaultHttpJsonTransportProviderBuilder();
157+
}
158+
151159
public static TransportChannelProvider defaultTransportChannelProvider() {
152160
return EnvironmentsStubSettings.defaultTransportChannelProvider();
153161
}
@@ -157,11 +165,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
157165
return EnvironmentsStubSettings.defaultApiClientHeaderProviderBuilder();
158166
}
159167

160-
/** Returns a new builder for this class. */
168+
/** Returns a new gRPC builder for this class. */
161169
public static Builder newBuilder() {
162170
return Builder.createDefault();
163171
}
164172

173+
/** Returns a new REST builder for this class. */
174+
@BetaApi
175+
public static Builder newHttpJsonBuilder() {
176+
return Builder.createHttpJsonDefault();
177+
}
178+
165179
/** Returns a new builder for this class. */
166180
public static Builder newBuilder(ClientContext clientContext) {
167181
return new Builder(clientContext);
@@ -199,6 +213,11 @@ private static Builder createDefault() {
199213
return new Builder(EnvironmentsStubSettings.newBuilder());
200214
}
201215

216+
@BetaApi
217+
private static Builder createHttpJsonDefault() {
218+
return new Builder(EnvironmentsStubSettings.newHttpJsonBuilder());
219+
}
220+
202221
public EnvironmentsStubSettings.Builder getStubSettingsBuilder() {
203222
return ((EnvironmentsStubSettings.Builder) getStubSettings());
204223
}

java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/ImageVersionsClient.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,20 @@
9898
* ImageVersionsClient imageVersionsClient = ImageVersionsClient.create(imageVersionsSettings);
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+
* ImageVersionsSettings imageVersionsSettings =
108+
* ImageVersionsSettings.newBuilder()
109+
* .setTransportChannelProvider(
110+
* ImageVersionsSettings.defaultHttpJsonTransportProviderBuilder().build())
111+
* .build();
112+
* ImageVersionsClient imageVersionsClient = ImageVersionsClient.create(imageVersionsSettings);
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-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/ImageVersionsSettings.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;
@@ -102,11 +103,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
102103
return ImageVersionsStubSettings.defaultCredentialsProviderBuilder();
103104
}
104105

105-
/** Returns a builder for the default ChannelProvider for this service. */
106+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
106107
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
107108
return ImageVersionsStubSettings.defaultGrpcTransportProviderBuilder();
108109
}
109110

111+
/** Returns a builder for the default REST ChannelProvider for this service. */
112+
@BetaApi
113+
public static InstantiatingHttpJsonChannelProvider.Builder
114+
defaultHttpJsonTransportProviderBuilder() {
115+
return ImageVersionsStubSettings.defaultHttpJsonTransportProviderBuilder();
116+
}
117+
110118
public static TransportChannelProvider defaultTransportChannelProvider() {
111119
return ImageVersionsStubSettings.defaultTransportChannelProvider();
112120
}
@@ -116,11 +124,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
116124
return ImageVersionsStubSettings.defaultApiClientHeaderProviderBuilder();
117125
}
118126

119-
/** Returns a new builder for this class. */
127+
/** Returns a new gRPC builder for this class. */
120128
public static Builder newBuilder() {
121129
return Builder.createDefault();
122130
}
123131

132+
/** Returns a new REST builder for this class. */
133+
@BetaApi
134+
public static Builder newHttpJsonBuilder() {
135+
return Builder.createHttpJsonDefault();
136+
}
137+
124138
/** Returns a new builder for this class. */
125139
public static Builder newBuilder(ClientContext clientContext) {
126140
return new Builder(clientContext);
@@ -158,6 +172,11 @@ private static Builder createDefault() {
158172
return new Builder(ImageVersionsStubSettings.newBuilder());
159173
}
160174

175+
@BetaApi
176+
private static Builder createHttpJsonDefault() {
177+
return new Builder(ImageVersionsStubSettings.newHttpJsonBuilder());
178+
}
179+
161180
public ImageVersionsStubSettings.Builder getStubSettingsBuilder() {
162181
return ((ImageVersionsStubSettings.Builder) getStubSettings());
163182
}

java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/stub/EnvironmentsStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@
4444
public abstract class EnvironmentsStub implements BackgroundResource {
4545

4646
public OperationsStub getOperationsStub() {
47-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
47+
return null;
48+
}
49+
50+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
51+
return null;
4852
}
4953

5054
public OperationCallable<CreateEnvironmentRequest, Environment, OperationMetadata>

java-orchestration-airflow/google-cloud-orchestration-airflow/src/main/java/com/google/cloud/orchestration/airflow/service/v1/stub/EnvironmentsStubSettings.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.GrpcTransportChannel;
2929
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3030
import com.google.api.gax.grpc.ProtoOperationTransformers;
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.longrunning.OperationSnapshot;
3235
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3336
import com.google.api.gax.retrying.RetrySettings;
@@ -227,6 +230,11 @@ public EnvironmentsStub createStub() throws IOException {
227230
.equals(GrpcTransportChannel.getGrpcTransportName())) {
228231
return GrpcEnvironmentsStub.create(this);
229232
}
233+
if (getTransportChannelProvider()
234+
.getTransportName()
235+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
236+
return HttpJsonEnvironmentsStub.create(this);
237+
}
230238
throw new UnsupportedOperationException(
231239
String.format(
232240
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -259,30 +267,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
259267
.setUseJwtAccessWithScope(true);
260268
}
261269

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

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

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

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

315+
/** Returns a new REST builder for this class. */
316+
public static Builder newHttpJsonBuilder() {
317+
return Builder.createHttpJsonDefault();
318+
}
319+
286320
/** Returns a new builder for this class. */
287321
public static Builder newBuilder(ClientContext clientContext) {
288322
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
.createEnvironmentSettings()

0 commit comments

Comments
 (0)