Skip to content

Commit 4215a5c

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#48)
- [ ] 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 e3c4bf3 commit 4215a5c

File tree

105 files changed

+8446
-11
lines changed

Some content is hidden

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

105 files changed

+8446
-11
lines changed

java-certificate-manager/google-cloud-certificate-manager/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>

java-certificate-manager/google-cloud-certificate-manager/src/main/java/com/google/cloud/certificatemanager/v1/CertificateManagerClient.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.cloud.certificatemanager.v1.stub.CertificateManagerStubSettings;
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;
@@ -129,13 +129,29 @@
129129
* CertificateManagerClient.create(certificateManagerSettings);
130130
* }</pre>
131131
*
132+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
133+
* the wire:
134+
*
135+
* <pre>{@code
136+
* // This snippet has been automatically generated for illustrative purposes only.
137+
* // It may require modifications to work in your environment.
138+
* CertificateManagerSettings certificateManagerSettings =
139+
* CertificateManagerSettings.newBuilder()
140+
* .setTransportChannelProvider(
141+
* CertificateManagerSettings.defaultHttpJsonTransportProviderBuilder().build())
142+
* .build();
143+
* CertificateManagerClient certificateManagerClient =
144+
* CertificateManagerClient.create(certificateManagerSettings);
145+
* }</pre>
146+
*
132147
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
133148
*/
134149
@Generated("by gapic-generator-java")
135150
public class CertificateManagerClient implements BackgroundResource {
136151
private final CertificateManagerSettings settings;
137152
private final CertificateManagerStub stub;
138-
private final OperationsClient operationsClient;
153+
private final OperationsClient httpJsonOperationsClient;
154+
private final com.google.longrunning.OperationsClient operationsClient;
139155

140156
/** Constructs an instance of CertificateManagerClient with default settings. */
141157
public static final CertificateManagerClient create() throws IOException {
@@ -167,13 +183,17 @@ public static final CertificateManagerClient create(CertificateManagerStub stub)
167183
protected CertificateManagerClient(CertificateManagerSettings settings) throws IOException {
168184
this.settings = settings;
169185
this.stub = ((CertificateManagerStubSettings) settings.getStubSettings()).createStub();
170-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
186+
this.operationsClient =
187+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
188+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
171189
}
172190

173191
protected CertificateManagerClient(CertificateManagerStub stub) {
174192
this.settings = null;
175193
this.stub = stub;
176-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
194+
this.operationsClient =
195+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
196+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
177197
}
178198

179199
public final CertificateManagerSettings getSettings() {
@@ -188,10 +208,18 @@ public CertificateManagerStub getStub() {
188208
* Returns the OperationsClient that can be used to query the status of a long-running operation
189209
* returned by another API method call.
190210
*/
191-
public final OperationsClient getOperationsClient() {
211+
public final com.google.longrunning.OperationsClient getOperationsClient() {
192212
return operationsClient;
193213
}
194214

215+
/**
216+
* Returns the OperationsClient that can be used to query the status of a long-running operation
217+
* returned by another API method call.
218+
*/
219+
public final OperationsClient getHttpJsonOperationsClient() {
220+
return httpJsonOperationsClient;
221+
}
222+
195223
// AUTO-GENERATED DOCUMENTATION AND METHOD.
196224
/**
197225
* Lists Certificates in a given project and location.

java-certificate-manager/google-cloud-certificate-manager/src/main/java/com/google/cloud/certificatemanager/v1/CertificateManagerSettings.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;
@@ -310,11 +311,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
310311
return CertificateManagerStubSettings.defaultCredentialsProviderBuilder();
311312
}
312313

313-
/** Returns a builder for the default ChannelProvider for this service. */
314+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
314315
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
315316
return CertificateManagerStubSettings.defaultGrpcTransportProviderBuilder();
316317
}
317318

319+
/** Returns a builder for the default REST ChannelProvider for this service. */
320+
@BetaApi
321+
public static InstantiatingHttpJsonChannelProvider.Builder
322+
defaultHttpJsonTransportProviderBuilder() {
323+
return CertificateManagerStubSettings.defaultHttpJsonTransportProviderBuilder();
324+
}
325+
318326
public static TransportChannelProvider defaultTransportChannelProvider() {
319327
return CertificateManagerStubSettings.defaultTransportChannelProvider();
320328
}
@@ -324,11 +332,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
324332
return CertificateManagerStubSettings.defaultApiClientHeaderProviderBuilder();
325333
}
326334

327-
/** Returns a new builder for this class. */
335+
/** Returns a new gRPC builder for this class. */
328336
public static Builder newBuilder() {
329337
return Builder.createDefault();
330338
}
331339

340+
/** Returns a new REST builder for this class. */
341+
@BetaApi
342+
public static Builder newHttpJsonBuilder() {
343+
return Builder.createHttpJsonDefault();
344+
}
345+
332346
/** Returns a new builder for this class. */
333347
public static Builder newBuilder(ClientContext clientContext) {
334348
return new Builder(clientContext);
@@ -366,6 +380,11 @@ private static Builder createDefault() {
366380
return new Builder(CertificateManagerStubSettings.newBuilder());
367381
}
368382

383+
@BetaApi
384+
private static Builder createHttpJsonDefault() {
385+
return new Builder(CertificateManagerStubSettings.newHttpJsonBuilder());
386+
}
387+
369388
public CertificateManagerStubSettings.Builder getStubSettingsBuilder() {
370389
return ((CertificateManagerStubSettings.Builder) getStubSettings());
371390
}

java-certificate-manager/google-cloud-certificate-manager/src/main/java/com/google/cloud/certificatemanager/v1/stub/CertificateManagerStub.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,11 @@
6868
public abstract class CertificateManagerStub implements BackgroundResource {
6969

7070
public OperationsStub getOperationsStub() {
71-
throw new UnsupportedOperationException("Not implemented: getOperationsStub()");
71+
return null;
72+
}
73+
74+
public com.google.api.gax.httpjson.longrunning.stub.OperationsStub getHttpJsonOperationsStub() {
75+
return null;
7276
}
7377

7478
public UnaryCallable<ListCertificatesRequest, ListCertificatesPagedResponse>

java-certificate-manager/google-cloud-certificate-manager/src/main/java/com/google/cloud/certificatemanager/v1/stub/CertificateManagerStubSettings.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;
@@ -664,6 +667,11 @@ public CertificateManagerStub createStub() throws IOException {
664667
.equals(GrpcTransportChannel.getGrpcTransportName())) {
665668
return GrpcCertificateManagerStub.create(this);
666669
}
670+
if (getTransportChannelProvider()
671+
.getTransportName()
672+
.equals(HttpJsonTransportChannel.getHttpJsonTransportName())) {
673+
return HttpJsonCertificateManagerStub.create(this);
674+
}
667675
throw new UnsupportedOperationException(
668676
String.format(
669677
"Transport not supported: %s", getTransportChannelProvider().getTransportName()));
@@ -696,30 +704,56 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
696704
.setUseJwtAccessWithScope(true);
697705
}
698706

699-
/** Returns a builder for the default ChannelProvider for this service. */
707+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
700708
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
701709
return InstantiatingGrpcChannelProvider.newBuilder()
702710
.setMaxInboundMessageSize(Integer.MAX_VALUE);
703711
}
704712

713+
/** Returns a builder for the default REST ChannelProvider for this service. */
714+
@BetaApi
715+
public static InstantiatingHttpJsonChannelProvider.Builder
716+
defaultHttpJsonTransportProviderBuilder() {
717+
return InstantiatingHttpJsonChannelProvider.newBuilder();
718+
}
719+
705720
public static TransportChannelProvider defaultTransportChannelProvider() {
706721
return defaultGrpcTransportProviderBuilder().build();
707722
}
708723

709724
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
710-
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
725+
public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() {
711726
return ApiClientHeaderProvider.newBuilder()
712727
.setGeneratedLibToken(
713728
"gapic", GaxProperties.getLibraryVersion(CertificateManagerStubSettings.class))
714729
.setTransportToken(
715730
GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion());
716731
}
717732

718-
/** Returns a new builder for this class. */
733+
@BetaApi("The surface for customizing headers is not stable yet and may change in the future.")
734+
public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() {
735+
return ApiClientHeaderProvider.newBuilder()
736+
.setGeneratedLibToken(
737+
"gapic", GaxProperties.getLibraryVersion(CertificateManagerStubSettings.class))
738+
.setTransportToken(
739+
GaxHttpJsonProperties.getHttpJsonTokenName(),
740+
GaxHttpJsonProperties.getHttpJsonVersion());
741+
}
742+
743+
public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() {
744+
return CertificateManagerStubSettings.defaultGrpcApiClientHeaderProviderBuilder();
745+
}
746+
747+
/** Returns a new gRPC builder for this class. */
719748
public static Builder newBuilder() {
720749
return Builder.createDefault();
721750
}
722751

752+
/** Returns a new REST builder for this class. */
753+
public static Builder newHttpJsonBuilder() {
754+
return Builder.createHttpJsonDefault();
755+
}
756+
723757
/** Returns a new builder for this class. */
724758
public static Builder newBuilder(ClientContext clientContext) {
725759
return new Builder(clientContext);
@@ -1049,6 +1083,19 @@ private static Builder createDefault() {
10491083
return initDefaults(builder);
10501084
}
10511085

1086+
private static Builder createHttpJsonDefault() {
1087+
Builder builder = new Builder(((ClientContext) null));
1088+
1089+
builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build());
1090+
builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build());
1091+
builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build());
1092+
builder.setEndpoint(getDefaultEndpoint());
1093+
builder.setMtlsEndpoint(getDefaultMtlsEndpoint());
1094+
builder.setSwitchToMtlsEndpointAllowed(true);
1095+
1096+
return initDefaults(builder);
1097+
}
1098+
10521099
private static Builder initDefaults(Builder builder) {
10531100
builder
10541101
.listCertificatesSettings()

0 commit comments

Comments
 (0)