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.webrisk.v1; 18 19 import com.google.api.core.ApiFunction; 20 import com.google.api.core.BetaApi; 21 import com.google.api.gax.core.GoogleCredentialsProvider; 22 import com.google.api.gax.core.InstantiatingExecutorProvider; 23 import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; 24 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; 25 import com.google.api.gax.rpc.ApiClientHeaderProvider; 26 import com.google.api.gax.rpc.ClientContext; 27 import com.google.api.gax.rpc.ClientSettings; 28 import com.google.api.gax.rpc.TransportChannelProvider; 29 import com.google.api.gax.rpc.UnaryCallSettings; 30 import com.google.cloud.webrisk.v1.stub.WebRiskServiceStubSettings; 31 import com.google.webrisk.v1.ComputeThreatListDiffRequest; 32 import com.google.webrisk.v1.ComputeThreatListDiffResponse; 33 import com.google.webrisk.v1.CreateSubmissionRequest; 34 import com.google.webrisk.v1.SearchHashesRequest; 35 import com.google.webrisk.v1.SearchHashesResponse; 36 import com.google.webrisk.v1.SearchUrisRequest; 37 import com.google.webrisk.v1.SearchUrisResponse; 38 import com.google.webrisk.v1.Submission; 39 import java.io.IOException; 40 import java.util.List; 41 import javax.annotation.Generated; 42 43 // AUTO-GENERATED DOCUMENTATION AND CLASS. 44 /** 45 * Settings class to configure an instance of {@link WebRiskServiceClient}. 46 * 47 * <p>The default instance has everything set to sensible defaults: 48 * 49 * <ul> 50 * <li>The default service address (webrisk.googleapis.com) and default port (443) are used. 51 * <li>Credentials are acquired automatically through Application Default Credentials. 52 * <li>Retries are configured for idempotent methods but not for non-idempotent methods. 53 * </ul> 54 * 55 * <p>The builder of this class is recursive, so contained classes are themselves builders. When 56 * build() is called, the tree of builders is called to create the complete settings object. 57 * 58 * <p>For example, to set the total timeout of computeThreatListDiff to 30 seconds: 59 * 60 * <pre>{@code 61 * // This snippet has been automatically generated and should be regarded as a code template only. 62 * // It will require modifications to work: 63 * // - It may require correct/in-range values for request initialization. 64 * // - It may require specifying regional endpoints when creating the service client as shown in 65 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 66 * WebRiskServiceSettings.Builder webRiskServiceSettingsBuilder = 67 * WebRiskServiceSettings.newBuilder(); 68 * webRiskServiceSettingsBuilder 69 * .computeThreatListDiffSettings() 70 * .setRetrySettings( 71 * webRiskServiceSettingsBuilder 72 * .computeThreatListDiffSettings() 73 * .getRetrySettings() 74 * .toBuilder() 75 * .setTotalTimeout(Duration.ofSeconds(30)) 76 * .build()); 77 * WebRiskServiceSettings webRiskServiceSettings = webRiskServiceSettingsBuilder.build(); 78 * }</pre> 79 */ 80 @Generated("by gapic-generator-java") 81 public class WebRiskServiceSettings extends ClientSettings<WebRiskServiceSettings> { 82 83 /** Returns the object with the settings used for calls to computeThreatListDiff. */ 84 public UnaryCallSettings<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse> computeThreatListDiffSettings()85 computeThreatListDiffSettings() { 86 return ((WebRiskServiceStubSettings) getStubSettings()).computeThreatListDiffSettings(); 87 } 88 89 /** Returns the object with the settings used for calls to searchUris. */ searchUrisSettings()90 public UnaryCallSettings<SearchUrisRequest, SearchUrisResponse> searchUrisSettings() { 91 return ((WebRiskServiceStubSettings) getStubSettings()).searchUrisSettings(); 92 } 93 94 /** Returns the object with the settings used for calls to searchHashes. */ searchHashesSettings()95 public UnaryCallSettings<SearchHashesRequest, SearchHashesResponse> searchHashesSettings() { 96 return ((WebRiskServiceStubSettings) getStubSettings()).searchHashesSettings(); 97 } 98 99 /** Returns the object with the settings used for calls to createSubmission. */ createSubmissionSettings()100 public UnaryCallSettings<CreateSubmissionRequest, Submission> createSubmissionSettings() { 101 return ((WebRiskServiceStubSettings) getStubSettings()).createSubmissionSettings(); 102 } 103 create(WebRiskServiceStubSettings stub)104 public static final WebRiskServiceSettings create(WebRiskServiceStubSettings stub) 105 throws IOException { 106 return new WebRiskServiceSettings.Builder(stub.toBuilder()).build(); 107 } 108 109 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()110 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 111 return WebRiskServiceStubSettings.defaultExecutorProviderBuilder(); 112 } 113 114 /** Returns the default service endpoint. */ getDefaultEndpoint()115 public static String getDefaultEndpoint() { 116 return WebRiskServiceStubSettings.getDefaultEndpoint(); 117 } 118 119 /** Returns the default service scopes. */ getDefaultServiceScopes()120 public static List<String> getDefaultServiceScopes() { 121 return WebRiskServiceStubSettings.getDefaultServiceScopes(); 122 } 123 124 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()125 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 126 return WebRiskServiceStubSettings.defaultCredentialsProviderBuilder(); 127 } 128 129 /** Returns a builder for the default gRPC ChannelProvider for this service. */ defaultGrpcTransportProviderBuilder()130 public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { 131 return WebRiskServiceStubSettings.defaultGrpcTransportProviderBuilder(); 132 } 133 134 /** Returns a builder for the default REST ChannelProvider for this service. */ 135 @BetaApi 136 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()137 defaultHttpJsonTransportProviderBuilder() { 138 return WebRiskServiceStubSettings.defaultHttpJsonTransportProviderBuilder(); 139 } 140 defaultTransportChannelProvider()141 public static TransportChannelProvider defaultTransportChannelProvider() { 142 return WebRiskServiceStubSettings.defaultTransportChannelProvider(); 143 } 144 145 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultApiClientHeaderProviderBuilder()146 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 147 return WebRiskServiceStubSettings.defaultApiClientHeaderProviderBuilder(); 148 } 149 150 /** Returns a new gRPC builder for this class. */ newBuilder()151 public static Builder newBuilder() { 152 return Builder.createDefault(); 153 } 154 155 /** Returns a new REST builder for this class. */ 156 @BetaApi newHttpJsonBuilder()157 public static Builder newHttpJsonBuilder() { 158 return Builder.createHttpJsonDefault(); 159 } 160 161 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)162 public static Builder newBuilder(ClientContext clientContext) { 163 return new Builder(clientContext); 164 } 165 166 /** Returns a builder containing all the values of this settings class. */ toBuilder()167 public Builder toBuilder() { 168 return new Builder(this); 169 } 170 WebRiskServiceSettings(Builder settingsBuilder)171 protected WebRiskServiceSettings(Builder settingsBuilder) throws IOException { 172 super(settingsBuilder); 173 } 174 175 /** Builder for WebRiskServiceSettings. */ 176 public static class Builder extends ClientSettings.Builder<WebRiskServiceSettings, Builder> { 177 Builder()178 protected Builder() throws IOException { 179 this(((ClientContext) null)); 180 } 181 Builder(ClientContext clientContext)182 protected Builder(ClientContext clientContext) { 183 super(WebRiskServiceStubSettings.newBuilder(clientContext)); 184 } 185 Builder(WebRiskServiceSettings settings)186 protected Builder(WebRiskServiceSettings settings) { 187 super(settings.getStubSettings().toBuilder()); 188 } 189 Builder(WebRiskServiceStubSettings.Builder stubSettings)190 protected Builder(WebRiskServiceStubSettings.Builder stubSettings) { 191 super(stubSettings); 192 } 193 createDefault()194 private static Builder createDefault() { 195 return new Builder(WebRiskServiceStubSettings.newBuilder()); 196 } 197 198 @BetaApi createHttpJsonDefault()199 private static Builder createHttpJsonDefault() { 200 return new Builder(WebRiskServiceStubSettings.newHttpJsonBuilder()); 201 } 202 getStubSettingsBuilder()203 public WebRiskServiceStubSettings.Builder getStubSettingsBuilder() { 204 return ((WebRiskServiceStubSettings.Builder) getStubSettings()); 205 } 206 207 /** 208 * Applies the given settings updater function to all of the unary API methods in this service. 209 * 210 * <p>Note: This method does not support applying settings to streaming methods. 211 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)212 public Builder applyToAllUnaryMethods( 213 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 214 super.applyToAllUnaryMethods( 215 getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); 216 return this; 217 } 218 219 /** Returns the builder for the settings used for calls to computeThreatListDiff. */ 220 public UnaryCallSettings.Builder<ComputeThreatListDiffRequest, ComputeThreatListDiffResponse> computeThreatListDiffSettings()221 computeThreatListDiffSettings() { 222 return getStubSettingsBuilder().computeThreatListDiffSettings(); 223 } 224 225 /** Returns the builder for the settings used for calls to searchUris. */ searchUrisSettings()226 public UnaryCallSettings.Builder<SearchUrisRequest, SearchUrisResponse> searchUrisSettings() { 227 return getStubSettingsBuilder().searchUrisSettings(); 228 } 229 230 /** Returns the builder for the settings used for calls to searchHashes. */ 231 public UnaryCallSettings.Builder<SearchHashesRequest, SearchHashesResponse> searchHashesSettings()232 searchHashesSettings() { 233 return getStubSettingsBuilder().searchHashesSettings(); 234 } 235 236 /** Returns the builder for the settings used for calls to createSubmission. */ 237 public UnaryCallSettings.Builder<CreateSubmissionRequest, Submission> createSubmissionSettings()238 createSubmissionSettings() { 239 return getStubSettingsBuilder().createSubmissionSettings(); 240 } 241 242 @Override build()243 public WebRiskServiceSettings build() throws IOException { 244 return new WebRiskServiceSettings(this); 245 } 246 } 247 } 248