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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy