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