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.iot.v1.stub; 18 19 import static com.google.cloud.iot.v1.DeviceManagerClient.ListDeviceRegistriesPagedResponse; 20 import static com.google.cloud.iot.v1.DeviceManagerClient.ListDevicesPagedResponse; 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.iot.v1.BindDeviceToGatewayRequest; 48 import com.google.cloud.iot.v1.BindDeviceToGatewayResponse; 49 import com.google.cloud.iot.v1.CreateDeviceRegistryRequest; 50 import com.google.cloud.iot.v1.CreateDeviceRequest; 51 import com.google.cloud.iot.v1.DeleteDeviceRegistryRequest; 52 import com.google.cloud.iot.v1.DeleteDeviceRequest; 53 import com.google.cloud.iot.v1.Device; 54 import com.google.cloud.iot.v1.DeviceConfig; 55 import com.google.cloud.iot.v1.DeviceRegistry; 56 import com.google.cloud.iot.v1.GetDeviceRegistryRequest; 57 import com.google.cloud.iot.v1.GetDeviceRequest; 58 import com.google.cloud.iot.v1.ListDeviceConfigVersionsRequest; 59 import com.google.cloud.iot.v1.ListDeviceConfigVersionsResponse; 60 import com.google.cloud.iot.v1.ListDeviceRegistriesRequest; 61 import com.google.cloud.iot.v1.ListDeviceRegistriesResponse; 62 import com.google.cloud.iot.v1.ListDeviceStatesRequest; 63 import com.google.cloud.iot.v1.ListDeviceStatesResponse; 64 import com.google.cloud.iot.v1.ListDevicesRequest; 65 import com.google.cloud.iot.v1.ListDevicesResponse; 66 import com.google.cloud.iot.v1.ModifyCloudToDeviceConfigRequest; 67 import com.google.cloud.iot.v1.SendCommandToDeviceRequest; 68 import com.google.cloud.iot.v1.SendCommandToDeviceResponse; 69 import com.google.cloud.iot.v1.UnbindDeviceFromGatewayRequest; 70 import com.google.cloud.iot.v1.UnbindDeviceFromGatewayResponse; 71 import com.google.cloud.iot.v1.UpdateDeviceRegistryRequest; 72 import com.google.cloud.iot.v1.UpdateDeviceRequest; 73 import com.google.common.collect.ImmutableList; 74 import com.google.common.collect.ImmutableMap; 75 import com.google.common.collect.ImmutableSet; 76 import com.google.common.collect.Lists; 77 import com.google.iam.v1.GetIamPolicyRequest; 78 import com.google.iam.v1.Policy; 79 import com.google.iam.v1.SetIamPolicyRequest; 80 import com.google.iam.v1.TestIamPermissionsRequest; 81 import com.google.iam.v1.TestIamPermissionsResponse; 82 import com.google.protobuf.Empty; 83 import java.io.IOException; 84 import java.util.List; 85 import javax.annotation.Generated; 86 import org.threeten.bp.Duration; 87 88 // AUTO-GENERATED DOCUMENTATION AND CLASS. 89 /** 90 * Settings class to configure an instance of {@link DeviceManagerStub}. 91 * 92 * <p>The default instance has everything set to sensible defaults: 93 * 94 * <ul> 95 * <li>The default service address (cloudiot.googleapis.com) and default port (443) are used. 96 * <li>Credentials are acquired automatically through Application Default Credentials. 97 * <li>Retries are configured for idempotent methods but not for non-idempotent methods. 98 * </ul> 99 * 100 * <p>The builder of this class is recursive, so contained classes are themselves builders. When 101 * build() is called, the tree of builders is called to create the complete settings object. 102 * 103 * <p>For example, to set the total timeout of createDeviceRegistry to 30 seconds: 104 * 105 * <pre>{@code 106 * // This snippet has been automatically generated and should be regarded as a code template only. 107 * // It will require modifications to work: 108 * // - It may require correct/in-range values for request initialization. 109 * // - It may require specifying regional endpoints when creating the service client as shown in 110 * // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library 111 * DeviceManagerStubSettings.Builder deviceManagerSettingsBuilder = 112 * DeviceManagerStubSettings.newBuilder(); 113 * deviceManagerSettingsBuilder 114 * .createDeviceRegistrySettings() 115 * .setRetrySettings( 116 * deviceManagerSettingsBuilder 117 * .createDeviceRegistrySettings() 118 * .getRetrySettings() 119 * .toBuilder() 120 * .setTotalTimeout(Duration.ofSeconds(30)) 121 * .build()); 122 * DeviceManagerStubSettings deviceManagerSettings = deviceManagerSettingsBuilder.build(); 123 * }</pre> 124 */ 125 @Generated("by gapic-generator-java") 126 public class DeviceManagerStubSettings extends StubSettings<DeviceManagerStubSettings> { 127 /** The default scopes of the service. */ 128 private static final ImmutableList<String> DEFAULT_SERVICE_SCOPES = 129 ImmutableList.<String>builder() 130 .add("https://www.googleapis.com/auth/cloud-platform") 131 .add("https://www.googleapis.com/auth/cloudiot") 132 .build(); 133 134 private final UnaryCallSettings<CreateDeviceRegistryRequest, DeviceRegistry> 135 createDeviceRegistrySettings; 136 private final UnaryCallSettings<GetDeviceRegistryRequest, DeviceRegistry> 137 getDeviceRegistrySettings; 138 private final UnaryCallSettings<UpdateDeviceRegistryRequest, DeviceRegistry> 139 updateDeviceRegistrySettings; 140 private final UnaryCallSettings<DeleteDeviceRegistryRequest, Empty> deleteDeviceRegistrySettings; 141 private final PagedCallSettings< 142 ListDeviceRegistriesRequest, 143 ListDeviceRegistriesResponse, 144 ListDeviceRegistriesPagedResponse> 145 listDeviceRegistriesSettings; 146 private final UnaryCallSettings<CreateDeviceRequest, Device> createDeviceSettings; 147 private final UnaryCallSettings<GetDeviceRequest, Device> getDeviceSettings; 148 private final UnaryCallSettings<UpdateDeviceRequest, Device> updateDeviceSettings; 149 private final UnaryCallSettings<DeleteDeviceRequest, Empty> deleteDeviceSettings; 150 private final PagedCallSettings<ListDevicesRequest, ListDevicesResponse, ListDevicesPagedResponse> 151 listDevicesSettings; 152 private final UnaryCallSettings<ModifyCloudToDeviceConfigRequest, DeviceConfig> 153 modifyCloudToDeviceConfigSettings; 154 private final UnaryCallSettings<ListDeviceConfigVersionsRequest, ListDeviceConfigVersionsResponse> 155 listDeviceConfigVersionsSettings; 156 private final UnaryCallSettings<ListDeviceStatesRequest, ListDeviceStatesResponse> 157 listDeviceStatesSettings; 158 private final UnaryCallSettings<SetIamPolicyRequest, Policy> setIamPolicySettings; 159 private final UnaryCallSettings<GetIamPolicyRequest, Policy> getIamPolicySettings; 160 private final UnaryCallSettings<TestIamPermissionsRequest, TestIamPermissionsResponse> 161 testIamPermissionsSettings; 162 private final UnaryCallSettings<SendCommandToDeviceRequest, SendCommandToDeviceResponse> 163 sendCommandToDeviceSettings; 164 private final UnaryCallSettings<BindDeviceToGatewayRequest, BindDeviceToGatewayResponse> 165 bindDeviceToGatewaySettings; 166 private final UnaryCallSettings<UnbindDeviceFromGatewayRequest, UnbindDeviceFromGatewayResponse> 167 unbindDeviceFromGatewaySettings; 168 169 private static final PagedListDescriptor< 170 ListDeviceRegistriesRequest, ListDeviceRegistriesResponse, DeviceRegistry> 171 LIST_DEVICE_REGISTRIES_PAGE_STR_DESC = 172 new PagedListDescriptor< 173 ListDeviceRegistriesRequest, ListDeviceRegistriesResponse, DeviceRegistry>() { 174 @Override 175 public String emptyToken() { 176 return ""; 177 } 178 179 @Override 180 public ListDeviceRegistriesRequest injectToken( 181 ListDeviceRegistriesRequest payload, String token) { 182 return ListDeviceRegistriesRequest.newBuilder(payload).setPageToken(token).build(); 183 } 184 185 @Override 186 public ListDeviceRegistriesRequest injectPageSize( 187 ListDeviceRegistriesRequest payload, int pageSize) { 188 return ListDeviceRegistriesRequest.newBuilder(payload).setPageSize(pageSize).build(); 189 } 190 191 @Override 192 public Integer extractPageSize(ListDeviceRegistriesRequest payload) { 193 return payload.getPageSize(); 194 } 195 196 @Override 197 public String extractNextToken(ListDeviceRegistriesResponse payload) { 198 return payload.getNextPageToken(); 199 } 200 201 @Override 202 public Iterable<DeviceRegistry> extractResources(ListDeviceRegistriesResponse payload) { 203 return payload.getDeviceRegistriesList() == null 204 ? ImmutableList.<DeviceRegistry>of() 205 : payload.getDeviceRegistriesList(); 206 } 207 }; 208 209 private static final PagedListDescriptor<ListDevicesRequest, ListDevicesResponse, Device> 210 LIST_DEVICES_PAGE_STR_DESC = 211 new PagedListDescriptor<ListDevicesRequest, ListDevicesResponse, Device>() { 212 @Override 213 public String emptyToken() { 214 return ""; 215 } 216 217 @Override 218 public ListDevicesRequest injectToken(ListDevicesRequest payload, String token) { 219 return ListDevicesRequest.newBuilder(payload).setPageToken(token).build(); 220 } 221 222 @Override 223 public ListDevicesRequest injectPageSize(ListDevicesRequest payload, int pageSize) { 224 return ListDevicesRequest.newBuilder(payload).setPageSize(pageSize).build(); 225 } 226 227 @Override 228 public Integer extractPageSize(ListDevicesRequest payload) { 229 return payload.getPageSize(); 230 } 231 232 @Override 233 public String extractNextToken(ListDevicesResponse payload) { 234 return payload.getNextPageToken(); 235 } 236 237 @Override 238 public Iterable<Device> extractResources(ListDevicesResponse payload) { 239 return payload.getDevicesList() == null 240 ? ImmutableList.<Device>of() 241 : payload.getDevicesList(); 242 } 243 }; 244 245 private static final PagedListResponseFactory< 246 ListDeviceRegistriesRequest, 247 ListDeviceRegistriesResponse, 248 ListDeviceRegistriesPagedResponse> 249 LIST_DEVICE_REGISTRIES_PAGE_STR_FACT = 250 new PagedListResponseFactory< 251 ListDeviceRegistriesRequest, 252 ListDeviceRegistriesResponse, 253 ListDeviceRegistriesPagedResponse>() { 254 @Override 255 public ApiFuture<ListDeviceRegistriesPagedResponse> getFuturePagedResponse( 256 UnaryCallable<ListDeviceRegistriesRequest, ListDeviceRegistriesResponse> callable, 257 ListDeviceRegistriesRequest request, 258 ApiCallContext context, 259 ApiFuture<ListDeviceRegistriesResponse> futureResponse) { 260 PageContext<ListDeviceRegistriesRequest, ListDeviceRegistriesResponse, DeviceRegistry> 261 pageContext = 262 PageContext.create( 263 callable, LIST_DEVICE_REGISTRIES_PAGE_STR_DESC, request, context); 264 return ListDeviceRegistriesPagedResponse.createAsync(pageContext, futureResponse); 265 } 266 }; 267 268 private static final PagedListResponseFactory< 269 ListDevicesRequest, ListDevicesResponse, ListDevicesPagedResponse> 270 LIST_DEVICES_PAGE_STR_FACT = 271 new PagedListResponseFactory< 272 ListDevicesRequest, ListDevicesResponse, ListDevicesPagedResponse>() { 273 @Override 274 public ApiFuture<ListDevicesPagedResponse> getFuturePagedResponse( 275 UnaryCallable<ListDevicesRequest, ListDevicesResponse> callable, 276 ListDevicesRequest request, 277 ApiCallContext context, 278 ApiFuture<ListDevicesResponse> futureResponse) { 279 PageContext<ListDevicesRequest, ListDevicesResponse, Device> pageContext = 280 PageContext.create(callable, LIST_DEVICES_PAGE_STR_DESC, request, context); 281 return ListDevicesPagedResponse.createAsync(pageContext, futureResponse); 282 } 283 }; 284 285 /** Returns the object with the settings used for calls to createDeviceRegistry. */ 286 public UnaryCallSettings<CreateDeviceRegistryRequest, DeviceRegistry> createDeviceRegistrySettings()287 createDeviceRegistrySettings() { 288 return createDeviceRegistrySettings; 289 } 290 291 /** Returns the object with the settings used for calls to getDeviceRegistry. */ getDeviceRegistrySettings()292 public UnaryCallSettings<GetDeviceRegistryRequest, DeviceRegistry> getDeviceRegistrySettings() { 293 return getDeviceRegistrySettings; 294 } 295 296 /** Returns the object with the settings used for calls to updateDeviceRegistry. */ 297 public UnaryCallSettings<UpdateDeviceRegistryRequest, DeviceRegistry> updateDeviceRegistrySettings()298 updateDeviceRegistrySettings() { 299 return updateDeviceRegistrySettings; 300 } 301 302 /** Returns the object with the settings used for calls to deleteDeviceRegistry. */ deleteDeviceRegistrySettings()303 public UnaryCallSettings<DeleteDeviceRegistryRequest, Empty> deleteDeviceRegistrySettings() { 304 return deleteDeviceRegistrySettings; 305 } 306 307 /** Returns the object with the settings used for calls to listDeviceRegistries. */ 308 public PagedCallSettings< 309 ListDeviceRegistriesRequest, 310 ListDeviceRegistriesResponse, 311 ListDeviceRegistriesPagedResponse> listDeviceRegistriesSettings()312 listDeviceRegistriesSettings() { 313 return listDeviceRegistriesSettings; 314 } 315 316 /** Returns the object with the settings used for calls to createDevice. */ createDeviceSettings()317 public UnaryCallSettings<CreateDeviceRequest, Device> createDeviceSettings() { 318 return createDeviceSettings; 319 } 320 321 /** Returns the object with the settings used for calls to getDevice. */ getDeviceSettings()322 public UnaryCallSettings<GetDeviceRequest, Device> getDeviceSettings() { 323 return getDeviceSettings; 324 } 325 326 /** Returns the object with the settings used for calls to updateDevice. */ updateDeviceSettings()327 public UnaryCallSettings<UpdateDeviceRequest, Device> updateDeviceSettings() { 328 return updateDeviceSettings; 329 } 330 331 /** Returns the object with the settings used for calls to deleteDevice. */ deleteDeviceSettings()332 public UnaryCallSettings<DeleteDeviceRequest, Empty> deleteDeviceSettings() { 333 return deleteDeviceSettings; 334 } 335 336 /** Returns the object with the settings used for calls to listDevices. */ 337 public PagedCallSettings<ListDevicesRequest, ListDevicesResponse, ListDevicesPagedResponse> listDevicesSettings()338 listDevicesSettings() { 339 return listDevicesSettings; 340 } 341 342 /** Returns the object with the settings used for calls to modifyCloudToDeviceConfig. */ 343 public UnaryCallSettings<ModifyCloudToDeviceConfigRequest, DeviceConfig> modifyCloudToDeviceConfigSettings()344 modifyCloudToDeviceConfigSettings() { 345 return modifyCloudToDeviceConfigSettings; 346 } 347 348 /** Returns the object with the settings used for calls to listDeviceConfigVersions. */ 349 public UnaryCallSettings<ListDeviceConfigVersionsRequest, ListDeviceConfigVersionsResponse> listDeviceConfigVersionsSettings()350 listDeviceConfigVersionsSettings() { 351 return listDeviceConfigVersionsSettings; 352 } 353 354 /** Returns the object with the settings used for calls to listDeviceStates. */ 355 public UnaryCallSettings<ListDeviceStatesRequest, ListDeviceStatesResponse> listDeviceStatesSettings()356 listDeviceStatesSettings() { 357 return listDeviceStatesSettings; 358 } 359 360 /** Returns the object with the settings used for calls to setIamPolicy. */ setIamPolicySettings()361 public UnaryCallSettings<SetIamPolicyRequest, Policy> setIamPolicySettings() { 362 return setIamPolicySettings; 363 } 364 365 /** Returns the object with the settings used for calls to getIamPolicy. */ getIamPolicySettings()366 public UnaryCallSettings<GetIamPolicyRequest, Policy> getIamPolicySettings() { 367 return getIamPolicySettings; 368 } 369 370 /** Returns the object with the settings used for calls to testIamPermissions. */ 371 public UnaryCallSettings<TestIamPermissionsRequest, TestIamPermissionsResponse> testIamPermissionsSettings()372 testIamPermissionsSettings() { 373 return testIamPermissionsSettings; 374 } 375 376 /** Returns the object with the settings used for calls to sendCommandToDevice. */ 377 public UnaryCallSettings<SendCommandToDeviceRequest, SendCommandToDeviceResponse> sendCommandToDeviceSettings()378 sendCommandToDeviceSettings() { 379 return sendCommandToDeviceSettings; 380 } 381 382 /** Returns the object with the settings used for calls to bindDeviceToGateway. */ 383 public UnaryCallSettings<BindDeviceToGatewayRequest, BindDeviceToGatewayResponse> bindDeviceToGatewaySettings()384 bindDeviceToGatewaySettings() { 385 return bindDeviceToGatewaySettings; 386 } 387 388 /** Returns the object with the settings used for calls to unbindDeviceFromGateway. */ 389 public UnaryCallSettings<UnbindDeviceFromGatewayRequest, UnbindDeviceFromGatewayResponse> unbindDeviceFromGatewaySettings()390 unbindDeviceFromGatewaySettings() { 391 return unbindDeviceFromGatewaySettings; 392 } 393 createStub()394 public DeviceManagerStub createStub() throws IOException { 395 if (getTransportChannelProvider() 396 .getTransportName() 397 .equals(GrpcTransportChannel.getGrpcTransportName())) { 398 return GrpcDeviceManagerStub.create(this); 399 } 400 if (getTransportChannelProvider() 401 .getTransportName() 402 .equals(HttpJsonTransportChannel.getHttpJsonTransportName())) { 403 return HttpJsonDeviceManagerStub.create(this); 404 } 405 throw new UnsupportedOperationException( 406 String.format( 407 "Transport not supported: %s", getTransportChannelProvider().getTransportName())); 408 } 409 410 /** Returns a builder for the default ExecutorProvider for this service. */ defaultExecutorProviderBuilder()411 public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { 412 return InstantiatingExecutorProvider.newBuilder(); 413 } 414 415 /** Returns the default service endpoint. */ getDefaultEndpoint()416 public static String getDefaultEndpoint() { 417 return "cloudiot.googleapis.com:443"; 418 } 419 420 /** Returns the default mTLS service endpoint. */ getDefaultMtlsEndpoint()421 public static String getDefaultMtlsEndpoint() { 422 return "cloudiot.mtls.googleapis.com:443"; 423 } 424 425 /** Returns the default service scopes. */ getDefaultServiceScopes()426 public static List<String> getDefaultServiceScopes() { 427 return DEFAULT_SERVICE_SCOPES; 428 } 429 430 /** Returns a builder for the default credentials for this service. */ defaultCredentialsProviderBuilder()431 public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { 432 return GoogleCredentialsProvider.newBuilder() 433 .setScopesToApply(DEFAULT_SERVICE_SCOPES) 434 .setUseJwtAccessWithScope(true); 435 } 436 437 /** Returns a builder for the default gRPC ChannelProvider for this service. */ defaultGrpcTransportProviderBuilder()438 public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { 439 return InstantiatingGrpcChannelProvider.newBuilder() 440 .setMaxInboundMessageSize(Integer.MAX_VALUE); 441 } 442 443 /** Returns a builder for the default REST ChannelProvider for this service. */ 444 @BetaApi 445 public static InstantiatingHttpJsonChannelProvider.Builder defaultHttpJsonTransportProviderBuilder()446 defaultHttpJsonTransportProviderBuilder() { 447 return InstantiatingHttpJsonChannelProvider.newBuilder(); 448 } 449 defaultTransportChannelProvider()450 public static TransportChannelProvider defaultTransportChannelProvider() { 451 return defaultGrpcTransportProviderBuilder().build(); 452 } 453 454 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultGrpcApiClientHeaderProviderBuilder()455 public static ApiClientHeaderProvider.Builder defaultGrpcApiClientHeaderProviderBuilder() { 456 return ApiClientHeaderProvider.newBuilder() 457 .setGeneratedLibToken( 458 "gapic", GaxProperties.getLibraryVersion(DeviceManagerStubSettings.class)) 459 .setTransportToken( 460 GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); 461 } 462 463 @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") defaultHttpJsonApiClientHeaderProviderBuilder()464 public static ApiClientHeaderProvider.Builder defaultHttpJsonApiClientHeaderProviderBuilder() { 465 return ApiClientHeaderProvider.newBuilder() 466 .setGeneratedLibToken( 467 "gapic", GaxProperties.getLibraryVersion(DeviceManagerStubSettings.class)) 468 .setTransportToken( 469 GaxHttpJsonProperties.getHttpJsonTokenName(), 470 GaxHttpJsonProperties.getHttpJsonVersion()); 471 } 472 defaultApiClientHeaderProviderBuilder()473 public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { 474 return DeviceManagerStubSettings.defaultGrpcApiClientHeaderProviderBuilder(); 475 } 476 477 /** Returns a new gRPC builder for this class. */ newBuilder()478 public static Builder newBuilder() { 479 return Builder.createDefault(); 480 } 481 482 /** Returns a new REST builder for this class. */ newHttpJsonBuilder()483 public static Builder newHttpJsonBuilder() { 484 return Builder.createHttpJsonDefault(); 485 } 486 487 /** Returns a new builder for this class. */ newBuilder(ClientContext clientContext)488 public static Builder newBuilder(ClientContext clientContext) { 489 return new Builder(clientContext); 490 } 491 492 /** Returns a builder containing all the values of this settings class. */ toBuilder()493 public Builder toBuilder() { 494 return new Builder(this); 495 } 496 DeviceManagerStubSettings(Builder settingsBuilder)497 protected DeviceManagerStubSettings(Builder settingsBuilder) throws IOException { 498 super(settingsBuilder); 499 500 createDeviceRegistrySettings = settingsBuilder.createDeviceRegistrySettings().build(); 501 getDeviceRegistrySettings = settingsBuilder.getDeviceRegistrySettings().build(); 502 updateDeviceRegistrySettings = settingsBuilder.updateDeviceRegistrySettings().build(); 503 deleteDeviceRegistrySettings = settingsBuilder.deleteDeviceRegistrySettings().build(); 504 listDeviceRegistriesSettings = settingsBuilder.listDeviceRegistriesSettings().build(); 505 createDeviceSettings = settingsBuilder.createDeviceSettings().build(); 506 getDeviceSettings = settingsBuilder.getDeviceSettings().build(); 507 updateDeviceSettings = settingsBuilder.updateDeviceSettings().build(); 508 deleteDeviceSettings = settingsBuilder.deleteDeviceSettings().build(); 509 listDevicesSettings = settingsBuilder.listDevicesSettings().build(); 510 modifyCloudToDeviceConfigSettings = settingsBuilder.modifyCloudToDeviceConfigSettings().build(); 511 listDeviceConfigVersionsSettings = settingsBuilder.listDeviceConfigVersionsSettings().build(); 512 listDeviceStatesSettings = settingsBuilder.listDeviceStatesSettings().build(); 513 setIamPolicySettings = settingsBuilder.setIamPolicySettings().build(); 514 getIamPolicySettings = settingsBuilder.getIamPolicySettings().build(); 515 testIamPermissionsSettings = settingsBuilder.testIamPermissionsSettings().build(); 516 sendCommandToDeviceSettings = settingsBuilder.sendCommandToDeviceSettings().build(); 517 bindDeviceToGatewaySettings = settingsBuilder.bindDeviceToGatewaySettings().build(); 518 unbindDeviceFromGatewaySettings = settingsBuilder.unbindDeviceFromGatewaySettings().build(); 519 } 520 521 /** Builder for DeviceManagerStubSettings. */ 522 public static class Builder extends StubSettings.Builder<DeviceManagerStubSettings, Builder> { 523 private final ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders; 524 private final UnaryCallSettings.Builder<CreateDeviceRegistryRequest, DeviceRegistry> 525 createDeviceRegistrySettings; 526 private final UnaryCallSettings.Builder<GetDeviceRegistryRequest, DeviceRegistry> 527 getDeviceRegistrySettings; 528 private final UnaryCallSettings.Builder<UpdateDeviceRegistryRequest, DeviceRegistry> 529 updateDeviceRegistrySettings; 530 private final UnaryCallSettings.Builder<DeleteDeviceRegistryRequest, Empty> 531 deleteDeviceRegistrySettings; 532 private final PagedCallSettings.Builder< 533 ListDeviceRegistriesRequest, 534 ListDeviceRegistriesResponse, 535 ListDeviceRegistriesPagedResponse> 536 listDeviceRegistriesSettings; 537 private final UnaryCallSettings.Builder<CreateDeviceRequest, Device> createDeviceSettings; 538 private final UnaryCallSettings.Builder<GetDeviceRequest, Device> getDeviceSettings; 539 private final UnaryCallSettings.Builder<UpdateDeviceRequest, Device> updateDeviceSettings; 540 private final UnaryCallSettings.Builder<DeleteDeviceRequest, Empty> deleteDeviceSettings; 541 private final PagedCallSettings.Builder< 542 ListDevicesRequest, ListDevicesResponse, ListDevicesPagedResponse> 543 listDevicesSettings; 544 private final UnaryCallSettings.Builder<ModifyCloudToDeviceConfigRequest, DeviceConfig> 545 modifyCloudToDeviceConfigSettings; 546 private final UnaryCallSettings.Builder< 547 ListDeviceConfigVersionsRequest, ListDeviceConfigVersionsResponse> 548 listDeviceConfigVersionsSettings; 549 private final UnaryCallSettings.Builder<ListDeviceStatesRequest, ListDeviceStatesResponse> 550 listDeviceStatesSettings; 551 private final UnaryCallSettings.Builder<SetIamPolicyRequest, Policy> setIamPolicySettings; 552 private final UnaryCallSettings.Builder<GetIamPolicyRequest, Policy> getIamPolicySettings; 553 private final UnaryCallSettings.Builder<TestIamPermissionsRequest, TestIamPermissionsResponse> 554 testIamPermissionsSettings; 555 private final UnaryCallSettings.Builder<SendCommandToDeviceRequest, SendCommandToDeviceResponse> 556 sendCommandToDeviceSettings; 557 private final UnaryCallSettings.Builder<BindDeviceToGatewayRequest, BindDeviceToGatewayResponse> 558 bindDeviceToGatewaySettings; 559 private final UnaryCallSettings.Builder< 560 UnbindDeviceFromGatewayRequest, UnbindDeviceFromGatewayResponse> 561 unbindDeviceFromGatewaySettings; 562 private static final ImmutableMap<String, ImmutableSet<StatusCode.Code>> 563 RETRYABLE_CODE_DEFINITIONS; 564 565 static { 566 ImmutableMap.Builder<String, ImmutableSet<StatusCode.Code>> definitions = 567 ImmutableMap.builder(); 568 definitions.put( 569 "no_retry_0_codes", ImmutableSet.copyOf(Lists.<StatusCode.Code>newArrayList())); 570 definitions.put( 571 "retry_policy_1_codes", 572 ImmutableSet.copyOf( 573 Lists.<StatusCode.Code>newArrayList( 574 StatusCode.Code.UNAVAILABLE, StatusCode.Code.DEADLINE_EXCEEDED))); 575 definitions.put( 576 "retry_policy_2_codes", 577 ImmutableSet.copyOf( 578 Lists.<StatusCode.Code>newArrayList( 579 StatusCode.Code.UNAVAILABLE, 580 StatusCode.Code.DEADLINE_EXCEEDED, 581 StatusCode.Code.RESOURCE_EXHAUSTED))); 582 RETRYABLE_CODE_DEFINITIONS = definitions.build(); 583 } 584 585 private static final ImmutableMap<String, RetrySettings> RETRY_PARAM_DEFINITIONS; 586 587 static { 588 ImmutableMap.Builder<String, RetrySettings> definitions = ImmutableMap.builder(); 589 RetrySettings settings = null; 590 settings = 591 RetrySettings.newBuilder() 592 .setInitialRpcTimeout(Duration.ofMillis(120000L)) 593 .setRpcTimeoutMultiplier(1.0) 594 .setMaxRpcTimeout(Duration.ofMillis(120000L)) 595 .setTotalTimeout(Duration.ofMillis(120000L)) 596 .build(); 597 definitions.put("no_retry_0_params", settings); 598 settings = 599 RetrySettings.newBuilder() 600 .setInitialRetryDelay(Duration.ofMillis(100L)) 601 .setRetryDelayMultiplier(1.3) 602 .setMaxRetryDelay(Duration.ofMillis(60000L)) 603 .setInitialRpcTimeout(Duration.ofMillis(120000L)) 604 .setRpcTimeoutMultiplier(1.0) 605 .setMaxRpcTimeout(Duration.ofMillis(120000L)) 606 .setTotalTimeout(Duration.ofMillis(120000L)) 607 .build(); 608 definitions.put("retry_policy_1_params", settings); 609 settings = 610 RetrySettings.newBuilder() 611 .setInitialRetryDelay(Duration.ofMillis(1000L)) 612 .setRetryDelayMultiplier(1.3) 613 .setMaxRetryDelay(Duration.ofMillis(60000L)) 614 .setInitialRpcTimeout(Duration.ofMillis(120000L)) 615 .setRpcTimeoutMultiplier(1.0) 616 .setMaxRpcTimeout(Duration.ofMillis(120000L)) 617 .setTotalTimeout(Duration.ofMillis(120000L)) 618 .build(); 619 definitions.put("retry_policy_2_params", settings); 620 RETRY_PARAM_DEFINITIONS = definitions.build(); 621 } 622 Builder()623 protected Builder() { 624 this(((ClientContext) null)); 625 } 626 Builder(ClientContext clientContext)627 protected Builder(ClientContext clientContext) { 628 super(clientContext); 629 630 createDeviceRegistrySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 631 getDeviceRegistrySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 632 updateDeviceRegistrySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 633 deleteDeviceRegistrySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 634 listDeviceRegistriesSettings = 635 PagedCallSettings.newBuilder(LIST_DEVICE_REGISTRIES_PAGE_STR_FACT); 636 createDeviceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 637 getDeviceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 638 updateDeviceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 639 deleteDeviceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 640 listDevicesSettings = PagedCallSettings.newBuilder(LIST_DEVICES_PAGE_STR_FACT); 641 modifyCloudToDeviceConfigSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 642 listDeviceConfigVersionsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 643 listDeviceStatesSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 644 setIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 645 getIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 646 testIamPermissionsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 647 sendCommandToDeviceSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 648 bindDeviceToGatewaySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 649 unbindDeviceFromGatewaySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); 650 651 unaryMethodSettingsBuilders = 652 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 653 createDeviceRegistrySettings, 654 getDeviceRegistrySettings, 655 updateDeviceRegistrySettings, 656 deleteDeviceRegistrySettings, 657 listDeviceRegistriesSettings, 658 createDeviceSettings, 659 getDeviceSettings, 660 updateDeviceSettings, 661 deleteDeviceSettings, 662 listDevicesSettings, 663 modifyCloudToDeviceConfigSettings, 664 listDeviceConfigVersionsSettings, 665 listDeviceStatesSettings, 666 setIamPolicySettings, 667 getIamPolicySettings, 668 testIamPermissionsSettings, 669 sendCommandToDeviceSettings, 670 bindDeviceToGatewaySettings, 671 unbindDeviceFromGatewaySettings); 672 initDefaults(this); 673 } 674 Builder(DeviceManagerStubSettings settings)675 protected Builder(DeviceManagerStubSettings settings) { 676 super(settings); 677 678 createDeviceRegistrySettings = settings.createDeviceRegistrySettings.toBuilder(); 679 getDeviceRegistrySettings = settings.getDeviceRegistrySettings.toBuilder(); 680 updateDeviceRegistrySettings = settings.updateDeviceRegistrySettings.toBuilder(); 681 deleteDeviceRegistrySettings = settings.deleteDeviceRegistrySettings.toBuilder(); 682 listDeviceRegistriesSettings = settings.listDeviceRegistriesSettings.toBuilder(); 683 createDeviceSettings = settings.createDeviceSettings.toBuilder(); 684 getDeviceSettings = settings.getDeviceSettings.toBuilder(); 685 updateDeviceSettings = settings.updateDeviceSettings.toBuilder(); 686 deleteDeviceSettings = settings.deleteDeviceSettings.toBuilder(); 687 listDevicesSettings = settings.listDevicesSettings.toBuilder(); 688 modifyCloudToDeviceConfigSettings = settings.modifyCloudToDeviceConfigSettings.toBuilder(); 689 listDeviceConfigVersionsSettings = settings.listDeviceConfigVersionsSettings.toBuilder(); 690 listDeviceStatesSettings = settings.listDeviceStatesSettings.toBuilder(); 691 setIamPolicySettings = settings.setIamPolicySettings.toBuilder(); 692 getIamPolicySettings = settings.getIamPolicySettings.toBuilder(); 693 testIamPermissionsSettings = settings.testIamPermissionsSettings.toBuilder(); 694 sendCommandToDeviceSettings = settings.sendCommandToDeviceSettings.toBuilder(); 695 bindDeviceToGatewaySettings = settings.bindDeviceToGatewaySettings.toBuilder(); 696 unbindDeviceFromGatewaySettings = settings.unbindDeviceFromGatewaySettings.toBuilder(); 697 698 unaryMethodSettingsBuilders = 699 ImmutableList.<UnaryCallSettings.Builder<?, ?>>of( 700 createDeviceRegistrySettings, 701 getDeviceRegistrySettings, 702 updateDeviceRegistrySettings, 703 deleteDeviceRegistrySettings, 704 listDeviceRegistriesSettings, 705 createDeviceSettings, 706 getDeviceSettings, 707 updateDeviceSettings, 708 deleteDeviceSettings, 709 listDevicesSettings, 710 modifyCloudToDeviceConfigSettings, 711 listDeviceConfigVersionsSettings, 712 listDeviceStatesSettings, 713 setIamPolicySettings, 714 getIamPolicySettings, 715 testIamPermissionsSettings, 716 sendCommandToDeviceSettings, 717 bindDeviceToGatewaySettings, 718 unbindDeviceFromGatewaySettings); 719 } 720 createDefault()721 private static Builder createDefault() { 722 Builder builder = new Builder(((ClientContext) null)); 723 724 builder.setTransportChannelProvider(defaultTransportChannelProvider()); 725 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 726 builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); 727 builder.setEndpoint(getDefaultEndpoint()); 728 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 729 builder.setSwitchToMtlsEndpointAllowed(true); 730 731 return initDefaults(builder); 732 } 733 createHttpJsonDefault()734 private static Builder createHttpJsonDefault() { 735 Builder builder = new Builder(((ClientContext) null)); 736 737 builder.setTransportChannelProvider(defaultHttpJsonTransportProviderBuilder().build()); 738 builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); 739 builder.setInternalHeaderProvider(defaultHttpJsonApiClientHeaderProviderBuilder().build()); 740 builder.setEndpoint(getDefaultEndpoint()); 741 builder.setMtlsEndpoint(getDefaultMtlsEndpoint()); 742 builder.setSwitchToMtlsEndpointAllowed(true); 743 744 return initDefaults(builder); 745 } 746 initDefaults(Builder builder)747 private static Builder initDefaults(Builder builder) { 748 builder 749 .createDeviceRegistrySettings() 750 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 751 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 752 753 builder 754 .getDeviceRegistrySettings() 755 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) 756 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); 757 758 builder 759 .updateDeviceRegistrySettings() 760 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 761 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 762 763 builder 764 .deleteDeviceRegistrySettings() 765 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) 766 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); 767 768 builder 769 .listDeviceRegistriesSettings() 770 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) 771 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); 772 773 builder 774 .createDeviceSettings() 775 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 776 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 777 778 builder 779 .getDeviceSettings() 780 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) 781 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); 782 783 builder 784 .updateDeviceSettings() 785 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 786 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 787 788 builder 789 .deleteDeviceSettings() 790 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) 791 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); 792 793 builder 794 .listDevicesSettings() 795 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) 796 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); 797 798 builder 799 .modifyCloudToDeviceConfigSettings() 800 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes")) 801 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params")); 802 803 builder 804 .listDeviceConfigVersionsSettings() 805 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) 806 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); 807 808 builder 809 .listDeviceStatesSettings() 810 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes")) 811 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params")); 812 813 builder 814 .setIamPolicySettings() 815 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 816 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 817 818 builder 819 .getIamPolicySettings() 820 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 821 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 822 823 builder 824 .testIamPermissionsSettings() 825 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 826 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 827 828 builder 829 .sendCommandToDeviceSettings() 830 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_2_codes")) 831 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_2_params")); 832 833 builder 834 .bindDeviceToGatewaySettings() 835 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 836 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 837 838 builder 839 .unbindDeviceFromGatewaySettings() 840 .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes")) 841 .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_0_params")); 842 843 return builder; 844 } 845 846 /** 847 * Applies the given settings updater function to all of the unary API methods in this service. 848 * 849 * <p>Note: This method does not support applying settings to streaming methods. 850 */ applyToAllUnaryMethods( ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater)851 public Builder applyToAllUnaryMethods( 852 ApiFunction<UnaryCallSettings.Builder<?, ?>, Void> settingsUpdater) { 853 super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); 854 return this; 855 } 856 unaryMethodSettingsBuilders()857 public ImmutableList<UnaryCallSettings.Builder<?, ?>> unaryMethodSettingsBuilders() { 858 return unaryMethodSettingsBuilders; 859 } 860 861 /** Returns the builder for the settings used for calls to createDeviceRegistry. */ 862 public UnaryCallSettings.Builder<CreateDeviceRegistryRequest, DeviceRegistry> createDeviceRegistrySettings()863 createDeviceRegistrySettings() { 864 return createDeviceRegistrySettings; 865 } 866 867 /** Returns the builder for the settings used for calls to getDeviceRegistry. */ 868 public UnaryCallSettings.Builder<GetDeviceRegistryRequest, DeviceRegistry> getDeviceRegistrySettings()869 getDeviceRegistrySettings() { 870 return getDeviceRegistrySettings; 871 } 872 873 /** Returns the builder for the settings used for calls to updateDeviceRegistry. */ 874 public UnaryCallSettings.Builder<UpdateDeviceRegistryRequest, DeviceRegistry> updateDeviceRegistrySettings()875 updateDeviceRegistrySettings() { 876 return updateDeviceRegistrySettings; 877 } 878 879 /** Returns the builder for the settings used for calls to deleteDeviceRegistry. */ 880 public UnaryCallSettings.Builder<DeleteDeviceRegistryRequest, Empty> deleteDeviceRegistrySettings()881 deleteDeviceRegistrySettings() { 882 return deleteDeviceRegistrySettings; 883 } 884 885 /** Returns the builder for the settings used for calls to listDeviceRegistries. */ 886 public PagedCallSettings.Builder< 887 ListDeviceRegistriesRequest, 888 ListDeviceRegistriesResponse, 889 ListDeviceRegistriesPagedResponse> listDeviceRegistriesSettings()890 listDeviceRegistriesSettings() { 891 return listDeviceRegistriesSettings; 892 } 893 894 /** Returns the builder for the settings used for calls to createDevice. */ createDeviceSettings()895 public UnaryCallSettings.Builder<CreateDeviceRequest, Device> createDeviceSettings() { 896 return createDeviceSettings; 897 } 898 899 /** Returns the builder for the settings used for calls to getDevice. */ getDeviceSettings()900 public UnaryCallSettings.Builder<GetDeviceRequest, Device> getDeviceSettings() { 901 return getDeviceSettings; 902 } 903 904 /** Returns the builder for the settings used for calls to updateDevice. */ updateDeviceSettings()905 public UnaryCallSettings.Builder<UpdateDeviceRequest, Device> updateDeviceSettings() { 906 return updateDeviceSettings; 907 } 908 909 /** Returns the builder for the settings used for calls to deleteDevice. */ deleteDeviceSettings()910 public UnaryCallSettings.Builder<DeleteDeviceRequest, Empty> deleteDeviceSettings() { 911 return deleteDeviceSettings; 912 } 913 914 /** Returns the builder for the settings used for calls to listDevices. */ 915 public PagedCallSettings.Builder< 916 ListDevicesRequest, ListDevicesResponse, ListDevicesPagedResponse> listDevicesSettings()917 listDevicesSettings() { 918 return listDevicesSettings; 919 } 920 921 /** Returns the builder for the settings used for calls to modifyCloudToDeviceConfig. */ 922 public UnaryCallSettings.Builder<ModifyCloudToDeviceConfigRequest, DeviceConfig> modifyCloudToDeviceConfigSettings()923 modifyCloudToDeviceConfigSettings() { 924 return modifyCloudToDeviceConfigSettings; 925 } 926 927 /** Returns the builder for the settings used for calls to listDeviceConfigVersions. */ 928 public UnaryCallSettings.Builder< 929 ListDeviceConfigVersionsRequest, ListDeviceConfigVersionsResponse> listDeviceConfigVersionsSettings()930 listDeviceConfigVersionsSettings() { 931 return listDeviceConfigVersionsSettings; 932 } 933 934 /** Returns the builder for the settings used for calls to listDeviceStates. */ 935 public UnaryCallSettings.Builder<ListDeviceStatesRequest, ListDeviceStatesResponse> listDeviceStatesSettings()936 listDeviceStatesSettings() { 937 return listDeviceStatesSettings; 938 } 939 940 /** Returns the builder for the settings used for calls to setIamPolicy. */ setIamPolicySettings()941 public UnaryCallSettings.Builder<SetIamPolicyRequest, Policy> setIamPolicySettings() { 942 return setIamPolicySettings; 943 } 944 945 /** Returns the builder for the settings used for calls to getIamPolicy. */ getIamPolicySettings()946 public UnaryCallSettings.Builder<GetIamPolicyRequest, Policy> getIamPolicySettings() { 947 return getIamPolicySettings; 948 } 949 950 /** Returns the builder for the settings used for calls to testIamPermissions. */ 951 public UnaryCallSettings.Builder<TestIamPermissionsRequest, TestIamPermissionsResponse> testIamPermissionsSettings()952 testIamPermissionsSettings() { 953 return testIamPermissionsSettings; 954 } 955 956 /** Returns the builder for the settings used for calls to sendCommandToDevice. */ 957 public UnaryCallSettings.Builder<SendCommandToDeviceRequest, SendCommandToDeviceResponse> sendCommandToDeviceSettings()958 sendCommandToDeviceSettings() { 959 return sendCommandToDeviceSettings; 960 } 961 962 /** Returns the builder for the settings used for calls to bindDeviceToGateway. */ 963 public UnaryCallSettings.Builder<BindDeviceToGatewayRequest, BindDeviceToGatewayResponse> bindDeviceToGatewaySettings()964 bindDeviceToGatewaySettings() { 965 return bindDeviceToGatewaySettings; 966 } 967 968 /** Returns the builder for the settings used for calls to unbindDeviceFromGateway. */ 969 public UnaryCallSettings.Builder< 970 UnbindDeviceFromGatewayRequest, UnbindDeviceFromGatewayResponse> unbindDeviceFromGatewaySettings()971 unbindDeviceFromGatewaySettings() { 972 return unbindDeviceFromGatewaySettings; 973 } 974 975 @Override build()976 public DeviceManagerStubSettings build() throws IOException { 977 return new DeviceManagerStubSettings(this); 978 } 979 } 980 } 981