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

Commit 2be3336

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

File tree

267 files changed

+22072
-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.

267 files changed

+22072
-32
lines changed

google-cloud-os-config/pom.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@
6666
<groupId>com.google.api</groupId>
6767
<artifactId>gax-grpc</artifactId>
6868
</dependency>
69+
<dependency>
70+
<groupId>com.google.api</groupId>
71+
<artifactId>gax-httpjson</artifactId>
72+
</dependency>
6973
<dependency>
7074
<groupId>org.threeten</groupId>
7175
<artifactId>threetenbp</artifactId>
@@ -93,12 +97,24 @@
9397
<scope>test</scope>
9498
</dependency>
9599
<!-- Need testing utility classes for generated gRPC clients tests -->
100+
<dependency>
101+
<groupId>com.google.api</groupId>
102+
<artifactId>gax</artifactId>
103+
<classifier>testlib</classifier>
104+
<scope>test</scope>
105+
</dependency>
96106
<dependency>
97107
<groupId>com.google.api</groupId>
98108
<artifactId>gax-grpc</artifactId>
99109
<classifier>testlib</classifier>
100110
<scope>test</scope>
101111
</dependency>
112+
<dependency>
113+
<groupId>com.google.api</groupId>
114+
<artifactId>gax-httpjson</artifactId>
115+
<classifier>testlib</classifier>
116+
<scope>test</scope>
117+
</dependency>
102118
</dependencies>
103119

104120
<profiles>

google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1/OsConfigServiceClient.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,21 @@
114114
* OsConfigServiceClient.create(osConfigServiceSettings);
115115
* }</pre>
116116
*
117+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
118+
* the wire:
119+
*
120+
* <pre>{@code
121+
* // This snippet has been automatically generated for illustrative purposes only.
122+
* // It may require modifications to work in your environment.
123+
* OsConfigServiceSettings osConfigServiceSettings =
124+
* OsConfigServiceSettings.newBuilder()
125+
* .setTransportChannelProvider(
126+
* OsConfigServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
127+
* .build();
128+
* OsConfigServiceClient osConfigServiceClient =
129+
* OsConfigServiceClient.create(osConfigServiceSettings);
130+
* }</pre>
131+
*
117132
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
118133
*/
119134
@Generated("by gapic-generator-java")

google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1/OsConfigServiceSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.google.api.gax.core.GoogleCredentialsProvider;
2626
import com.google.api.gax.core.InstantiatingExecutorProvider;
2727
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
28+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
2829
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2930
import com.google.api.gax.rpc.ClientContext;
3031
import com.google.api.gax.rpc.ClientSettings;
@@ -184,11 +185,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
184185
return OsConfigServiceStubSettings.defaultCredentialsProviderBuilder();
185186
}
186187

187-
/** Returns a builder for the default ChannelProvider for this service. */
188+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
188189
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
189190
return OsConfigServiceStubSettings.defaultGrpcTransportProviderBuilder();
190191
}
191192

193+
/** Returns a builder for the default REST ChannelProvider for this service. */
194+
@BetaApi
195+
public static InstantiatingHttpJsonChannelProvider.Builder
196+
defaultHttpJsonTransportProviderBuilder() {
197+
return OsConfigServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
198+
}
199+
192200
public static TransportChannelProvider defaultTransportChannelProvider() {
193201
return OsConfigServiceStubSettings.defaultTransportChannelProvider();
194202
}
@@ -198,11 +206,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
198206
return OsConfigServiceStubSettings.defaultApiClientHeaderProviderBuilder();
199207
}
200208

201-
/** Returns a new builder for this class. */
209+
/** Returns a new gRPC builder for this class. */
202210
public static Builder newBuilder() {
203211
return Builder.createDefault();
204212
}
205213

214+
/** Returns a new REST builder for this class. */
215+
@BetaApi
216+
public static Builder newHttpJsonBuilder() {
217+
return Builder.createHttpJsonDefault();
218+
}
219+
206220
/** Returns a new builder for this class. */
207221
public static Builder newBuilder(ClientContext clientContext) {
208222
return new Builder(clientContext);
@@ -240,6 +254,11 @@ private static Builder createDefault() {
240254
return new Builder(OsConfigServiceStubSettings.newBuilder());
241255
}
242256

257+
@BetaApi
258+
private static Builder createHttpJsonDefault() {
259+
return new Builder(OsConfigServiceStubSettings.newHttpJsonBuilder());
260+
}
261+
243262
public OsConfigServiceStubSettings.Builder getStubSettingsBuilder() {
244263
return ((OsConfigServiceStubSettings.Builder) getStubSettings());
245264
}

google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1/OsConfigZonalServiceClient.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.osconfig.v1.stub.OsConfigZonalServiceStubSettings;
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;
@@ -110,13 +110,29 @@
110110
* OsConfigZonalServiceClient.create(osConfigZonalServiceSettings);
111111
* }</pre>
112112
*
113+
* <p>To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over
114+
* the wire:
115+
*
116+
* <pre>{@code
117+
* // This snippet has been automatically generated for illustrative purposes only.
118+
* // It may require modifications to work in your environment.
119+
* OsConfigZonalServiceSettings osConfigZonalServiceSettings =
120+
* OsConfigZonalServiceSettings.newBuilder()
121+
* .setTransportChannelProvider(
122+
* OsConfigZonalServiceSettings.defaultHttpJsonTransportProviderBuilder().build())
123+
* .build();
124+
* OsConfigZonalServiceClient osConfigZonalServiceClient =
125+
* OsConfigZonalServiceClient.create(osConfigZonalServiceSettings);
126+
* }</pre>
127+
*
113128
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
114129
*/
115130
@Generated("by gapic-generator-java")
116131
public class OsConfigZonalServiceClient implements BackgroundResource {
117132
private final OsConfigZonalServiceSettings settings;
118133
private final OsConfigZonalServiceStub stub;
119-
private final OperationsClient operationsClient;
134+
private final OperationsClient httpJsonOperationsClient;
135+
private final com.google.longrunning.OperationsClient operationsClient;
120136

121137
/** Constructs an instance of OsConfigZonalServiceClient with default settings. */
122138
public static final OsConfigZonalServiceClient create() throws IOException {
@@ -148,13 +164,17 @@ public static final OsConfigZonalServiceClient create(OsConfigZonalServiceStub s
148164
protected OsConfigZonalServiceClient(OsConfigZonalServiceSettings settings) throws IOException {
149165
this.settings = settings;
150166
this.stub = ((OsConfigZonalServiceStubSettings) settings.getStubSettings()).createStub();
151-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
167+
this.operationsClient =
168+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
169+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
152170
}
153171

154172
protected OsConfigZonalServiceClient(OsConfigZonalServiceStub stub) {
155173
this.settings = null;
156174
this.stub = stub;
157-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
175+
this.operationsClient =
176+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
177+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
158178
}
159179

160180
public final OsConfigZonalServiceSettings getSettings() {
@@ -169,10 +189,18 @@ public OsConfigZonalServiceStub getStub() {
169189
* Returns the OperationsClient that can be used to query the status of a long-running operation
170190
* returned by another API method call.
171191
*/
172-
public final OperationsClient getOperationsClient() {
192+
public final com.google.longrunning.OperationsClient getOperationsClient() {
173193
return operationsClient;
174194
}
175195

196+
/**
197+
* Returns the OperationsClient that can be used to query the status of a long-running operation
198+
* returned by another API method call.
199+
*/
200+
public final OperationsClient getHttpJsonOperationsClient() {
201+
return httpJsonOperationsClient;
202+
}
203+
176204
// AUTO-GENERATED DOCUMENTATION AND METHOD.
177205
/**
178206
* Create an OS policy assignment.

google-cloud-os-config/src/main/java/com/google/cloud/osconfig/v1/OsConfigZonalServiceSettings.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.google.api.gax.core.GoogleCredentialsProvider;
2828
import com.google.api.gax.core.InstantiatingExecutorProvider;
2929
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
30+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3031
import com.google.api.gax.rpc.ApiClientHeaderProvider;
3132
import com.google.api.gax.rpc.ClientContext;
3233
import com.google.api.gax.rpc.ClientSettings;
@@ -219,11 +220,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
219220
return OsConfigZonalServiceStubSettings.defaultCredentialsProviderBuilder();
220221
}
221222

222-
/** Returns a builder for the default ChannelProvider for this service. */
223+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
223224
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
224225
return OsConfigZonalServiceStubSettings.defaultGrpcTransportProviderBuilder();
225226
}
226227

228+
/** Returns a builder for the default REST ChannelProvider for this service. */
229+
@BetaApi
230+
public static InstantiatingHttpJsonChannelProvider.Builder
231+
defaultHttpJsonTransportProviderBuilder() {
232+
return OsConfigZonalServiceStubSettings.defaultHttpJsonTransportProviderBuilder();
233+
}
234+
227235
public static TransportChannelProvider defaultTransportChannelProvider() {
228236
return OsConfigZonalServiceStubSettings.defaultTransportChannelProvider();
229237
}
@@ -233,11 +241,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
233241
return OsConfigZonalServiceStubSettings.defaultApiClientHeaderProviderBuilder();
234242
}
235243

236-
/** Returns a new builder for this class. */
244+
/** Returns a new gRPC builder for this class. */
237245
public static Builder newBuilder() {
238246
return Builder.createDefault();
239247
}
240248

249+
/** Returns a new REST builder for this class. */
250+
@BetaApi
251+
public static Builder newHttpJsonBuilder() {
252+
return Builder.createHttpJsonDefault();
253+
}
254+
241255
/** Returns a new builder for this class. */
242256
public static Builder newBuilder(ClientContext clientContext) {
243257
return new Builder(clientContext);
@@ -276,6 +290,11 @@ private static Builder createDefault() {
276290
return new Builder(OsConfigZonalServiceStubSettings.newBuilder());
277291
}
278292

293+
@BetaApi
294+
private static Builder createHttpJsonDefault() {
295+
return new Builder(OsConfigZonalServiceStubSettings.newHttpJsonBuilder());
296+
}
297+
279298
public OsConfigZonalServiceStubSettings.Builder getStubSettingsBuilder() {
280299
return ((OsConfigZonalServiceStubSettings.Builder) getStubSettings());
281300
}
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
/*
2+
* Copyright 2022 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.google.cloud.osconfig.v1.stub;
18+
19+
import com.google.api.core.BetaApi;
20+
import com.google.api.gax.httpjson.HttpJsonCallSettings;
21+
import com.google.api.gax.httpjson.HttpJsonCallableFactory;
22+
import com.google.api.gax.httpjson.HttpJsonOperationSnapshotCallable;
23+
import com.google.api.gax.httpjson.HttpJsonStubCallableFactory;
24+
import com.google.api.gax.httpjson.longrunning.stub.OperationsStub;
25+
import com.google.api.gax.rpc.BatchingCallSettings;
26+
import com.google.api.gax.rpc.ClientContext;
27+
import com.google.api.gax.rpc.OperationCallSettings;
28+
import com.google.api.gax.rpc.OperationCallable;
29+
import com.google.api.gax.rpc.PagedCallSettings;
30+
import com.google.api.gax.rpc.ServerStreamingCallSettings;
31+
import com.google.api.gax.rpc.ServerStreamingCallable;
32+
import com.google.api.gax.rpc.UnaryCallSettings;
33+
import com.google.api.gax.rpc.UnaryCallable;
34+
import com.google.longrunning.Operation;
35+
import javax.annotation.Generated;
36+
37+
// AUTO-GENERATED DOCUMENTATION AND CLASS.
38+
/**
39+
* REST callable factory implementation for the OsConfigService service API.
40+
*
41+
* <p>This class is for advanced usage.
42+
*/
43+
@Generated("by gapic-generator-java")
44+
@BetaApi
45+
public class HttpJsonOsConfigServiceCallableFactory
46+
implements HttpJsonStubCallableFactory<Operation, OperationsStub> {
47+
48+
@Override
49+
public <RequestT, ResponseT> UnaryCallable<RequestT, ResponseT> createUnaryCallable(
50+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
51+
UnaryCallSettings<RequestT, ResponseT> callSettings,
52+
ClientContext clientContext) {
53+
return HttpJsonCallableFactory.createUnaryCallable(
54+
httpJsonCallSettings, callSettings, clientContext);
55+
}
56+
57+
@Override
58+
public <RequestT, ResponseT, PagedListResponseT>
59+
UnaryCallable<RequestT, PagedListResponseT> createPagedCallable(
60+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
61+
PagedCallSettings<RequestT, ResponseT, PagedListResponseT> callSettings,
62+
ClientContext clientContext) {
63+
return HttpJsonCallableFactory.createPagedCallable(
64+
httpJsonCallSettings, callSettings, clientContext);
65+
}
66+
67+
@Override
68+
public <RequestT, ResponseT> UnaryCallable<RequestT, ResponseT> createBatchingCallable(
69+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
70+
BatchingCallSettings<RequestT, ResponseT> callSettings,
71+
ClientContext clientContext) {
72+
return HttpJsonCallableFactory.createBatchingCallable(
73+
httpJsonCallSettings, callSettings, clientContext);
74+
}
75+
76+
@BetaApi(
77+
"The surface for long-running operations is not stable yet and may change in the future.")
78+
@Override
79+
public <RequestT, ResponseT, MetadataT>
80+
OperationCallable<RequestT, ResponseT, MetadataT> createOperationCallable(
81+
HttpJsonCallSettings<RequestT, Operation> httpJsonCallSettings,
82+
OperationCallSettings<RequestT, ResponseT, MetadataT> callSettings,
83+
ClientContext clientContext,
84+
OperationsStub operationsStub) {
85+
UnaryCallable<RequestT, Operation> innerCallable =
86+
HttpJsonCallableFactory.createBaseUnaryCallable(
87+
httpJsonCallSettings, callSettings.getInitialCallSettings(), clientContext);
88+
HttpJsonOperationSnapshotCallable<RequestT, Operation> initialCallable =
89+
new HttpJsonOperationSnapshotCallable<RequestT, Operation>(
90+
innerCallable,
91+
httpJsonCallSettings.getMethodDescriptor().getOperationSnapshotFactory());
92+
return HttpJsonCallableFactory.createOperationCallable(
93+
callSettings, clientContext, operationsStub.longRunningClient(), initialCallable);
94+
}
95+
96+
@Override
97+
public <RequestT, ResponseT>
98+
ServerStreamingCallable<RequestT, ResponseT> createServerStreamingCallable(
99+
HttpJsonCallSettings<RequestT, ResponseT> httpJsonCallSettings,
100+
ServerStreamingCallSettings<RequestT, ResponseT> callSettings,
101+
ClientContext clientContext) {
102+
return HttpJsonCallableFactory.createServerStreamingCallable(
103+
httpJsonCallSettings, callSettings, clientContext);
104+
}
105+
}

0 commit comments

Comments
 (0)