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.orgpolicy.v2.stub; 18 19 import static com.google.cloud.orgpolicy.v2.OrgPolicyClient.ListConstraintsPagedResponse; 20 import static com.google.cloud.orgpolicy.v2.OrgPolicyClient.ListPoliciesPagedResponse; 21 22 import com.google.api.core.ApiFunction; 23 import com.google.api.core.ApiFuture; 24 import com.google.api.core.BetaApi; 25 import com.google.api.gax.core.GaxProperties; 26 import com.google.api.gax.core.GoogleCredentialsProvider; 27 import com.google.api.gax.core.InstantiatingExecutorProvider; 28 import com.google.api.gax.grpc.GaxGrpcProperties; 29 import com.google.api.gax.grpc.GrpcTransportChannel; 30 import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; 31 import com.google.api.gax.httpjson.GaxHttpJsonProperties; 32 import com.google.api.gax.httpjson.HttpJsonTransportChannel; 33 import com.google.api.gax.httpjson.InstantiatingHttpJsonChannelProvider; 34 import com.google.api.gax.retrying.RetrySettings; 35 import com.google.api.gax.rpc.ApiCallContext; 36 import com.google.api.gax.rpc.ApiClientHeaderProvider; 37 import com.google.api.gax.rpc.ClientContext; 38 import com.google.api.gax.rpc.PageContext; 39 import com.google.api.gax.rpc.PagedCallSettings; 40 import com.google.api.gax.rpc.PagedListDescriptor; 41 import com.google.api.gax.rpc.PagedListResponseFactory; 42 import com.google.api.gax.rpc.StatusCode; 43 import com.google.api.gax.rpc.StubSettings; 44 import com.google.api.gax.rpc.TransportChannelProvider; 45 import com.google.api.gax.rpc.UnaryCallSettings; 46 import com.google.api.gax.rpc.UnaryCallable; 47 import com.google.cloud.orgpolicy.v2.Constraint; 48 import com.google.cloud.orgpolicy.v2.CreatePolicyRequest; 49 import com.google.cloud.orgpolicy.v2.DeletePolicyRequest; 50 import com.google.cloud.orgpolicy.v2.GetEffectivePolicyRequest; 51 import com.google.cloud.orgpolicy.v2.GetPolicyRequest; 52 import com.google.cloud.orgpolicy.v2.ListConstraintsRequest; 53 import com.google.cloud.orgpolicy.v2.ListConstraintsResponse; 54 import com.google.cloud.orgpolicy.v2.ListPoliciesRequest; 55 import com.google.cloud.orgpolicy.v2.ListPoliciesResponse; 56 import com.google.cloud.orgpolicy.v2.Policy; 57 import com.google.cloud.orgpolicy.v2.UpdatePolicyRequest; 58 import com.google.common.collect.ImmutableList; 59 import com.google.common.collect.ImmutableMap; 60 import com.google.common.collect.ImmutableSet; 61 import com.google.common.collect.Lists; 62 import com.google.protobuf.Empty; 63 import java.io.IOException; 64 import java.util.List; 65 import javax.annotation.Generated; 66 import org.threeten.bp.Duration; 67 68 // AUTO-GENERATED DOCUMENTATION AND CLASS. 69 /** 70 * Settings class to configure an instance of {@link OrgPolicyStub}. 71 * 72 * <p>The default instance has everything set to sensible defaults: 73 * 74 * <ul> 75 * <li>The default service address (orgpolicy.googleapis.com) and default port (443) are used. 76 * <li>Credentials are acquired automatically through Application Default Credentials. 77 * <li>Retries are configured for idempotent methods but not for non-idempotent methods. 78 * </ul> 79 * 80 * <p>The builder of this class is recursive, so contained classes are themselves builders. When 81 * build() is called, the tree of builders is called to create the complete settings object. 82 * 83 * <p>For example, to set the total timeout of getPolicy to 30 seconds: 84 * 85 * <pre>{@code 86 * // This snippet has been automatically generated and should be regarded as a code template only. 87 * // It will require modifications to work: 88 * // - It may require correct/in-range values for request initialization. 89 * // - It may require specifying regional endpoints when creating the service client as shown in 90 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 91 * OrgPolicyStubSettings.Builder orgPolicySettingsBuilder = OrgPolicyStubSettings.newBuilder(); 92 * orgPolicySettingsBuilder 93 * .getPolicySettings() 94 * .setRetrySettings( 95 * orgPolicySettingsBuilder 96 * .getPolicySettings() 97 * .getRetrySettings() 98 * .toBuilder() 99 * .setTotalTimeout(Duration.ofSeconds(30)) 100 * .build()); 101 * OrgPolicyStubSettings orgPolicySettings = orgPolicySettingsBuilder.build(); 102 * }</pre> 103 */ 104 @Generated("by gapic-generator-java") 105 public class OrgPolicyStubSettings extends StubSettings<OrgPolicyStubSettings> { 106 /** The default scopes of the service. */ 107 private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES = 108 ImmutableList.<String>builder().add("https://www.googleapis.com/auth/cloud-platform").build(); 109 110 private final PagedCallSettings< 111 ListConstraintsRequest, ListConstraintsResponse, ListConstraintsPagedResponse> 112 listConstraintsSettings; 113 private final PagedCallSettings< 114 ListPoliciesRequest, ListPoliciesResponse, ListPoliciesPagedResponse> 115 listPoliciesSettings; 116 private final UnaryCallSettings<GetPolicyRequest, Policy> getPolicySettings; 117 private final UnaryCallSettings<GetEffectivePolicyRequest, Policy> getEffectivePolicySettings; 118 private final UnaryCallSettings<CreatePolicyRequest, Policy> createPolicySettings; 119 private final UnaryCallSettings<UpdatePolicyRequest, Policy> updatePolicySettings; 120 private final UnaryCallSettings<DeletePolicyRequest, Empty> deletePolicySettings; 121 122 private static final PagedListDescriptor< 123 ListConstraintsRequest, ListConstraintsResponse, Constraint> 124 LIST_CONSTRAINTS_PAGE_STR_DESC = 125 new PagedListDescriptor<ListConstraintsRequest, ListConstraintsResponse, Constraint>() { 126 @Override 127 public String emptyToken() { 128 return ""; 129 } 130 131 @Override 132 public ListConstraintsRequest injectToken( 133 ListConstraintsRequest payload, String token) { 134 return ListConstraintsRequest.newBuilder(payload).setPageToken(token).build(); 135 } 136 137 @Override 138 public ListConstraintsRequest injectPageSize( 139 ListConstraintsRequest payload, int pageSize) { 140 return ListConstraintsRequest.newBuilder(payload).setPageSize(pageSize).build(); 141 } 142 143 @Override 144 public Integer extractPageSize(ListConstraintsRequest payload) { 145 return payload.getPageSize(); 146 } 147 148 @Override 149 public String extractNextToken(ListConstraintsResponse payload) { 150 return payload.getNextPageToken(); 151 } 152 153 @Override 154 public Iterable<Constraint> extractResources(ListConstraintsResponse payload) { 155 return payload.getConstraintsList() == null 156 ? ImmutableList.<Constraint>of() 157 : payload.getConstraintsList(); 158 } 159 }; 160 161 private static final PagedListDescriptor<ListPoliciesRequest, ListPoliciesResponse, Policy> 162 LIST_POLICIES_PAGE_STR_DESC = 163 new PagedListDescriptor<ListPoliciesRequest, ListPoliciesResponse, Policy>() { 164 @Override 165 public String emptyToken() { 166 return ""; 167 } 168 169 @Override 170 public ListPoliciesRequest injectToken(ListPoliciesRequest payload, String token) { 171 return ListPoliciesRequest.newBuilder(payload).setPageToken(token).build(); 172 } 173 174 @Override 175 public ListPoliciesRequest injectPageSize(ListPoliciesRequest payload, int pageSize) { 176 return ListPoliciesRequest.newBuilder(payload).setPageSize(pageSize).build(); 177 } 178 179 @Override 180 public Integer extractPageSize(ListPoliciesRequest payload) { 181 return payload.getPageSize(); 182 } 183 184 @Override 185 public String extractNextToken(ListPoliciesResponse payload) { 186 return payload.getNextPageToken(); 187 } 188 189 @Override 190 public Iterable<Policy> extractResources(ListPoliciesResponse payload) { 191 return payload.getPoliciesList() == null 192 ? ImmutableList.<Policy>of() 193 : payload.getPoliciesList(); 194 } 195 }; 196 197 private static final PagedListResponseFactory< 198 ListConstraintsRequest, ListConstraintsResponse, ListConstraintsPagedResponse> 199 LIST_CONSTRAINTS_PAGE_STR_FACT = 200 new PagedListResponseFactory< 201 ListConstraintsRequest, ListConstraintsResponse, ListConstraintsPagedResponse>() { 202 @Override 203 public ApiFuture<ListConstraintsPagedResponse> getFuturePagedResponse( 204 UnaryCallable<ListConstraintsRequest, ListConstraintsResponse> callable, 205 ListConstraintsRequest request, 206 ApiCallContext context, 207 ApiFuture<ListConstraintsResponse> futureResponse) { 208 PageContext<ListConstraintsRequest, ListConstraintsResponse, Constraint> pageContext = 209 PageContext.create(callable, LIST_CONSTRAINTS_PAGE_STR_DESC, request, context); 210 return ListConstraintsPagedResponse.createAsync(pageContext, futureResponse); 211 } 212 }; 213 214 private static final PagedListResponseFactory< 215 ListPoliciesRequest, ListPoliciesResponse, ListPoliciesPagedResponse> 216 LIST_POLICIES_PAGE_STR_FACT = 217 new PagedListResponseFactory< 218 ListPoliciesRequest, ListPoliciesResponse, ListPoliciesPagedResponse>() { 219 @Override 220 public ApiFuture<ListPoliciesPagedResponse> getFuturePagedResponse( 221 UnaryCallable<ListPoliciesRequest, ListPoliciesResponse> callable, 222 ListPoliciesRequest request, 223 ApiCallContext context, 224 ApiFuture<ListPoliciesResponse> futureResponse) { 225 PageContext<ListPoliciesRequest, ListPoliciesResponse, Policy> pageContext = 226 PageContext.create(callable, LIST_POLICIES_PAGE_STR_DESC, request, context); 227 return ListPoliciesPagedResponse.createAsync(pageContext, futureResponse); 228 } 229 }; 230 231 /** Returns the object with the settings used for calls to listConstraints. */ 232 public PagedCallSettings< 233 ListConstraintsRequest, ListConstraintsResponse, ListConstraintsPagedResponse> listConstraintsSettings()234 listConstraintsSettings() { 235 return listConstraintsSettings; 236 } 237 238 /** Returns the object with the settings used for calls to listPolicies. */ 239 public PagedCallSettings<ListPoliciesRequest, ListPoliciesResponse, ListPoliciesPagedResponse> listPoliciesSettings()240 listPoliciesSettings() { 241 return listPoliciesSettings; 242 } 243 244 /** Returns the object with the settings used for calls to getPolicy. */ getPolicySettings()245 public UnaryCallSettings<GetPolicyRequest, Policy> getPolicySettings() { 246 return getPolicySettings; 247 } 248 249 /** Returns the object with the settings used for calls to getEffectivePolicy. */ getEffectivePolicySettings()250 public UnaryCallSettings<GetEffectivePolicyRequest, Policy> getEffectivePolicySettings() { 251 return getEffectivePolicySettings; 252 } 253 254 /** Returns the object with the settings used for calls to createPolicy. */ createPolicySettings()255 public UnaryCallSettings<CreatePolicyRequest, Policy> createPolicySettings() { 256 return createPolicySettings; 257 } 258 259 /** Returns the object with the settings used for calls to updatePolicy. */ updatePolicySettings()260 public UnaryCallSettings<UpdatePolicyRequest, Policy> updatePolicySettings() { 261 return updatePolicySettings; 262 } 263 264 /** Returns the object with the settings used for calls to deletePolicy. */ deletePolicySettings()265 public UnaryCallSettings<DeletePolicyRequest, Empty> deletePolicySettings() { 266 return deletePolicySettings; 267 } 268 createStub()269 public OrgPolicyStub createStub() throws IOException { 270 if (getTransportChannelProvider() 271 .getTransportName() 272 .equals(GrpcTransportChannel.getGrpcTransportName())) { 273 return GrpcOrgPolicyStub.create(this); 274 } 275 if (getTransportChannelProvider() 276 .getTransportName() 277 .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { 278 return HttpJsonOrgPolicyStub.create(this); 279 } 280 throw new UnsupportedOperationException( 281 String.format( 282 "Transport not supported: %s", getTransportChannelProvider().getTransportName())); 283 } 284 285 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()286 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 287 return InstantiatingExecutorProvider.newBuilder(); 288 } 289 290 /** Returns the default service endpoint. */ getDefaultEndpoint()291 public static String getDefaultEndpoint() { 292 return "orgpolicy.googleapis.com:443"; 293 } 294 295 /** Returns the default mTLS service endpoint. */ getDefaultMtlsEndpoint()296 public static String getDefaultMtlsEndpoint() { 297 return "orgpolicy.mtls.googleapis.com:443"; 298 } 299 300 /** Returns the default service scopes. */ getDefaultServiceScopes()301 public static List<String> getDefaultServiceScopes() { 302 return DEFAULT_SERVICE_SCOPES; 303 } 304 305 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()306 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 307 return GoogleCredentialsProvider.newBuilder() 308 .setScopesToApply(DEFAULT_SERVICE_SCOPES) 309 .setUseJwtAccessWithScope(true); 310 } 311 312 /** Returns a builder for the default gRPC ChannelProvider for this service. */ defaultGrpcTransportProviderBuilder()313 public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { 314 return InstantiatingGrpcChannelProvider.newBuilder() 315 .setMaxInboundMessageSize(Integer.MAX_VALUE); 316 } 317 318 /** Returns a builder for the default REST ChannelProvider for this service. */ 319 @BetaApi 320 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()321 defaultHttpJsonTransportProviderBuilder() { 322 return InstantiatingHttpJsonChannelProvider.newBuilder(); 323 } 324 defaultTransportChannelProvider()325 public static TransportChannelProvider defaultTransportChannelProvider() { 326 return defaultGrpcTransportProviderBuilder().build(); 327 } 328 329 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultGrpcApiClientHeaderProviderBuilder()330 public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { 331 return ApiClientHeaderProvider.newBuilder() 332 .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(OrgPolicyStubSettings.class)) 333 .setTransportToken( 334 GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); 335 } 336 337 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultHttpJsonApiClientHeaderProviderBuilder()338 public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { 339 return ApiClientHeaderProvider.newBuilder() 340 .setGeneratedLibToken("gapic", GaxProperties.getLibraryVersion(OrgPolicyStubSettings.class)) 341 .setTransportToken( 342 GaxHttpJsonProperties.getHttpJsonTokenName(), 343 GaxHttpJsonProperties.getHttpJsonVersion()); 344 } 345 defaultApiClientHeaderProviderBuilder()346 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 347 return OrgPolicyStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); 348 } 349 350 /** Returns a new gRPC builder for this class. */ newBuilder()351 public static Builder newBuilder() { 352 return Builder.createDefault(); 353 } 354 355 /** Returns a new REST builder for this class. */ newHttpJsonBuilder()356 public static Builder newHttpJsonBuilder() { 357 return Builder.createHttpJsonDefault(); 358 } 359 360 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)361 public static Builder newBuilder(ClientContext clientContext) { 362 return new Builder(clientContext); 363 } 364 365 /** Returns a builder containing all the values of this settings class. */ toBuilder()366 public Builder toBuilder() { 367 return new Builder(this); 368 } 369 OrgPolicyStubSettings(Builder settingsBuilder)370 protected OrgPolicyStubSettings(Builder settingsBuilder) throws IOException { 371 super(settingsBuilder); 372 373 listConstraintsSettings = settingsBuilder.listConstraintsSettings().build(); 374 listPoliciesSettings = settingsBuilder.listPoliciesSettings().build(); 375 getPolicySettings = settingsBuilder.getPolicySettings().build(); 376 getEffectivePolicySettings = settingsBuilder.getEffectivePolicySettings().build(); 377 createPolicySettings = settingsBuilder.createPolicySettings().build(); 378 updatePolicySettings = settingsBuilder.updatePolicySettings().build(); 379 deletePolicySettings = settingsBuilder.deletePolicySettings().build(); 380 } 381 382 /** Builder for OrgPolicyStubSettings. */ 383 public static class Builder extends StubSettings.Builder<OrgPolicyStubSettings, Builder> { 384 private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders; 385 private final PagedCallSettings.Builder< 386 ListConstraintsRequest, ListConstraintsResponse, ListConstraintsPagedResponse> 387 listConstraintsSettings; 388 private final PagedCallSettings.Builder< 389 ListPoliciesRequest, ListPoliciesResponse, ListPoliciesPagedResponse> 390 listPoliciesSettings; 391 private final UnaryCallSettings.Builder<GetPolicyRequest, Policy> getPolicySettings; 392 private final UnaryCallSettings.Builder<GetEffectivePolicyRequest, Policy> 393 getEffectivePolicySettings; 394 private final UnaryCallSettings.Builder<CreatePolicyRequest, Policy> createPolicySettings; 395 private final UnaryCallSettings.Builder<UpdatePolicyRequest, Policy> updatePolicySettings; 396 private final UnaryCallSettings.Builder<DeletePolicyRequest, Empty> deletePolicySettings; 397 private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>> 398 RETRYABLE_CODE_DEFINITIONS; 399 400 static { 401 ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions = 402 ImmutableMap.builder(); 403 definitions.put( 404 "retry_policy_0_codes", 405 ImmutableSet.copyOf( 406 Lists.<StatusCode.Code>newArrayList( 407 StatusCode.Code.UNAVAILABLE, StatusCode.Code.DEADLINE_EXCEEDED))); 408 RETRYABLE_CODE_DEFINITIONS = definitions.build(); 409 } 410 411 private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS; 412 413 static { 414 ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder(); 415 RetrySettings settings = null; 416 settings = 417 RetrySettings.newBuilder() 418 .setInitialRetryDelay(Duration.ofMillis(1000L)) 419 .setRetryDelayMultiplier(1.3) 420 .setMaxRetryDelay(Duration.ofMillis(10000L)) 421 .setInitialRpcTimeout(Duration.ofMillis(60000L)) 422 .setRpcTimeoutMultiplier(1.0) 423 .setMaxRpcTimeout(Duration.ofMillis(60000L)) 424 .setTotalTimeout(Duration.ofMillis(60000L)) 425 .build(); 426 definitions.put("retry_policy_0_params", settings); 427 RETRY_PARAM_DEFINITIONS = definitions.build(); 428 } 429 Builder()430 protected Builder() { 431 this(((ClientContext) null)); 432 } 433 Builder(ClientContext clientContext)434 protected Builder(ClientContext clientContext) { 435 super(clientContext); 436 437 listConstraintsSettings = PagedCallSettings.newBuilder(LIST_CONSTRAINTS_PAGE_STR_FACT); 438 listPoliciesSettings = PagedCallSettings.newBuilder(LIST_POLICIES_PAGE_STR_FACT); 439 getPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 440 getEffectivePolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 441 createPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 442 updatePolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 443 deletePolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 444 445 unaryMethodSettingsBuilders = 446 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 447 listConstraintsSettings, 448 listPoliciesSettings, 449 getPolicySettings, 450 getEffectivePolicySettings, 451 createPolicySettings, 452 updatePolicySettings, 453 deletePolicySettings); 454 initDefaults(this); 455 } 456 Builder(OrgPolicyStubSettings settings)457 protected Builder(OrgPolicyStubSettings settings) { 458 super(settings); 459 460 listConstraintsSettings = settings.listConstraintsSettings.toBuilder(); 461 listPoliciesSettings = settings.listPoliciesSettings.toBuilder(); 462 getPolicySettings = settings.getPolicySettings.toBuilder(); 463 getEffectivePolicySettings = settings.getEffectivePolicySettings.toBuilder(); 464 createPolicySettings = settings.createPolicySettings.toBuilder(); 465 updatePolicySettings = settings.updatePolicySettings.toBuilder(); 466 deletePolicySettings = settings.deletePolicySettings.toBuilder(); 467 468 unaryMethodSettingsBuilders = 469 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 470 listConstraintsSettings, 471 listPoliciesSettings, 472 getPolicySettings, 473 getEffectivePolicySettings, 474 createPolicySettings, 475 updatePolicySettings, 476 deletePolicySettings); 477 } 478 createDefault()479 private static Builder createDefault() { 480 Builder builder = new Builder(((ClientContext) null)); 481 482 builder.setTransportChannelProvider(defaultTransportChannelProvider()); 483 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 484 builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); 485 builder.setEndpoint(getDefaultEndpoint()); 486 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 487 builder.setSwitchToMtlsEndpointAllowed(true); 488 489 return initDefaults(builder); 490 } 491 createHttpJsonDefault()492 private static Builder createHttpJsonDefault() { 493 Builder builder = new Builder(((ClientContext) null)); 494 495 builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); 496 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 497 builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); 498 builder.setEndpoint(getDefaultEndpoint()); 499 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 500 builder.setSwitchToMtlsEndpointAllowed(true); 501 502 return initDefaults(builder); 503 } 504 initDefaults(Builder builder)505 private static Builder initDefaults(Builder builder) { 506 builder 507 .listConstraintsSettings() 508 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 509 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 510 511 builder 512 .listPoliciesSettings() 513 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 514 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 515 516 builder 517 .getPolicySettings() 518 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 519 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 520 521 builder 522 .getEffectivePolicySettings() 523 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 524 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 525 526 builder 527 .createPolicySettings() 528 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 529 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 530 531 builder 532 .updatePolicySettings() 533 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 534 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 535 536 builder 537 .deletePolicySettings() 538 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_0_codes")) 539 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_0_params")); 540 541 return builder; 542 } 543 544 /** 545 * Applies the given settings updater function to all of the unary API methods in this service. 546 * 547 * <p>Note: This method does not support applying settings to streaming methods. 548 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)549 public Builder applyToAllUnaryMethods( 550 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 551 super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); 552 return this; 553 } 554 unaryMethodSettingsBuilders()555 public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() { 556 return unaryMethodSettingsBuilders; 557 } 558 559 /** Returns the builder for the settings used for calls to listConstraints. */ 560 public PagedCallSettings.Builder< 561 ListConstraintsRequest, ListConstraintsResponse, ListConstraintsPagedResponse> listConstraintsSettings()562 listConstraintsSettings() { 563 return listConstraintsSettings; 564 } 565 566 /** Returns the builder for the settings used for calls to listPolicies. */ 567 public PagedCallSettings.Builder< 568 ListPoliciesRequest, ListPoliciesResponse, ListPoliciesPagedResponse> listPoliciesSettings()569 listPoliciesSettings() { 570 return listPoliciesSettings; 571 } 572 573 /** Returns the builder for the settings used for calls to getPolicy. */ getPolicySettings()574 public UnaryCallSettings.Builder<GetPolicyRequest, Policy> getPolicySettings() { 575 return getPolicySettings; 576 } 577 578 /** Returns the builder for the settings used for calls to getEffectivePolicy. */ 579 public UnaryCallSettings.Builder<GetEffectivePolicyRequest, Policy> getEffectivePolicySettings()580 getEffectivePolicySettings() { 581 return getEffectivePolicySettings; 582 } 583 584 /** Returns the builder for the settings used for calls to createPolicy. */ createPolicySettings()585 public UnaryCallSettings.Builder<CreatePolicyRequest, Policy> createPolicySettings() { 586 return createPolicySettings; 587 } 588 589 /** Returns the builder for the settings used for calls to updatePolicy. */ updatePolicySettings()590 public UnaryCallSettings.Builder<UpdatePolicyRequest, Policy> updatePolicySettings() { 591 return updatePolicySettings; 592 } 593 594 /** Returns the builder for the settings used for calls to deletePolicy. */ deletePolicySettings()595 public UnaryCallSettings.Builder<DeletePolicyRequest, Empty> deletePolicySettings() { 596 return deletePolicySettings; 597 } 598 599 @Override build()600 public OrgPolicyStubSettings build() throws IOException { 601 return new OrgPolicyStubSettings(this); 602 } 603 } 604 } 605