Skip to content
This repository was archived by the owner on Sep 11, 2023. It is now read-only.

Commit 2d12ee8

Browse files
feat: Enable REST transport for most of Java and Go clients (#347)
- [ ] 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 baa8734 commit 2d12ee8

File tree

8 files changed

+4141
-11
lines changed

8 files changed

+4141
-11
lines changed

google-identity-accesscontextmanager/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>
@@ -77,12 +81,24 @@
7781
<scope>test</scope>
7882
</dependency>
7983
<!-- Need testing utility classes for generated gRPC clients tests -->
84+
<dependency>
85+
<groupId>com.google.api</groupId>
86+
<artifactId>gax</artifactId>
87+
<classifier>testlib</classifier>
88+
<scope>test</scope>
89+
</dependency>
8090
<dependency>
8191
<groupId>com.google.api</groupId>
8292
<artifactId>gax-grpc</artifactId>
8393
<classifier>testlib</classifier>
8494
<scope>test</scope>
8595
</dependency>
96+
<dependency>
97+
<groupId>com.google.api</groupId>
98+
<artifactId>gax-httpjson</artifactId>
99+
<classifier>testlib</classifier>
100+
<scope>test</scope>
101+
</dependency>
86102
</dependencies>
87103

88104
<profiles>

google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerClient.java

Lines changed: 33 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.identity.accesscontextmanager.v1.stub.AccessContextManagerStub;
3132
import com.google.identity.accesscontextmanager.v1.stub.AccessContextManagerStubSettings;
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;
@@ -113,13 +113,29 @@
113113
* AccessContextManagerClient.create(accessContextManagerSettings);
114114
* }</pre>
115115
*
116+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
117+
* the wire:
118+
*
119+
* <pre>{@code
120+
* // This snippet has been automatically generated for illustrative purposes only.
121+
* // It may require modifications to work in your environment.
122+
* AccessContextManagerSettings accessContextManagerSettings =
123+
* AccessContextManagerSettings.newBuilder()
124+
* .setTransportChannelProvider(
125+
* AccessContextManagerSettings.defaultHttpJsonTransportProviderBuilder().build())
126+
* .build();
127+
* AccessContextManagerClient accessContextManagerClient =
128+
* AccessContextManagerClient.create(accessContextManagerSettings);
129+
* }</pre>
130+
*
116131
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
117132
*/
118133
@Generated("by gapic-generator-java")
119134
public class AccessContextManagerClient implements BackgroundResource {
120135
private final AccessContextManagerSettings settings;
121136
private final AccessContextManagerStub stub;
122-
private final OperationsClient operationsClient;
137+
private final OperationsClient httpJsonOperationsClient;
138+
private final com.google.longrunning.OperationsClient operationsClient;
123139

124140
/** Constructs an instance of AccessContextManagerClient with default settings. */
125141
public static final AccessContextManagerClient create() throws IOException {
@@ -151,13 +167,17 @@ public static final AccessContextManagerClient create(AccessContextManagerStub s
151167
protected AccessContextManagerClient(AccessContextManagerSettings settings) throws IOException {
152168
this.settings = settings;
153169
this.stub = ((AccessContextManagerStubSettings) settings.getStubSettings()).createStub();
154-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
170+
this.operationsClient =
171+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
172+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
155173
}
156174

157175
protected AccessContextManagerClient(AccessContextManagerStub stub) {
158176
this.settings = null;
159177
this.stub = stub;
160-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
178+
this.operationsClient =
179+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
180+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
161181
}
162182

163183
public final AccessContextManagerSettings getSettings() {
@@ -172,10 +192,18 @@ public AccessContextManagerStub getStub() {
172192
* Returns the OperationsClient that can be used to query the status of a long-running operation
173193
* returned by another API method call.
174194
*/
175-
public final OperationsClient getOperationsClient() {
195+
public final com.google.longrunning.OperationsClient getOperationsClient() {
176196
return operationsClient;
177197
}
178198

199+
/**
200+
* Returns the OperationsClient that can be used to query the status of a long-running operation
201+
* returned by another API method call.
202+
*/
203+
public final OperationsClient getHttpJsonOperationsClient() {
204+
return httpJsonOperationsClient;
205+
}
206+
179207
// AUTO-GENERATED DOCUMENTATION AND METHOD.
180208
/**
181209
* List all [AccessPolicies] [google.identity.accesscontextmanager.v1.AccessPolicy] under a

google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/AccessContextManagerSettings.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;
@@ -375,11 +376,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
375376
return AccessContextManagerStubSettings.defaultCredentialsProviderBuilder();
376377
}
377378

378-
/** Returns a builder for the default ChannelProvider for this service. */
379+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
379380
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
380381
return AccessContextManagerStubSettings.defaultGrpcTransportProviderBuilder();
381382
}
382383

384+
/** Returns a builder for the default REST ChannelProvider for this service. */
385+
@BetaApi
386+
public static InstantiatingHttpJsonChannelProvider.Builder
387+
defaultHttpJsonTransportProviderBuilder() {
388+
return AccessContextManagerStubSettings.defaultHttpJsonTransportProviderBuilder();
389+
}
390+
383391
public static TransportChannelProvider defaultTransportChannelProvider() {
384392
return AccessContextManagerStubSettings.defaultTransportChannelProvider();
385393
}
@@ -389,11 +397,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
389397
return AccessContextManagerStubSettings.defaultApiClientHeaderProviderBuilder();
390398
}
391399

392-
/** Returns a new builder for this class. */
400+
/** Returns a new gRPC builder for this class. */
393401
public static Builder newBuilder() {
394402
return Builder.createDefault();
395403
}
396404

405+
/** Returns a new REST builder for this class. */
406+
@BetaApi
407+
public static Builder newHttpJsonBuilder() {
408+
return Builder.createHttpJsonDefault();
409+
}
410+
397411
/** Returns a new builder for this class. */
398412
public static Builder newBuilder(ClientContext clientContext) {
399413
return new Builder(clientContext);
@@ -432,6 +446,11 @@ private static Builder createDefault() {
432446
return new Builder(AccessContextManagerStubSettings.newBuilder());
433447
}
434448

449+
@BetaApi
450+
private static Builder createHttpJsonDefault() {
451+
return new Builder(AccessContextManagerStubSettings.newHttpJsonBuilder());
452+
}
453+
435454
public AccessContextManagerStubSettings.Builder getStubSettingsBuilder() {
436455
return ((AccessContextManagerStubSettings.Builder) getStubSettings());
437456
}

google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,11 @@
7474
public abstract class AccessContextManagerStub implements BackgroundResource {
7575

7676
public OperationsStub getOperationsStub() {
77-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
77+
return null;
78+
}
79+
80+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
81+
return null;
7882
}
7983

8084
public UnaryCallable<ListAccessPoliciesRequest, ListAccessPoliciesPagedResponse>

google-identity-accesscontextmanager/src/main/java/com/google/identity/accesscontextmanager/v1/stub/AccessContextManagerStubSettings.java

Lines changed: 50 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
import com.google.api.gax.grpc.GrpcTransportChannel;
3232
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
3333
import com.google.api.gax.grpc.ProtoOperationTransformers;
34+
import com.google.api.gax.httpjson.GaxHttpJsonProperties;
35+
import com.google.api.gax.httpjson.HttpJsonTransportChannel;
36+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3437
import com.google.api.gax.longrunning.OperationSnapshot;
3538
import com.google.api.gax.longrunning.OperationTimedPollAlgorithm;
3639
import com.google.api.gax.retrying.RetrySettings;
@@ -755,6 +758,11 @@ public AccessContextManagerStub createStub() throws IOException {
755758
.equals(GrpcTransportChannel.getGrpcTransportName())) {
756759
return GrpcAccessContextManagerStub.create(this);
757760
}
761+
if (getTransportChannelProvider()
762+
.getTransportName()
763+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
764+
return HttpJsonAccessContextManagerStub.create(this);
765+
}
758766
throw new UnsupportedOperationException(
759767
String.format(
760768
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -787,30 +795,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
787795
.setUseJwtAccessWithScope(true);
788796
}
789797

790-
/** Returns a builder for the default ChannelProvider for this service. */
798+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
791799
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
792800
return InstantiatingGrpcChannelProvider.newBuilder()
793801
.setMaxInboundMessageSize(Integer.MAX_VALUE);
794802
}
795803

804+
/** Returns a builder for the default REST ChannelProvider for this service. */
805+
@BetaApi
806+
public static InstantiatingHttpJsonChannelProvider.Builder
807+
defaultHttpJsonTransportProviderBuilder() {
808+
return InstantiatingHttpJsonChannelProvider.newBuilder();
809+
}
810+
796811
public static TransportChannelProvider defaultTransportChannelProvider() {
797812
return defaultGrpcTransportProviderBuilder().build();
798813
}
799814

800815
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
801-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
816+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
802817
return ApiClientHeaderProvider.newBuilder()
803818
.setGeneratedLibToken(
804819
"gapic", GaxProperties.getLibraryVersion(AccessContextManagerStubSettings.class))
805820
.setTransportToken(
806821
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
807822
}
808823

809-
/** Returns a new builder for this class. */
824+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
825+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
826+
return ApiClientHeaderProvider.newBuilder()
827+
.setGeneratedLibToken(
828+
"gapic", GaxProperties.getLibraryVersion(AccessContextManagerStubSettings.class))
829+
.setTransportToken(
830+
GaxHttpJsonProperties.getHttpJsonTokenName(),
831+
GaxHttpJsonProperties.getHttpJsonVersion());
832+
}
833+
834+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
835+
return AccessContextManagerStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
836+
}
837+
838+
/** Returns a new gRPC builder for this class. */
810839
public static Builder newBuilder() {
811840
return Builder.createDefault();
812841
}
813842

843+
/** Returns a new REST builder for this class. */
844+
public static Builder newHttpJsonBuilder() {
845+
return Builder.createHttpJsonDefault();
846+
}
847+
814848
/** Returns a new builder for this class. */
815849
public static Builder newBuilder(ClientContext clientContext) {
816850
return new Builder(clientContext);
@@ -1191,6 +1225,19 @@ private static Builder createDefault() {
11911225
return initDefaults(builder);
11921226
}
11931227

1228+
private static Builder createHttpJsonDefault() {
1229+
Builder builder = new Builder(((ClientContext) null));
1230+
1231+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
1232+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
1233+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
1234+
builder.setEndpoint(getDefaultEndpoint());
1235+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
1236+
builder.setSwitchToMtlsEndpointAllowed(true);
1237+
1238+
return initDefaults(builder);
1239+
}
1240+
11941241
private static Builder initDefaults(Builder builder) {
11951242
builder
11961243
.listAccessPoliciesSettings()

0 commit comments

Comments
 (0)