Skip to content

Commit 61ad34a

Browse files
feat: Enable REST transport for most of Java and Go clients (googleapis#849)
- [ ] 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 dc01be8 commit 61ad34a

File tree

366 files changed

+30407
-33
lines changed

Some content is hidden

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

366 files changed

+30407
-33
lines changed

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

+16
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>
@@ -98,12 +102,24 @@
98102
<scope>test</scope>
99103
</dependency>
100104
<!-- Need testing utility classes for generated gRPC clients tests -->
105+
<dependency>
106+
<groupId>com.google.api</groupId>
107+
<artifactId>gax</artifactId>
108+
<classifier>testlib</classifier>
109+
<scope>test</scope>
110+
</dependency>
101111
<dependency>
102112
<groupId>com.google.api</groupId>
103113
<artifactId>gax-grpc</artifactId>
104114
<classifier>testlib</classifier>
105115
<scope>test</scope>
106116
</dependency>
117+
<dependency>
118+
<groupId>com.google.api</groupId>
119+
<artifactId>gax-httpjson</artifactId>
120+
<classifier>testlib</classifier>
121+
<scope>test</scope>
122+
</dependency>
107123
</dependencies>
108124

109125
<profiles>

java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1/SecurityCenterClient.java

+32-5
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;
@@ -36,7 +37,6 @@
3637
import com.google.iam.v1.TestIamPermissionsRequest;
3738
import com.google.iam.v1.TestIamPermissionsResponse;
3839
import com.google.longrunning.Operation;
39-
import com.google.longrunning.OperationsClient;
4040
import com.google.protobuf.Empty;
4141
import com.google.protobuf.FieldMask;
4242
import com.google.protobuf.Timestamp;
@@ -110,13 +110,28 @@
110110
* SecurityCenterClient securityCenterClient = SecurityCenterClient.create(securityCenterSettings);
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+
* SecurityCenterSettings securityCenterSettings =
120+
* SecurityCenterSettings.newBuilder()
121+
* .setTransportChannelProvider(
122+
* SecurityCenterSettings.defaultHttpJsonTransportProviderBuilder().build())
123+
* .build();
124+
* SecurityCenterClient securityCenterClient = SecurityCenterClient.create(securityCenterSettings);
125+
* }</pre>
126+
*
113127
* <p>Please refer to the GitHub repository's samples for more quickstart code snippets.
114128
*/
115129
@Generated("by gapic-generator-java")
116130
public class SecurityCenterClient implements BackgroundResource {
117131
private final SecurityCenterSettings settings;
118132
private final SecurityCenterStub stub;
119-
private final OperationsClient operationsClient;
133+
private final OperationsClient httpJsonOperationsClient;
134+
private final com.google.longrunning.OperationsClient operationsClient;
120135

121136
/** Constructs an instance of SecurityCenterClient with default settings. */
122137
public static final SecurityCenterClient create() throws IOException {
@@ -148,13 +163,17 @@ public static final SecurityCenterClient create(SecurityCenterStub stub) {
148163
protected SecurityCenterClient(SecurityCenterSettings settings) throws IOException {
149164
this.settings = settings;
150165
this.stub = ((SecurityCenterStubSettings) settings.getStubSettings()).createStub();
151-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
166+
this.operationsClient =
167+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
168+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
152169
}
153170

154171
protected SecurityCenterClient(SecurityCenterStub stub) {
155172
this.settings = null;
156173
this.stub = stub;
157-
this.operationsClient = OperationsClient.create(this.stub.getOperationsStub());
174+
this.operationsClient =
175+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
176+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
158177
}
159178

160179
public final SecurityCenterSettings getSettings() {
@@ -169,10 +188,18 @@ public SecurityCenterStub getStub() {
169188
* Returns the OperationsClient that can be used to query the status of a long-running operation
170189
* returned by another API method call.
171190
*/
172-
public final OperationsClient getOperationsClient() {
191+
public final com.google.longrunning.OperationsClient getOperationsClient() {
173192
return operationsClient;
174193
}
175194

195+
/**
196+
* Returns the OperationsClient that can be used to query the status of a long-running operation
197+
* returned by another API method call.
198+
*/
199+
public final OperationsClient getHttpJsonOperationsClient() {
200+
return httpJsonOperationsClient;
201+
}
202+
176203
// AUTO-GENERATED DOCUMENTATION AND METHOD.
177204
/**
178205
* Kicks off an LRO to bulk mute findings for a parent based on a filter. The parent can be either

java-securitycenter/google-cloud-securitycenter/src/main/java/com/google/cloud/securitycenter/v1/SecurityCenterSettings.java

+21-2
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.google.api.gax.core.GoogleCredentialsProvider;
3131
import com.google.api.gax.core.InstantiatingExecutorProvider;
3232
import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider;
33+
import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider;
3334
import com.google.api.gax.rpc.ApiClientHeaderProvider;
3435
import com.google.api.gax.rpc.ClientContext;
3536
import com.google.api.gax.rpc.ClientSettings;
@@ -328,11 +329,18 @@ public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilde
328329
return SecurityCenterStubSettings.defaultCredentialsProviderBuilder();
329330
}
330331

331-
/** Returns a builder for the default ChannelProvider for this service. */
332+
/** Returns a builder for the default gRPC ChannelProvider for this service. */
332333
public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() {
333334
return SecurityCenterStubSettings.defaultGrpcTransportProviderBuilder();
334335
}
335336

337+
/** Returns a builder for the default REST ChannelProvider for this service. */
338+
@BetaApi
339+
public static InstantiatingHttpJsonChannelProvider.Builder
340+
defaultHttpJsonTransportProviderBuilder() {
341+
return SecurityCenterStubSettings.defaultHttpJsonTransportProviderBuilder();
342+
}
343+
336344
public static TransportChannelProvider defaultTransportChannelProvider() {
337345
return SecurityCenterStubSettings.defaultTransportChannelProvider();
338346
}
@@ -342,11 +350,17 @@ public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuil
342350
return SecurityCenterStubSettings.defaultApiClientHeaderProviderBuilder();
343351
}
344352

345-
/** Returns a new builder for this class. */
353+
/** Returns a new gRPC builder for this class. */
346354
public static Builder newBuilder() {
347355
return Builder.createDefault();
348356
}
349357

358+
/** Returns a new REST builder for this class. */
359+
@BetaApi
360+
public static Builder newHttpJsonBuilder() {
361+
return Builder.createHttpJsonDefault();
362+
}
363+
350364
/** Returns a new builder for this class. */
351365
public static Builder newBuilder(ClientContext clientContext) {
352366
return new Builder(clientContext);
@@ -384,6 +398,11 @@ private static Builder createDefault() {
384398
return new Builder(SecurityCenterStubSettings.newBuilder());
385399
}
386400

401+
@BetaApi
402+
private static Builder createHttpJsonDefault() {
403+
return new Builder(SecurityCenterStubSettings.newHttpJsonBuilder());
404+
}
405+
387406
public SecurityCenterStubSettings.Builder getStubSettingsBuilder() {
388407
return ((SecurityCenterStubSettings.Builder) getStubSettings());
389408
}
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.securitycenter.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 SecurityCenter service API.
40+
*
41+
* <p>This class is for advanced usage.
42+
*/
43+
@Generated("by gapic-generator-java")
44+
@BetaApi
45+
public class HttpJsonSecurityCenterCallableFactory
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)