• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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