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