Skip to content

Commit dd5ddba

Browse files
feat: [webrisk] add SubmitUri endpoint (#9443)
* feat: add SubmitUri endpoint PiperOrigin-RevId: 533110799 Source-Link: googleapis/googleapis@3f5d0c9 Source-Link: https://github.com/googleapis/googleapis-gen/commit/530de5758e4e2cdb6af6d0cab7ad829171142a1f Copy-Tag: eyJwIjoiamF2YS13ZWJyaXNrLy5Pd2xCb3QueWFtbCIsImgiOiI1MzBkZTU3NThlNGUyY2RiNmFmNmQwY2FiN2FkODI5MTcxMTQyYTFmIn0= * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 720796b commit dd5ddba

35 files changed

+10321
-209
lines changed

java-webrisk/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
2020
<dependency>
2121
<groupId>com.google.cloud</groupId>
2222
<artifactId>libraries-bom</artifactId>
23-
<version>26.11.0</version>
23+
<version>26.15.0</version>
2424
<type>pom</type>
2525
<scope>import</scope>
2626
</dependency>
@@ -195,7 +195,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
195195
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.html
196196
[stability-image]: https://img.shields.io/badge/stability-stable-green
197197
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-webrisk.svg
198-
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-webrisk/2.13.0
198+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-webrisk/2.16.0
199199
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
200200
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
201201
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles

java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1/WebRiskServiceClient.java

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,15 @@
1616

1717
package com.google.cloud.webrisk.v1;
1818

19+
import com.google.api.core.BetaApi;
1920
import com.google.api.gax.core.BackgroundResource;
21+
import com.google.api.gax.httpjson.longrunning.OperationsClient;
22+
import com.google.api.gax.longrunning.OperationFuture;
23+
import com.google.api.gax.rpc.OperationCallable;
2024
import com.google.api.gax.rpc.UnaryCallable;
2125
import com.google.cloud.webrisk.v1.stub.WebRiskServiceStub;
2226
import com.google.cloud.webrisk.v1.stub.WebRiskServiceStubSettings;
27+
import com.google.longrunning.Operation;
2328
import com.google.protobuf.ByteString;
2429
import com.google.webrisk.v1.ComputeThreatListDiffRequest;
2530
import com.google.webrisk.v1.ComputeThreatListDiffResponse;
@@ -30,6 +35,8 @@
3035
import com.google.webrisk.v1.SearchUrisRequest;
3136
import com.google.webrisk.v1.SearchUrisResponse;
3237
import com.google.webrisk.v1.Submission;
38+
import com.google.webrisk.v1.SubmitUriMetadata;
39+
import com.google.webrisk.v1.SubmitUriRequest;
3340
import com.google.webrisk.v1.ThreatType;
3441
import java.io.IOException;
3542
import java.util.List;
@@ -134,6 +141,8 @@
134141
public class WebRiskServiceClient implements BackgroundResource {
135142
private final WebRiskServiceSettings settings;
136143
private final WebRiskServiceStub stub;
144+
private final OperationsClient httpJsonOperationsClient;
145+
private final com.google.longrunning.OperationsClient operationsClient;
137146

138147
/** Constructs an instance of WebRiskServiceClient with default settings. */
139148
public static final WebRiskServiceClient create() throws IOException {
@@ -165,11 +174,17 @@ public static final WebRiskServiceClient create(WebRiskServiceStub stub) {
165174
protected WebRiskServiceClient(WebRiskServiceSettings settings) throws IOException {
166175
this.settings = settings;
167176
this.stub = ((WebRiskServiceStubSettings) settings.getStubSettings()).createStub();
177+
this.operationsClient =
178+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
179+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
168180
}
169181

170182
protected WebRiskServiceClient(WebRiskServiceStub stub) {
171183
this.settings = null;
172184
this.stub = stub;
185+
this.operationsClient =
186+
com.google.longrunning.OperationsClient.create(this.stub.getOperationsStub());
187+
this.httpJsonOperationsClient = OperationsClient.create(this.stub.getHttpJsonOperationsStub());
173188
}
174189

175190
public final WebRiskServiceSettings getSettings() {
@@ -180,6 +195,23 @@ public WebRiskServiceStub getStub() {
180195
return stub;
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 com.google.longrunning.OperationsClient getOperationsClient() {
203+
return operationsClient;
204+
}
205+
206+
/**
207+
* Returns the OperationsClient that can be used to query the status of a long-running operation
208+
* returned by another API method call.
209+
*/
210+
@BetaApi
211+
public final OperationsClient getHttpJsonOperationsClient() {
212+
return httpJsonOperationsClient;
213+
}
214+
183215
// AUTO-GENERATED DOCUMENTATION AND METHOD.
184216
/**
185217
* Gets the most recent threat list diffs. These diffs should be applied to a local database of
@@ -640,6 +672,121 @@ public final UnaryCallable<CreateSubmissionRequest, Submission> createSubmission
640672
return stub.createSubmissionCallable();
641673
}
642674

675+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
676+
/**
677+
* Submits a URI suspected of containing malicious content to be reviewed. Returns a
678+
* google.longrunning.Operation which, once the review is complete, is updated with its result.
679+
* You can use the [Pub/Sub API] (https://cloud.google.com/pubsub) to receive notifications for
680+
* the returned Operation. If the result verifies the existence of malicious content, the site
681+
* will be added to the [Google's Social Engineering lists]
682+
* (https://support.google.com/webmasters/answer/6350487/) in order to protect users that could
683+
* get exposed to this threat in the future. Only allowlisted projects can use this method during
684+
* Early Access. Please reach out to Sales or your customer engineer to obtain access.
685+
*
686+
* <p>Sample code:
687+
*
688+
* <pre>{@code
689+
* // This snippet has been automatically generated and should be regarded as a code template only.
690+
* // It will require modifications to work:
691+
* // - It may require correct/in-range values for request initialization.
692+
* // - It may require specifying regional endpoints when creating the service client as shown in
693+
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
694+
* try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
695+
* SubmitUriRequest request =
696+
* SubmitUriRequest.newBuilder()
697+
* .setParent(ProjectName.of("[PROJECT]").toString())
698+
* .setSubmission(Submission.newBuilder().build())
699+
* .setThreatInfo(ThreatInfo.newBuilder().build())
700+
* .setThreatDiscovery(ThreatDiscovery.newBuilder().build())
701+
* .build();
702+
* Submission response = webRiskServiceClient.submitUriAsync(request).get();
703+
* }
704+
* }</pre>
705+
*
706+
* @param request The request object containing all of the parameters for the API call.
707+
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
708+
*/
709+
public final OperationFuture<Submission, SubmitUriMetadata> submitUriAsync(
710+
SubmitUriRequest request) {
711+
return submitUriOperationCallable().futureCall(request);
712+
}
713+
714+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
715+
/**
716+
* Submits a URI suspected of containing malicious content to be reviewed. Returns a
717+
* google.longrunning.Operation which, once the review is complete, is updated with its result.
718+
* You can use the [Pub/Sub API] (https://cloud.google.com/pubsub) to receive notifications for
719+
* the returned Operation. If the result verifies the existence of malicious content, the site
720+
* will be added to the [Google's Social Engineering lists]
721+
* (https://support.google.com/webmasters/answer/6350487/) in order to protect users that could
722+
* get exposed to this threat in the future. Only allowlisted projects can use this method during
723+
* Early Access. Please reach out to Sales or your customer engineer to obtain access.
724+
*
725+
* <p>Sample code:
726+
*
727+
* <pre>{@code
728+
* // This snippet has been automatically generated and should be regarded as a code template only.
729+
* // It will require modifications to work:
730+
* // - It may require correct/in-range values for request initialization.
731+
* // - It may require specifying regional endpoints when creating the service client as shown in
732+
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
733+
* try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
734+
* SubmitUriRequest request =
735+
* SubmitUriRequest.newBuilder()
736+
* .setParent(ProjectName.of("[PROJECT]").toString())
737+
* .setSubmission(Submission.newBuilder().build())
738+
* .setThreatInfo(ThreatInfo.newBuilder().build())
739+
* .setThreatDiscovery(ThreatDiscovery.newBuilder().build())
740+
* .build();
741+
* OperationFuture<Submission, SubmitUriMetadata> future =
742+
* webRiskServiceClient.submitUriOperationCallable().futureCall(request);
743+
* // Do something.
744+
* Submission response = future.get();
745+
* }
746+
* }</pre>
747+
*/
748+
public final OperationCallable<SubmitUriRequest, Submission, SubmitUriMetadata>
749+
submitUriOperationCallable() {
750+
return stub.submitUriOperationCallable();
751+
}
752+
753+
// AUTO-GENERATED DOCUMENTATION AND METHOD.
754+
/**
755+
* Submits a URI suspected of containing malicious content to be reviewed. Returns a
756+
* google.longrunning.Operation which, once the review is complete, is updated with its result.
757+
* You can use the [Pub/Sub API] (https://cloud.google.com/pubsub) to receive notifications for
758+
* the returned Operation. If the result verifies the existence of malicious content, the site
759+
* will be added to the [Google's Social Engineering lists]
760+
* (https://support.google.com/webmasters/answer/6350487/) in order to protect users that could
761+
* get exposed to this threat in the future. Only allowlisted projects can use this method during
762+
* Early Access. Please reach out to Sales or your customer engineer to obtain access.
763+
*
764+
* <p>Sample code:
765+
*
766+
* <pre>{@code
767+
* // This snippet has been automatically generated and should be regarded as a code template only.
768+
* // It will require modifications to work:
769+
* // - It may require correct/in-range values for request initialization.
770+
* // - It may require specifying regional endpoints when creating the service client as shown in
771+
* // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
772+
* try (WebRiskServiceClient webRiskServiceClient = WebRiskServiceClient.create()) {
773+
* SubmitUriRequest request =
774+
* SubmitUriRequest.newBuilder()
775+
* .setParent(ProjectName.of("[PROJECT]").toString())
776+
* .setSubmission(Submission.newBuilder().build())
777+
* .setThreatInfo(ThreatInfo.newBuilder().build())
778+
* .setThreatDiscovery(ThreatDiscovery.newBuilder().build())
779+
* .build();
780+
* ApiFuture<Operation> future = webRiskServiceClient.submitUriCallable().futureCall(request);
781+
* // Do something.
782+
* Operation response = future.get();
783+
* }
784+
* }</pre>
785+
*/
786+
public final UnaryCallable<SubmitUriRequest, Operation> submitUriCallable() {
787+
return stub.submitUriCallable();
788+
}
789+
643790
@Override
644791
public final void close() {
645792
stub.close();

java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1/WebRiskServiceSettings.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@
2525
import com.google.api.gax.rpc.ApiClientHeaderProvider;
2626
import com.google.api.gax.rpc.ClientContext;
2727
import com.google.api.gax.rpc.ClientSettings;
28+
import com.google.api.gax.rpc.OperationCallSettings;
2829
import com.google.api.gax.rpc.TransportChannelProvider;
2930
import com.google.api.gax.rpc.UnaryCallSettings;
3031
import com.google.cloud.webrisk.v1.stub.WebRiskServiceStubSettings;
32+
import com.google.longrunning.Operation;
3133
import com.google.webrisk.v1.ComputeThreatListDiffRequest;
3234
import com.google.webrisk.v1.ComputeThreatListDiffResponse;
3335
import com.google.webrisk.v1.CreateSubmissionRequest;
@@ -36,6 +38,8 @@
3638
import com.google.webrisk.v1.SearchUrisRequest;
3739
import com.google.webrisk.v1.SearchUrisResponse;
3840
import com.google.webrisk.v1.Submission;
41+
import com.google.webrisk.v1.SubmitUriMetadata;
42+
import com.google.webrisk.v1.SubmitUriRequest;
3943
import java.io.IOException;
4044
import java.util.List;
4145
import javax.annotation.Generated;
@@ -101,6 +105,17 @@ public UnaryCallSettings<CreateSubmissionRequest, Submission> createSubmissionSe
101105
return ((WebRiskServiceStubSettings) getStubSettings()).createSubmissionSettings();
102106
}
103107

108+
/** Returns the object with the settings used for calls to submitUri. */
109+
public UnaryCallSettings<SubmitUriRequest, Operation> submitUriSettings() {
110+
return ((WebRiskServiceStubSettings) getStubSettings()).submitUriSettings();
111+
}
112+
113+
/** Returns the object with the settings used for calls to submitUri. */
114+
public OperationCallSettings<SubmitUriRequest, Submission, SubmitUriMetadata>
115+
submitUriOperationSettings() {
116+
return ((WebRiskServiceStubSettings) getStubSettings()).submitUriOperationSettings();
117+
}
118+
104119
public static final WebRiskServiceSettings create(WebRiskServiceStubSettings stub)
105120
throws IOException {
106121
return new WebRiskServiceSettings.Builder(stub.toBuilder()).build();
@@ -239,6 +254,17 @@ public UnaryCallSettings.Builder<SearchUrisRequest, SearchUrisResponse> searchUr
239254
return getStubSettingsBuilder().createSubmissionSettings();
240255
}
241256

257+
/** Returns the builder for the settings used for calls to submitUri. */
258+
public UnaryCallSettings.Builder<SubmitUriRequest, Operation> submitUriSettings() {
259+
return getStubSettingsBuilder().submitUriSettings();
260+
}
261+
262+
/** Returns the builder for the settings used for calls to submitUri. */
263+
public OperationCallSettings.Builder<SubmitUriRequest, Submission, SubmitUriMetadata>
264+
submitUriOperationSettings() {
265+
return getStubSettingsBuilder().submitUriOperationSettings();
266+
}
267+
242268
@Override
243269
public WebRiskServiceSettings build() throws IOException {
244270
return new WebRiskServiceSettings(this);

java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1/gapic_metadata.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
},
2222
"SearchUris": {
2323
"methods": ["searchUris", "searchUris", "searchUrisCallable"]
24+
},
25+
"SubmitUri": {
26+
"methods": ["submitUriAsync", "submitUriOperationCallable", "submitUriCallable"]
2427
}
2528
}
2629
}

java-webrisk/google-cloud-webrisk/src/main/java/com/google/cloud/webrisk/v1/stub/GrpcWebRiskServiceStub.java

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@
2121
import com.google.api.gax.grpc.GrpcCallSettings;
2222
import com.google.api.gax.grpc.GrpcStubCallableFactory;
2323
import com.google.api.gax.rpc.ClientContext;
24+
import com.google.api.gax.rpc.OperationCallable;
2425
import com.google.api.gax.rpc.UnaryCallable;
2526
import com.google.common.collect.ImmutableMap;
27+
import com.google.longrunning.Operation;
2628
import com.google.longrunning.stub.GrpcOperationsStub;
2729
import com.google.webrisk.v1.ComputeThreatListDiffRequest;
2830
import com.google.webrisk.v1.ComputeThreatListDiffResponse;
@@ -32,6 +34,8 @@
3234
import com.google.webrisk.v1.SearchUrisRequest;
3335
import com.google.webrisk.v1.SearchUrisResponse;
3436
import com.google.webrisk.v1.Submission;
37+
import com.google.webrisk.v1.SubmitUriMetadata;
38+
import com.google.webrisk.v1.SubmitUriRequest;
3539
import io.grpc.MethodDescriptor;
3640
import io.grpc.protobuf.ProtoUtils;
3741
import java.io.IOException;
@@ -86,11 +90,22 @@ public class GrpcWebRiskServiceStub extends WebRiskServiceStub {
8690
.setResponseMarshaller(ProtoUtils.marshaller(Submission.getDefaultInstance()))
8791
.build();
8892

93+
private static final MethodDescriptor<SubmitUriRequest, Operation> submitUriMethodDescriptor =
94+
MethodDescriptor.<SubmitUriRequest, Operation>newBuilder()
95+
.setType(MethodDescriptor.MethodType.UNARY)
96+
.setFullMethodName("google.cloud.webrisk.v1.WebRiskService/SubmitUri")
97+
.setRequestMarshaller(ProtoUtils.marshaller(SubmitUriRequest.getDefaultInstance()))
98+
.setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance()))
99+
.build();
100+
89101
private final UnaryCallable<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse>
90102
computeThreatListDiffCallable;
91103
private final UnaryCallable<SearchUrisRequest, SearchUrisResponse> searchUrisCallable;
92104
private final UnaryCallable<SearchHashesRequest, SearchHashesResponse> searchHashesCallable;
93105
private final UnaryCallable<CreateSubmissionRequest, Submission> createSubmissionCallable;
106+
private final UnaryCallable<SubmitUriRequest, Operation> submitUriCallable;
107+
private final OperationCallable<SubmitUriRequest, Submission, SubmitUriMetadata>
108+
submitUriOperationCallable;
94109

95110
private final BackgroundResource backgroundResources;
96111
private final GrpcOperationsStub operationsStub;
@@ -160,6 +175,16 @@ protected GrpcWebRiskServiceStub(
160175
return params.build();
161176
})
162177
.build();
178+
GrpcCallSettings<SubmitUriRequest, Operation> submitUriTransportSettings =
179+
GrpcCallSettings.<SubmitUriRequest, Operation>newBuilder()
180+
.setMethodDescriptor(submitUriMethodDescriptor)
181+
.setParamsExtractor(
182+
request -> {
183+
ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
184+
params.put("parent", String.valueOf(request.getParent()));
185+
return params.build();
186+
})
187+
.build();
163188

164189
this.computeThreatListDiffCallable =
165190
callableFactory.createUnaryCallable(
@@ -175,6 +200,15 @@ protected GrpcWebRiskServiceStub(
175200
this.createSubmissionCallable =
176201
callableFactory.createUnaryCallable(
177202
createSubmissionTransportSettings, settings.createSubmissionSettings(), clientContext);
203+
this.submitUriCallable =
204+
callableFactory.createUnaryCallable(
205+
submitUriTransportSettings, settings.submitUriSettings(), clientContext);
206+
this.submitUriOperationCallable =
207+
callableFactory.createOperationCallable(
208+
submitUriTransportSettings,
209+
settings.submitUriOperationSettings(),
210+
clientContext,
211+
operationsStub);
178212

179213
this.backgroundResources =
180214
new BackgroundResourceAggregation(clientContext.getBackgroundResources());
@@ -205,6 +239,17 @@ public UnaryCallable<CreateSubmissionRequest, Submission> createSubmissionCallab
205239
return createSubmissionCallable;
206240
}
207241

242+
@Override
243+
public UnaryCallable<SubmitUriRequest, Operation> submitUriCallable() {
244+
return submitUriCallable;
245+
}
246+
247+
@Override
248+
public OperationCallable<SubmitUriRequest, Submission, SubmitUriMetadata>
249+
submitUriOperationCallable() {
250+
return submitUriOperationCallable;
251+
}
252+
208253
@Override
209254
public final void close() {
210255
try {

0 commit comments

Comments
 (0)