Skip to content

Commit c435aab

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#237)
- [ ] 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 feat: add ClusterType field in MembershipEndpoint.OnPremCluster PiperOrigin-RevId: 455120505 Source-Link: googleapis/googleapis@49e6a7e Source-Link: https://github.com/googleapis/googleapis-gen/commit/dc2045f572e4bdf59d506c1fcf9663931d7c2543 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZGMyMDQ1ZjU3MmU0YmRmNTlkNTA2YzFmY2Y5NjYzOTMxZDdjMjU0MyJ9 chore: Integrate new gapic-generator-java and rules_gapic PiperOrigin-RevId: 454027580 Source-Link: googleapis/googleapis@1b22277 Source-Link: https://github.com/googleapis/googleapis-gen/commit/e04cea20d0d12eb5c3bdb360a9e72b654edcb638 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiZTA0Y2VhMjBkMGQxMmViNWMzYmRiMzYwYTllNzJiNjU0ZWRjYjYzOCJ9 feat: add EdgeCluster as a new membershipEndpoint type feat: add ApplianceCluster as a new membershipEndpoint type feat: add c++ rules in BUILD file doc: add API annotations doc: minor changes on code and doc format PiperOrigin-RevId: 451205950 Source-Link: googleapis/googleapis@06f21c4 Source-Link: https://github.com/googleapis/googleapis-gen/commit/5572dd07684852bebfc13c001c50d9c47685321d Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTU3MmRkMDc2ODQ4NTJiZWJmYzEzYzAwMWM1MGQ5YzQ3Njg1MzIxZCJ9 chore(deps): upgrade gapic-generator-java to 2.8.0 and update gax-java to 2.18.1 PiperOrigin-RevId: 450543911 Source-Link: googleapis/googleapis@5528344 Source-Link: https://github.com/googleapis/googleapis-gen/commit/9f6775cab1958982b88967a43e5e806af0f135db Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiOWY2Nzc1Y2FiMTk1ODk4MmI4ODk2N2E0M2U1ZTgwNmFmMGYxMzVkYiJ9
1 parent 07c6d39 commit c435aab

94 files changed

Lines changed: 14572 additions & 1333 deletions

File tree

Some content is hidden

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

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

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,18 @@
4141
<groupId>com.google.api.grpc</groupId>
4242
<artifactId>proto-google-common-protos</artifactId>
4343
</dependency>
44+
<dependency>
45+
<groupId>com.google.api.grpc</groupId>
46+
<artifactId>grpc-google-common-protos</artifactId>
47+
</dependency>
48+
<dependency>
49+
<groupId>com.google.api.grpc</groupId>
50+
<artifactId>proto-google-iam-v1</artifactId>
51+
</dependency>
52+
<dependency>
53+
<groupId>com.google.api.grpc</groupId>
54+
<artifactId>grpc-google-iam-v1</artifactId>
55+
</dependency>
4456

4557
<dependency>
4658
<groupId>com.google.api.grpc</groupId>
@@ -74,6 +86,10 @@
7486
<groupId>com.google.api</groupId>
7587
<artifactId>gax-grpc</artifactId>
7688
</dependency>
89+
<dependency>
90+
<groupId>com.google.api</groupId>
91+
<artifactId>gax-httpjson</artifactId>
92+
</dependency>
7793
<dependency>
7894
<groupId>org.threeten</groupId>
7995
<artifactId>threetenbp</artifactId>
@@ -113,12 +129,24 @@
113129
<scope>test</scope>
114130
</dependency>
115131
<!-- Need testing utility classes for generated gRPC clients tests -->
132+
<dependency>
133+
<groupId>com.google.api</groupId>
134+
<artifactId>gax</artifactId>
135+
<classifier>testlib</classifier>
136+
<scope>test</scope>
137+
</dependency>
116138
<dependency>
117139
<groupId>com.google.api</groupId>
118140
<artifactId>gax-grpc</artifactId>
119141
<classifier>testlib</classifier>
120142
<scope>test</scope>
121143
</dependency>
144+
<dependency>
145+
<groupId>com.google.api</groupId>
146+
<artifactId>gax-httpjson</artifactId>
147+
<classifier>testlib</classifier>
148+
<scope>test</scope>
149+
</dependency>
122150
</dependencies>
123151

124152
<profiles>

java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/GkeHubClient.java

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818

1919
import com.google.api.core.ApiFuture;
2020
import com.google.api.core.ApiFutures;
21-
import com.google.api.core.BetaApi;
2221
import com.google.api.gax.core.BackgroundResource;
22+
import com.google.api.gax.httpjson.longrunning.OperationsClient;
2323
import com.google.api.gax.longrunning.OperationFuture;
2424
import com.google.api.gax.paging.AbstractFixedSizeCollection;
2525
import com.google.api.gax.paging.AbstractPage;
@@ -31,7 +31,6 @@
3131
import com.google.cloud.gkehub.v1.stub.GkeHubStubSettings;
3232
import com.google.common.util.concurrent.MoreExecutors;
3333
import com.google.longrunning.Operation;
34-
import com.google.longrunning.OperationsClient;
3534
import com.google.protobuf.Empty;
3635
import com.google.protobuf.FieldMask;
3736
import java.io.IOException;
@@ -116,13 +115,28 @@
116115
* GkeHubClient gkeHubClient = GkeHubClient.create(gkeHubSettings);
117116
* }</pre>
118117
*
118+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
119+
* the wire:
120+
*
121+
* <pre>{@code
122+
* // This snippet has been automatically generated for illustrative purposes only.
123+
* // It may require modifications to work in your environment.
124+
* GkeHubSettings gkeHubSettings =
125+
* GkeHubSettings.newBuilder()
126+
* .setTransportChannelProvider(
127+
* GkeHubSettings.defaultHttpJsonTransportProviderBuilder().build())
128+
* .build();
129+
* GkeHubClient gkeHubClient = GkeHubClient.create(gkeHubSettings);
130+
* }</pre>
131+
*
119132
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
120133
*/
121134
@Generated("by gapic-generator-java")
122135
public class GkeHubClient implements BackgroundResource {
123136
private final GkeHubSettings settings;
124137
private final GkeHubStub stub;
125-
private final OperationsClient operationsClient;
138+
private final OperationsClient httpJsonOperationsClient;
139+
private final com.google.longrunning.OperationsClient operationsClient;
126140

127141
/** Constructs an instance of GkeHubClient with default settings. */
128142
public static final GkeHubClient create() throws IOException {
@@ -141,7 +155,6 @@ public static final GkeHubClient create(GkeHubSettings settings) throws IOExcept
141155
* Constructs an instance of GkeHubClient, using the given stub for making calls. This is for
142156
* advanced usage - prefer using create(GkeHubSettings).
143157
*/
144-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
145158
public static final GkeHubClient create(GkeHubStub stub) {
146159
return new GkeHubClient(stub);
147160
}
@@ -153,21 +166,23 @@ public static final GkeHubClient create(GkeHubStub stub) {
153166
protected GkeHubClient(GkeHubSettings settings) throws IOException {
154167
this.settings = settings;
155168
this.stub = ((GkeHubStubSettings) settings.getStubSettings()).createStub();
156-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
169+
this.operationsClient =
170+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
171+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
157172
}
158173

159-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
160174
protected GkeHubClient(GkeHubStub stub) {
161175
this.settings = null;
162176
this.stub = stub;
163-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
177+
this.operationsClient =
178+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
179+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
164180
}
165181

166182
public final GkeHubSettings getSettings() {
167183
return settings;
168184
}
169185

170-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
171186
public GkeHubStub getStub() {
172187
return stub;
173188
}
@@ -176,10 +191,18 @@ public GkeHubStub getStub() {
176191
* Returns the OperationsClient that can be used to query the status of a long-running operation
177192
* returned by another API method call.
178193
*/
179-
public final OperationsClient getOperationsClient() {
194+
public final com.google.longrunning.OperationsClient getOperationsClient() {
180195
return operationsClient;
181196
}
182197

198+
/**
199+
* Returns the OperationsClient that can be used to query the status of a long-running operation
200+
* returned by another API method call.
201+
*/
202+
public final OperationsClient getHttpJsonOperationsClient() {
203+
return httpJsonOperationsClient;
204+
}
205+
183206
// AUTO-GENERATED DOCUMENTATION AND METHOD.
184207
/**
185208
* Lists Memberships in a given project and location.
@@ -318,7 +341,7 @@ public final ListMembershipsPagedResponse listMemberships(ListMembershipsRequest
318341
* .build();
319342
* while (true) {
320343
* ListMembershipsResponse response = gkeHubClient.listMembershipsCallable().call(request);
321-
* for (Membership element : response.getResponsesList()) {
344+
* for (Membership element : response.getResourcesList()) {
322345
* // doThingsWith(element);
323346
* }
324347
* String nextPageToken = response.getNextPageToken();
@@ -473,7 +496,7 @@ public final ListFeaturesPagedResponse listFeatures(ListFeaturesRequest request)
473496
* .build();
474497
* while (true) {
475498
* ListFeaturesResponse response = gkeHubClient.listFeaturesCallable().call(request);
476-
* for (Feature element : response.getResponsesList()) {
499+
* for (Feature element : response.getResourcesList()) {
477500
* // doThingsWith(element);
478501
* }
479502
* String nextPageToken = response.getNextPageToken();

java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/GkeHubSettings.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;
@@ -193,11 +194,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
193194
return GkeHubStubSettings.defaultCredentialsProviderBuilder();
194195
}
195196

196-
/** Returns a builder for the default ChannelProvider for this service. */
197+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
197198
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
198199
return GkeHubStubSettings.defaultGrpcTransportProviderBuilder();
199200
}
200201

202+
/** Returns a builder for the default REST ChannelProvider for this service. */
203+
@BetaApi
204+
public static InstantiatingHttpJsonChannelProvider.Builder
205+
defaultHttpJsonTransportProviderBuilder() {
206+
return GkeHubStubSettings.defaultHttpJsonTransportProviderBuilder();
207+
}
208+
201209
public static TransportChannelProvider defaultTransportChannelProvider() {
202210
return GkeHubStubSettings.defaultTransportChannelProvider();
203211
}
@@ -207,11 +215,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
207215
return GkeHubStubSettings.defaultApiClientHeaderProviderBuilder();
208216
}
209217

210-
/** Returns a new builder for this class. */
218+
/** Returns a new gRPC builder for this class. */
211219
public static Builder newBuilder() {
212220
return Builder.createDefault();
213221
}
214222

223+
/** Returns a new REST builder for this class. */
224+
@BetaApi
225+
public static Builder newHttpJsonBuilder() {
226+
return Builder.createHttpJsonDefault();
227+
}
228+
215229
/** Returns a new builder for this class. */
216230
public static Builder newBuilder(ClientContext clientContext) {
217231
return new Builder(clientContext);
@@ -249,6 +263,11 @@ private static Builder createDefault() {
249263
return new Builder(GkeHubStubSettings.newBuilder());
250264
}
251265

266+
@BetaApi
267+
private static Builder createHttpJsonDefault() {
268+
return new Builder(GkeHubStubSettings.newHttpJsonBuilder());
269+
}
270+
252271
public GkeHubStubSettings.Builder getStubSettingsBuilder() {
253272
return ((GkeHubStubSettings.Builder) getStubSettings());
254273
}

java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GkeHubStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,11 @@
5454
public abstract class GkeHubStub implements BackgroundResource {
5555

5656
public OperationsStub getOperationsStub() {
57-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
57+
return null;
58+
}
59+
60+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
61+
return null;
5862
}
5963

6064
public UnaryCallable<ListMembershipsRequest, ListMembershipsPagedResponse>

java-gkehub/google-cloud-gkehub/src/main/java/com/google/cloud/gkehub/v1/stub/GkeHubStubSettings.java

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
import com.google.api.gax.grpc.GrpcTransportChannel;
3030
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3131
import com.google.api.gax.grpc.ProtoOperationTransformers;
32+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
33+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
34+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3235
import com.google.api.gax.longrunning.OperationSnapshot;
3336
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3437
import com.google.api.gax.retrying.RetrySettings;
@@ -345,13 +348,17 @@ public UnaryCallSettings<UpdateFeatureRequest, Operation> updateFeatureSettings(
345348
return generateConnectManifestSettings;
346349
}
347350

348-
@BetaApi("A restructuring of stub classes is planned, so this may break in the future")
349351
public GkeHubStub createStub() throws IOException {
350352
if (getTransportChannelProvider()
351353
.getTransportName()
352354
.equals(GrpcTransportChannel.getGrpcTransportName())) {
353355
return GrpcGkeHubStub.create(this);
354356
}
357+
if (getTransportChannelProvider()
358+
.getTransportName()
359+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
360+
return HttpJsonGkeHubStub.create(this);
361+
}
355362
throw new UnsupportedOperationException(
356363
String.format(
357364
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -384,29 +391,54 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
384391
.setUseJwtAccessWithScope(true);
385392
}
386393

387-
/** Returns a builder for the default ChannelProvider for this service. */
394+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
388395
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
389396
return InstantiatingGrpcChannelProvider.newBuilder()
390397
.setMaxInboundMessageSize(Integer.MAX_VALUE);
391398
}
392399

400+
/** Returns a builder for the default REST ChannelProvider for this service. */
401+
@BetaApi
402+
public static InstantiatingHttpJsonChannelProvider.Builder
403+
defaultHttpJsonTransportProviderBuilder() {
404+
return InstantiatingHttpJsonChannelProvider.newBuilder();
405+
}
406+
393407
public static TransportChannelProvider defaultTransportChannelProvider() {
394408
return defaultGrpcTransportProviderBuilder().build();
395409
}
396410

397411
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
398-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
412+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
399413
return ApiClientHeaderProvider.newBuilder()
400414
.setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(GkeHubStubSettings.class))
401415
.setTransportToken(
402416
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
403417
}
404418

405-
/** Returns a new builder for this class. */
419+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
420+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
421+
return ApiClientHeaderProvider.newBuilder()
422+
.setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(GkeHubStubSettings.class))
423+
.setTransportToken(
424+
GaxHttpJsonProperties.getHttpJsonTokenName(),
425+
GaxHttpJsonProperties.getHttpJsonVersion());
426+
}
427+
428+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
429+
return GkeHubStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
430+
}
431+
432+
/** Returns a new gRPC builder for this class. */
406433
public static Builder newBuilder() {
407434
return Builder.createDefault();
408435
}
409436

437+
/** Returns a new REST builder for this class. */
438+
public static Builder newHttpJsonBuilder() {
439+
return Builder.createHttpJsonDefault();
440+
}
441+
410442
/** Returns a new builder for this class. */
411443
public static Builder newBuilder(ClientContext clientContext) {
412444
return new Builder(clientContext);
@@ -597,6 +629,19 @@ private static Builder createDefault() {
597629
return initDefaults(builder);
598630
}
599631

632+
private static Builder createHttpJsonDefault() {
633+
Builder builder = new Builder(((ClientContext) null));
634+
635+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
636+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
637+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
638+
builder.setEndpoint(getDefaultEndpoint());
639+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
640+
builder.setSwitchToMtlsEndpointAllowed(true);
641+
642+
return initDefaults(builder);
643+
}
644+
600645
private static Builder initDefaults(Builder builder) {
601646
builder
602647
.listMembershipsSettings()

0 commit comments

Comments
 (0)