google-cloud-gsuite_add_ons-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +144 -0
  6. data/lib/google/cloud/gsuite_add_ons/v1/gsuite_add_ons/client.rb +1208 -0
  7. data/lib/google/cloud/gsuite_add_ons/v1/gsuite_add_ons/credentials.rb +47 -0
  8. data/lib/google/cloud/gsuite_add_ons/v1/gsuite_add_ons/paths.rb +95 -0
  9. data/lib/google/cloud/gsuite_add_ons/v1/gsuite_add_ons.rb +76 -0
  10. data/lib/google/cloud/gsuite_add_ons/v1/version.rb +28 -0
  11. data/lib/google/cloud/gsuite_add_ons/v1.rb +40 -0
  12. data/lib/google/cloud/gsuiteaddons/v1/gsuiteaddons_pb.rb +107 -0
  13. data/lib/google/cloud/gsuiteaddons/v1/gsuiteaddons_services_pb.rb +92 -0
  14. data/lib/google-cloud-gsuite_add_ons-v1.rb +21 -0
  15. data/proto_docs/README.md +4 -0
  16. data/proto_docs/google/api/client.rb +318 -0
  17. data/proto_docs/google/api/field_behavior.rb +71 -0
  18. data/proto_docs/google/api/launch_stage.rb +71 -0
  19. data/proto_docs/google/api/resource.rb +222 -0
  20. data/proto_docs/google/apps/script/type/addon_widget_set.rb +62 -0
  21. data/proto_docs/google/apps/script/type/calendar/calendar_addon_manifest.rb +114 -0
  22. data/proto_docs/google/apps/script/type/docs/docs_addon_manifest.rb +51 -0
  23. data/proto_docs/google/apps/script/type/drive/drive_addon_manifest.rb +53 -0
  24. data/proto_docs/google/apps/script/type/extension_point.rb +80 -0
  25. data/proto_docs/google/apps/script/type/gmail/gmail_addon_manifest.rb +134 -0
  26. data/proto_docs/google/apps/script/type/script_manifest.rb +112 -0
  27. data/proto_docs/google/apps/script/type/sheets/sheets_addon_manifest.rb +51 -0
  28. data/proto_docs/google/apps/script/type/slides/slides_addon_manifest.rb +51 -0
  29. data/proto_docs/google/cloud/gsuiteaddons/v1/gsuiteaddons.rb +245 -0
  30. data/proto_docs/google/protobuf/duration.rb +98 -0
  31. data/proto_docs/google/protobuf/empty.rb +34 -0
  32. data/proto_docs/google/protobuf/struct.rb +96 -0
  33. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  34. metadata +243 -0
@@ -0,0 +1,1208 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/cloud/gsuiteaddons/v1/gsuiteaddons_pb"
21
+
22
+ module Google
23
+ module Cloud
24
+ module GSuiteAddOns
25
+ module V1
26
+ module GSuiteAddOns
27
+ ##
28
+ # Client for the GSuiteAddOns service.
29
+ #
30
+ # A service for managing Google Workspace Add-ons deployments.
31
+ #
32
+ # A Google Workspace Add-on is a third-party embedded component that can be
33
+ # installed in Google Workspace Applications like Gmail, Calendar, Drive, and
34
+ # the Google Docs, Sheets, and Slides editors. Google Workspace Add-ons can
35
+ # display UI cards, receive contextual information from the host application,
36
+ # and perform actions in the host application (See:
37
+ # https://developers.google.com/gsuite/add-ons/overview for more information).
38
+ #
39
+ # A Google Workspace Add-on deployment resource specifies metadata about the
40
+ # add-on, including a specification of the entry points in the host application
41
+ # that trigger add-on executions (see:
42
+ # https://developers.google.com/gsuite/add-ons/concepts/gsuite-manifests).
43
+ # Add-on deployments defined via the Google Workspace Add-ons API define their
44
+ # entrypoints using HTTPS URLs (See:
45
+ # https://developers.google.com/gsuite/add-ons/guides/alternate-runtimes),
46
+ #
47
+ # A Google Workspace Add-on deployment can be installed in developer mode,
48
+ # which allows an add-on developer to test the experience an end-user would see
49
+ # when installing and running the add-on in their G Suite applications. When
50
+ # running in developer mode, more detailed error messages are exposed in the
51
+ # add-on UI to aid in debugging.
52
+ #
53
+ # A Google Workspace Add-on deployment can be published to Google Workspace
54
+ # Marketplace, which allows other Google Workspace users to discover and
55
+ # install the add-on. See:
56
+ # https://developers.google.com/gsuite/add-ons/how-tos/publish-add-on-overview
57
+ # for details.
58
+ #
59
+ class Client
60
+ include Paths
61
+
62
+ # @private
63
+ attr_reader :g_suite_add_ons_stub
64
+
65
+ ##
66
+ # Configure the GSuiteAddOns Client class.
67
+ #
68
+ # See {::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client::Configuration}
69
+ # for a description of the configuration fields.
70
+ #
71
+ # @example
72
+ #
73
+ # # Modify the configuration for all GSuiteAddOns clients
74
+ # ::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.configure do |config|
75
+ # config.timeout = 10.0
76
+ # end
77
+ #
78
+ # @yield [config] Configure the Client client.
79
+ # @yieldparam config [Client::Configuration]
80
+ #
81
+ # @return [Client::Configuration]
82
+ #
83
+ def self.configure
84
+ @configure ||= begin
85
+ namespace = ["Google", "Cloud", "GSuiteAddOns", "V1"]
86
+ parent_config = while namespace.any?
87
+ parent_name = namespace.join "::"
88
+ parent_const = const_get parent_name
89
+ break parent_const.configure if parent_const.respond_to? :configure
90
+ namespace.pop
91
+ end
92
+ default_config = Client::Configuration.new parent_config
93
+
94
+ default_config.timeout = 10.0
95
+ default_config.retry_policy = {
96
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14, 2]
97
+ }
98
+
99
+ default_config.rpcs.get_authorization.timeout = 120.0
100
+
101
+ default_config.rpcs.create_deployment.timeout = 10.0
102
+
103
+ default_config.rpcs.delete_deployment.timeout = 10.0
104
+
105
+ default_config
106
+ end
107
+ yield @configure if block_given?
108
+ @configure
109
+ end
110
+
111
+ ##
112
+ # Configure the GSuiteAddOns Client instance.
113
+ #
114
+ # The configuration is set to the derived mode, meaning that values can be changed,
115
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
116
+ # should be made on {Client.configure}.
117
+ #
118
+ # See {::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client::Configuration}
119
+ # for a description of the configuration fields.
120
+ #
121
+ # @yield [config] Configure the Client client.
122
+ # @yieldparam config [Client::Configuration]
123
+ #
124
+ # @return [Client::Configuration]
125
+ #
126
+ def configure
127
+ yield @config if block_given?
128
+ @config
129
+ end
130
+
131
+ ##
132
+ # Create a new GSuiteAddOns client object.
133
+ #
134
+ # @example
135
+ #
136
+ # # Create a client using the default configuration
137
+ # client = ::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
138
+ #
139
+ # # Create a client using a custom configuration
140
+ # client = ::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new do |config|
141
+ # config.timeout = 10.0
142
+ # end
143
+ #
144
+ # @yield [config] Configure the GSuiteAddOns client.
145
+ # @yieldparam config [Client::Configuration]
146
+ #
147
+ def initialize
148
+ # These require statements are intentionally placed here to initialize
149
+ # the gRPC module only when it's required.
150
+ # See https://github.com/googleapis/toolkit/issues/446
151
+ require "gapic/grpc"
152
+ require "google/cloud/gsuiteaddons/v1/gsuiteaddons_services_pb"
153
+
154
+ # Create the configuration object
155
+ @config = Configuration.new Client.configure
156
+
157
+ # Yield the configuration if needed
158
+ yield @config if block_given?
159
+
160
+ # Create credentials
161
+ credentials = @config.credentials
162
+ # Use self-signed JWT if the endpoint is unchanged from default,
163
+ # but only if the default endpoint does not have a region prefix.
164
+ enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
165
+ !@config.endpoint.split(".").first.include?("-")
166
+ credentials ||= Credentials.default scope: @config.scope,
167
+ enable_self_signed_jwt: enable_self_signed_jwt
168
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
169
+ credentials = Credentials.new credentials, scope: @config.scope
170
+ end
171
+ @quota_project_id = @config.quota_project
172
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
173
+
174
+ @g_suite_add_ons_stub = ::Gapic::ServiceStub.new(
175
+ ::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Stub,
176
+ credentials: credentials,
177
+ endpoint: @config.endpoint,
178
+ channel_args: @config.channel_args,
179
+ interceptors: @config.interceptors
180
+ )
181
+ end
182
+
183
+ # Service calls
184
+
185
+ ##
186
+ # Gets the authorization information for deployments in a given project.
187
+ #
188
+ # @overload get_authorization(request, options = nil)
189
+ # Pass arguments to `get_authorization` via a request object, either of type
190
+ # {::Google::Cloud::GSuiteAddOns::V1::GetAuthorizationRequest} or an equivalent Hash.
191
+ #
192
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::GetAuthorizationRequest, ::Hash]
193
+ # A request object representing the call parameters. Required. To specify no
194
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
195
+ # @param options [::Gapic::CallOptions, ::Hash]
196
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
197
+ #
198
+ # @overload get_authorization(name: nil)
199
+ # Pass arguments to `get_authorization` via keyword arguments. Note that at
200
+ # least one keyword argument is required. To specify no parameters, or to keep all
201
+ # the default parameter values, pass an empty Hash as a request object (see above).
202
+ #
203
+ # @param name [::String]
204
+ # Required. Name of the project for which to get the Google Workspace Add-ons
205
+ # authorization information.
206
+ #
207
+ # Example: `projects/my_project/authorization`.
208
+ #
209
+ # @yield [response, operation] Access the result along with the RPC operation
210
+ # @yieldparam response [::Google::Cloud::GSuiteAddOns::V1::Authorization]
211
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
212
+ #
213
+ # @return [::Google::Cloud::GSuiteAddOns::V1::Authorization]
214
+ #
215
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
216
+ #
217
+ # @example Basic example
218
+ # require "google/cloud/gsuite_add_ons/v1"
219
+ #
220
+ # # Create a client object. The client can be reused for multiple calls.
221
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
222
+ #
223
+ # # Create a request. To set request fields, pass in keyword arguments.
224
+ # request = Google::Cloud::GSuiteAddOns::V1::GetAuthorizationRequest.new
225
+ #
226
+ # # Call the get_authorization method.
227
+ # result = client.get_authorization request
228
+ #
229
+ # # The returned object is of type Google::Cloud::GSuiteAddOns::V1::Authorization.
230
+ # p result
231
+ #
232
+ def get_authorization request, options = nil
233
+ raise ::ArgumentError, "request must be provided" if request.nil?
234
+
235
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::GetAuthorizationRequest
236
+
237
+ # Converts hash and nil to an options object
238
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
239
+
240
+ # Customize the options with defaults
241
+ metadata = @config.rpcs.get_authorization.metadata.to_h
242
+
243
+ # Set x-goog-api-client and x-goog-user-project headers
244
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
245
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
246
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
247
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
248
+
249
+ header_params = {}
250
+ if request.name
251
+ header_params["name"] = request.name
252
+ end
253
+
254
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
255
+ metadata[:"x-goog-request-params"] ||= request_params_header
256
+
257
+ options.apply_defaults timeout: @config.rpcs.get_authorization.timeout,
258
+ metadata: metadata,
259
+ retry_policy: @config.rpcs.get_authorization.retry_policy
260
+
261
+ options.apply_defaults timeout: @config.timeout,
262
+ metadata: @config.metadata,
263
+ retry_policy: @config.retry_policy
264
+
265
+ @g_suite_add_ons_stub.call_rpc :get_authorization, request, options: options do |response, operation|
266
+ yield response, operation if block_given?
267
+ return response
268
+ end
269
+ rescue ::GRPC::BadStatus => e
270
+ raise ::Google::Cloud::Error.from_error(e)
271
+ end
272
+
273
+ ##
274
+ # Creates a deployment with the specified name and configuration.
275
+ #
276
+ # @overload create_deployment(request, options = nil)
277
+ # Pass arguments to `create_deployment` via a request object, either of type
278
+ # {::Google::Cloud::GSuiteAddOns::V1::CreateDeploymentRequest} or an equivalent Hash.
279
+ #
280
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::CreateDeploymentRequest, ::Hash]
281
+ # A request object representing the call parameters. Required. To specify no
282
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
283
+ # @param options [::Gapic::CallOptions, ::Hash]
284
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
285
+ #
286
+ # @overload create_deployment(parent: nil, deployment_id: nil, deployment: nil)
287
+ # Pass arguments to `create_deployment` via keyword arguments. Note that at
288
+ # least one keyword argument is required. To specify no parameters, or to keep all
289
+ # the default parameter values, pass an empty Hash as a request object (see above).
290
+ #
291
+ # @param parent [::String]
292
+ # Required. Name of the project in which to create the deployment.
293
+ #
294
+ # Example: `projects/my_project`.
295
+ # @param deployment_id [::String]
296
+ # Required. The id to use for this deployment. The full name of the created
297
+ # resource will be `projects/<project_number>/deployments/<deployment_id>`.
298
+ # @param deployment [::Google::Cloud::GSuiteAddOns::V1::Deployment, ::Hash]
299
+ # Required. The deployment to create (deployment.name cannot be set).
300
+ #
301
+ # @yield [response, operation] Access the result along with the RPC operation
302
+ # @yieldparam response [::Google::Cloud::GSuiteAddOns::V1::Deployment]
303
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
304
+ #
305
+ # @return [::Google::Cloud::GSuiteAddOns::V1::Deployment]
306
+ #
307
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
308
+ #
309
+ # @example Basic example
310
+ # require "google/cloud/gsuite_add_ons/v1"
311
+ #
312
+ # # Create a client object. The client can be reused for multiple calls.
313
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
314
+ #
315
+ # # Create a request. To set request fields, pass in keyword arguments.
316
+ # request = Google::Cloud::GSuiteAddOns::V1::CreateDeploymentRequest.new
317
+ #
318
+ # # Call the create_deployment method.
319
+ # result = client.create_deployment request
320
+ #
321
+ # # The returned object is of type Google::Cloud::GSuiteAddOns::V1::Deployment.
322
+ # p result
323
+ #
324
+ def create_deployment request, options = nil
325
+ raise ::ArgumentError, "request must be provided" if request.nil?
326
+
327
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::CreateDeploymentRequest
328
+
329
+ # Converts hash and nil to an options object
330
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
331
+
332
+ # Customize the options with defaults
333
+ metadata = @config.rpcs.create_deployment.metadata.to_h
334
+
335
+ # Set x-goog-api-client and x-goog-user-project headers
336
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
337
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
338
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
339
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
340
+
341
+ header_params = {}
342
+ if request.parent
343
+ header_params["parent"] = request.parent
344
+ end
345
+
346
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
347
+ metadata[:"x-goog-request-params"] ||= request_params_header
348
+
349
+ options.apply_defaults timeout: @config.rpcs.create_deployment.timeout,
350
+ metadata: metadata,
351
+ retry_policy: @config.rpcs.create_deployment.retry_policy
352
+
353
+ options.apply_defaults timeout: @config.timeout,
354
+ metadata: @config.metadata,
355
+ retry_policy: @config.retry_policy
356
+
357
+ @g_suite_add_ons_stub.call_rpc :create_deployment, request, options: options do |response, operation|
358
+ yield response, operation if block_given?
359
+ return response
360
+ end
361
+ rescue ::GRPC::BadStatus => e
362
+ raise ::Google::Cloud::Error.from_error(e)
363
+ end
364
+
365
+ ##
366
+ # Creates or replaces a deployment with the specified name.
367
+ #
368
+ # @overload replace_deployment(request, options = nil)
369
+ # Pass arguments to `replace_deployment` via a request object, either of type
370
+ # {::Google::Cloud::GSuiteAddOns::V1::ReplaceDeploymentRequest} or an equivalent Hash.
371
+ #
372
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::ReplaceDeploymentRequest, ::Hash]
373
+ # A request object representing the call parameters. Required. To specify no
374
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
375
+ # @param options [::Gapic::CallOptions, ::Hash]
376
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
377
+ #
378
+ # @overload replace_deployment(deployment: nil)
379
+ # Pass arguments to `replace_deployment` via keyword arguments. Note that at
380
+ # least one keyword argument is required. To specify no parameters, or to keep all
381
+ # the default parameter values, pass an empty Hash as a request object (see above).
382
+ #
383
+ # @param deployment [::Google::Cloud::GSuiteAddOns::V1::Deployment, ::Hash]
384
+ # Required. The deployment to create or replace.
385
+ #
386
+ # @yield [response, operation] Access the result along with the RPC operation
387
+ # @yieldparam response [::Google::Cloud::GSuiteAddOns::V1::Deployment]
388
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
389
+ #
390
+ # @return [::Google::Cloud::GSuiteAddOns::V1::Deployment]
391
+ #
392
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
393
+ #
394
+ # @example Basic example
395
+ # require "google/cloud/gsuite_add_ons/v1"
396
+ #
397
+ # # Create a client object. The client can be reused for multiple calls.
398
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
399
+ #
400
+ # # Create a request. To set request fields, pass in keyword arguments.
401
+ # request = Google::Cloud::GSuiteAddOns::V1::ReplaceDeploymentRequest.new
402
+ #
403
+ # # Call the replace_deployment method.
404
+ # result = client.replace_deployment request
405
+ #
406
+ # # The returned object is of type Google::Cloud::GSuiteAddOns::V1::Deployment.
407
+ # p result
408
+ #
409
+ def replace_deployment request, options = nil
410
+ raise ::ArgumentError, "request must be provided" if request.nil?
411
+
412
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::ReplaceDeploymentRequest
413
+
414
+ # Converts hash and nil to an options object
415
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
416
+
417
+ # Customize the options with defaults
418
+ metadata = @config.rpcs.replace_deployment.metadata.to_h
419
+
420
+ # Set x-goog-api-client and x-goog-user-project headers
421
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
422
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
423
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
424
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
425
+
426
+ header_params = {}
427
+ if request.deployment&.name
428
+ header_params["deployment.name"] = request.deployment.name
429
+ end
430
+
431
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
432
+ metadata[:"x-goog-request-params"] ||= request_params_header
433
+
434
+ options.apply_defaults timeout: @config.rpcs.replace_deployment.timeout,
435
+ metadata: metadata,
436
+ retry_policy: @config.rpcs.replace_deployment.retry_policy
437
+
438
+ options.apply_defaults timeout: @config.timeout,
439
+ metadata: @config.metadata,
440
+ retry_policy: @config.retry_policy
441
+
442
+ @g_suite_add_ons_stub.call_rpc :replace_deployment, request, options: options do |response, operation|
443
+ yield response, operation if block_given?
444
+ return response
445
+ end
446
+ rescue ::GRPC::BadStatus => e
447
+ raise ::Google::Cloud::Error.from_error(e)
448
+ end
449
+
450
+ ##
451
+ # Gets the deployment with the specified name.
452
+ #
453
+ # @overload get_deployment(request, options = nil)
454
+ # Pass arguments to `get_deployment` via a request object, either of type
455
+ # {::Google::Cloud::GSuiteAddOns::V1::GetDeploymentRequest} or an equivalent Hash.
456
+ #
457
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::GetDeploymentRequest, ::Hash]
458
+ # A request object representing the call parameters. Required. To specify no
459
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
460
+ # @param options [::Gapic::CallOptions, ::Hash]
461
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
462
+ #
463
+ # @overload get_deployment(name: nil)
464
+ # Pass arguments to `get_deployment` via keyword arguments. Note that at
465
+ # least one keyword argument is required. To specify no parameters, or to keep all
466
+ # the default parameter values, pass an empty Hash as a request object (see above).
467
+ #
468
+ # @param name [::String]
469
+ # Required. The full resource name of the deployment to get.
470
+ #
471
+ # Example: `projects/my_project/deployments/my_deployment`.
472
+ #
473
+ # @yield [response, operation] Access the result along with the RPC operation
474
+ # @yieldparam response [::Google::Cloud::GSuiteAddOns::V1::Deployment]
475
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
476
+ #
477
+ # @return [::Google::Cloud::GSuiteAddOns::V1::Deployment]
478
+ #
479
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
480
+ #
481
+ # @example Basic example
482
+ # require "google/cloud/gsuite_add_ons/v1"
483
+ #
484
+ # # Create a client object. The client can be reused for multiple calls.
485
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
486
+ #
487
+ # # Create a request. To set request fields, pass in keyword arguments.
488
+ # request = Google::Cloud::GSuiteAddOns::V1::GetDeploymentRequest.new
489
+ #
490
+ # # Call the get_deployment method.
491
+ # result = client.get_deployment request
492
+ #
493
+ # # The returned object is of type Google::Cloud::GSuiteAddOns::V1::Deployment.
494
+ # p result
495
+ #
496
+ def get_deployment request, options = nil
497
+ raise ::ArgumentError, "request must be provided" if request.nil?
498
+
499
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::GetDeploymentRequest
500
+
501
+ # Converts hash and nil to an options object
502
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
503
+
504
+ # Customize the options with defaults
505
+ metadata = @config.rpcs.get_deployment.metadata.to_h
506
+
507
+ # Set x-goog-api-client and x-goog-user-project headers
508
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
509
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
510
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
511
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
512
+
513
+ header_params = {}
514
+ if request.name
515
+ header_params["name"] = request.name
516
+ end
517
+
518
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
519
+ metadata[:"x-goog-request-params"] ||= request_params_header
520
+
521
+ options.apply_defaults timeout: @config.rpcs.get_deployment.timeout,
522
+ metadata: metadata,
523
+ retry_policy: @config.rpcs.get_deployment.retry_policy
524
+
525
+ options.apply_defaults timeout: @config.timeout,
526
+ metadata: @config.metadata,
527
+ retry_policy: @config.retry_policy
528
+
529
+ @g_suite_add_ons_stub.call_rpc :get_deployment, request, options: options do |response, operation|
530
+ yield response, operation if block_given?
531
+ return response
532
+ end
533
+ rescue ::GRPC::BadStatus => e
534
+ raise ::Google::Cloud::Error.from_error(e)
535
+ end
536
+
537
+ ##
538
+ # Lists all deployments in a particular project.
539
+ #
540
+ # @overload list_deployments(request, options = nil)
541
+ # Pass arguments to `list_deployments` via a request object, either of type
542
+ # {::Google::Cloud::GSuiteAddOns::V1::ListDeploymentsRequest} or an equivalent Hash.
543
+ #
544
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::ListDeploymentsRequest, ::Hash]
545
+ # A request object representing the call parameters. Required. To specify no
546
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
547
+ # @param options [::Gapic::CallOptions, ::Hash]
548
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
549
+ #
550
+ # @overload list_deployments(parent: nil, page_size: nil, page_token: nil)
551
+ # Pass arguments to `list_deployments` via keyword arguments. Note that at
552
+ # least one keyword argument is required. To specify no parameters, or to keep all
553
+ # the default parameter values, pass an empty Hash as a request object (see above).
554
+ #
555
+ # @param parent [::String]
556
+ # Required. Name of the project in which to create the deployment.
557
+ #
558
+ # Example: `projects/my_project`.
559
+ # @param page_size [::Integer]
560
+ # The maximum number of deployments to return. The service may return fewer
561
+ # than this value.
562
+ # If unspecified, at most 1000 deployments will be returned.
563
+ # The maximum value is 1000; values above 1000 will be coerced to 1000.
564
+ # @param page_token [::String]
565
+ # A page token, received from a previous `ListDeployments` call.
566
+ # Provide this to retrieve the subsequent page.
567
+ #
568
+ # When paginating, all other parameters provided to `ListDeployments` must
569
+ # match the call that provided the page token.
570
+ #
571
+ # @yield [response, operation] Access the result along with the RPC operation
572
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::GSuiteAddOns::V1::Deployment>]
573
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
574
+ #
575
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::GSuiteAddOns::V1::Deployment>]
576
+ #
577
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
578
+ #
579
+ # @example Basic example
580
+ # require "google/cloud/gsuite_add_ons/v1"
581
+ #
582
+ # # Create a client object. The client can be reused for multiple calls.
583
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
584
+ #
585
+ # # Create a request. To set request fields, pass in keyword arguments.
586
+ # request = Google::Cloud::GSuiteAddOns::V1::ListDeploymentsRequest.new
587
+ #
588
+ # # Call the list_deployments method.
589
+ # result = client.list_deployments request
590
+ #
591
+ # # The returned object is of type Gapic::PagedEnumerable. You can
592
+ # # iterate over all elements by calling #each, and the enumerable
593
+ # # will lazily make API calls to fetch subsequent pages. Other
594
+ # # methods are also available for managing paging directly.
595
+ # result.each do |response|
596
+ # # Each element is of type ::Google::Cloud::GSuiteAddOns::V1::Deployment.
597
+ # p response
598
+ # end
599
+ #
600
+ def list_deployments request, options = nil
601
+ raise ::ArgumentError, "request must be provided" if request.nil?
602
+
603
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::ListDeploymentsRequest
604
+
605
+ # Converts hash and nil to an options object
606
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
607
+
608
+ # Customize the options with defaults
609
+ metadata = @config.rpcs.list_deployments.metadata.to_h
610
+
611
+ # Set x-goog-api-client and x-goog-user-project headers
612
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
613
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
614
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
615
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
616
+
617
+ header_params = {}
618
+ if request.parent
619
+ header_params["parent"] = request.parent
620
+ end
621
+
622
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
623
+ metadata[:"x-goog-request-params"] ||= request_params_header
624
+
625
+ options.apply_defaults timeout: @config.rpcs.list_deployments.timeout,
626
+ metadata: metadata,
627
+ retry_policy: @config.rpcs.list_deployments.retry_policy
628
+
629
+ options.apply_defaults timeout: @config.timeout,
630
+ metadata: @config.metadata,
631
+ retry_policy: @config.retry_policy
632
+
633
+ @g_suite_add_ons_stub.call_rpc :list_deployments, request, options: options do |response, operation|
634
+ response = ::Gapic::PagedEnumerable.new @g_suite_add_ons_stub, :list_deployments, request, response, operation, options
635
+ yield response, operation if block_given?
636
+ return response
637
+ end
638
+ rescue ::GRPC::BadStatus => e
639
+ raise ::Google::Cloud::Error.from_error(e)
640
+ end
641
+
642
+ ##
643
+ # Deletes the deployment with the given name.
644
+ #
645
+ # @overload delete_deployment(request, options = nil)
646
+ # Pass arguments to `delete_deployment` via a request object, either of type
647
+ # {::Google::Cloud::GSuiteAddOns::V1::DeleteDeploymentRequest} or an equivalent Hash.
648
+ #
649
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::DeleteDeploymentRequest, ::Hash]
650
+ # A request object representing the call parameters. Required. To specify no
651
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
652
+ # @param options [::Gapic::CallOptions, ::Hash]
653
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
654
+ #
655
+ # @overload delete_deployment(name: nil, etag: nil)
656
+ # Pass arguments to `delete_deployment` via keyword arguments. Note that at
657
+ # least one keyword argument is required. To specify no parameters, or to keep all
658
+ # the default parameter values, pass an empty Hash as a request object (see above).
659
+ #
660
+ # @param name [::String]
661
+ # Required. The full resource name of the deployment to delete.
662
+ #
663
+ # Example: `projects/my_project/deployments/my_deployment`.
664
+ # @param etag [::String]
665
+ # The etag of the deployment to delete.
666
+ # If this is provided, it must match the server's etag.
667
+ #
668
+ # @yield [response, operation] Access the result along with the RPC operation
669
+ # @yieldparam response [::Google::Protobuf::Empty]
670
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
671
+ #
672
+ # @return [::Google::Protobuf::Empty]
673
+ #
674
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
675
+ #
676
+ # @example Basic example
677
+ # require "google/cloud/gsuite_add_ons/v1"
678
+ #
679
+ # # Create a client object. The client can be reused for multiple calls.
680
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
681
+ #
682
+ # # Create a request. To set request fields, pass in keyword arguments.
683
+ # request = Google::Cloud::GSuiteAddOns::V1::DeleteDeploymentRequest.new
684
+ #
685
+ # # Call the delete_deployment method.
686
+ # result = client.delete_deployment request
687
+ #
688
+ # # The returned object is of type Google::Protobuf::Empty.
689
+ # p result
690
+ #
691
+ def delete_deployment request, options = nil
692
+ raise ::ArgumentError, "request must be provided" if request.nil?
693
+
694
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::DeleteDeploymentRequest
695
+
696
+ # Converts hash and nil to an options object
697
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
698
+
699
+ # Customize the options with defaults
700
+ metadata = @config.rpcs.delete_deployment.metadata.to_h
701
+
702
+ # Set x-goog-api-client and x-goog-user-project headers
703
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
704
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
705
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
706
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
707
+
708
+ header_params = {}
709
+ if request.name
710
+ header_params["name"] = request.name
711
+ end
712
+
713
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
714
+ metadata[:"x-goog-request-params"] ||= request_params_header
715
+
716
+ options.apply_defaults timeout: @config.rpcs.delete_deployment.timeout,
717
+ metadata: metadata,
718
+ retry_policy: @config.rpcs.delete_deployment.retry_policy
719
+
720
+ options.apply_defaults timeout: @config.timeout,
721
+ metadata: @config.metadata,
722
+ retry_policy: @config.retry_policy
723
+
724
+ @g_suite_add_ons_stub.call_rpc :delete_deployment, request, options: options do |response, operation|
725
+ yield response, operation if block_given?
726
+ return response
727
+ end
728
+ rescue ::GRPC::BadStatus => e
729
+ raise ::Google::Cloud::Error.from_error(e)
730
+ end
731
+
732
+ ##
733
+ # Installs a deployment in developer mode.
734
+ # See:
735
+ # https://developers.google.com/gsuite/add-ons/how-tos/testing-gsuite-addons.
736
+ #
737
+ # @overload install_deployment(request, options = nil)
738
+ # Pass arguments to `install_deployment` via a request object, either of type
739
+ # {::Google::Cloud::GSuiteAddOns::V1::InstallDeploymentRequest} or an equivalent Hash.
740
+ #
741
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::InstallDeploymentRequest, ::Hash]
742
+ # A request object representing the call parameters. Required. To specify no
743
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
744
+ # @param options [::Gapic::CallOptions, ::Hash]
745
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
746
+ #
747
+ # @overload install_deployment(name: nil)
748
+ # Pass arguments to `install_deployment` via keyword arguments. Note that at
749
+ # least one keyword argument is required. To specify no parameters, or to keep all
750
+ # the default parameter values, pass an empty Hash as a request object (see above).
751
+ #
752
+ # @param name [::String]
753
+ # Required. The full resource name of the deployment to install.
754
+ #
755
+ # Example: `projects/my_project/deployments/my_deployment`.
756
+ #
757
+ # @yield [response, operation] Access the result along with the RPC operation
758
+ # @yieldparam response [::Google::Protobuf::Empty]
759
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
760
+ #
761
+ # @return [::Google::Protobuf::Empty]
762
+ #
763
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
764
+ #
765
+ # @example Basic example
766
+ # require "google/cloud/gsuite_add_ons/v1"
767
+ #
768
+ # # Create a client object. The client can be reused for multiple calls.
769
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
770
+ #
771
+ # # Create a request. To set request fields, pass in keyword arguments.
772
+ # request = Google::Cloud::GSuiteAddOns::V1::InstallDeploymentRequest.new
773
+ #
774
+ # # Call the install_deployment method.
775
+ # result = client.install_deployment request
776
+ #
777
+ # # The returned object is of type Google::Protobuf::Empty.
778
+ # p result
779
+ #
780
+ def install_deployment request, options = nil
781
+ raise ::ArgumentError, "request must be provided" if request.nil?
782
+
783
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::InstallDeploymentRequest
784
+
785
+ # Converts hash and nil to an options object
786
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
787
+
788
+ # Customize the options with defaults
789
+ metadata = @config.rpcs.install_deployment.metadata.to_h
790
+
791
+ # Set x-goog-api-client and x-goog-user-project headers
792
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
793
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
794
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
795
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
796
+
797
+ header_params = {}
798
+ if request.name
799
+ header_params["name"] = request.name
800
+ end
801
+
802
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
803
+ metadata[:"x-goog-request-params"] ||= request_params_header
804
+
805
+ options.apply_defaults timeout: @config.rpcs.install_deployment.timeout,
806
+ metadata: metadata,
807
+ retry_policy: @config.rpcs.install_deployment.retry_policy
808
+
809
+ options.apply_defaults timeout: @config.timeout,
810
+ metadata: @config.metadata,
811
+ retry_policy: @config.retry_policy
812
+
813
+ @g_suite_add_ons_stub.call_rpc :install_deployment, request, options: options do |response, operation|
814
+ yield response, operation if block_given?
815
+ return response
816
+ end
817
+ rescue ::GRPC::BadStatus => e
818
+ raise ::Google::Cloud::Error.from_error(e)
819
+ end
820
+
821
+ ##
822
+ # Uninstalls a developer mode deployment.
823
+ # See:
824
+ # https://developers.google.com/gsuite/add-ons/how-tos/testing-gsuite-addons.
825
+ #
826
+ # @overload uninstall_deployment(request, options = nil)
827
+ # Pass arguments to `uninstall_deployment` via a request object, either of type
828
+ # {::Google::Cloud::GSuiteAddOns::V1::UninstallDeploymentRequest} or an equivalent Hash.
829
+ #
830
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::UninstallDeploymentRequest, ::Hash]
831
+ # A request object representing the call parameters. Required. To specify no
832
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
833
+ # @param options [::Gapic::CallOptions, ::Hash]
834
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
835
+ #
836
+ # @overload uninstall_deployment(name: nil)
837
+ # Pass arguments to `uninstall_deployment` via keyword arguments. Note that at
838
+ # least one keyword argument is required. To specify no parameters, or to keep all
839
+ # the default parameter values, pass an empty Hash as a request object (see above).
840
+ #
841
+ # @param name [::String]
842
+ # Required. The full resource name of the deployment to install.
843
+ #
844
+ # Example: `projects/my_project/deployments/my_deployment`.
845
+ #
846
+ # @yield [response, operation] Access the result along with the RPC operation
847
+ # @yieldparam response [::Google::Protobuf::Empty]
848
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
849
+ #
850
+ # @return [::Google::Protobuf::Empty]
851
+ #
852
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
853
+ #
854
+ # @example Basic example
855
+ # require "google/cloud/gsuite_add_ons/v1"
856
+ #
857
+ # # Create a client object. The client can be reused for multiple calls.
858
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
859
+ #
860
+ # # Create a request. To set request fields, pass in keyword arguments.
861
+ # request = Google::Cloud::GSuiteAddOns::V1::UninstallDeploymentRequest.new
862
+ #
863
+ # # Call the uninstall_deployment method.
864
+ # result = client.uninstall_deployment request
865
+ #
866
+ # # The returned object is of type Google::Protobuf::Empty.
867
+ # p result
868
+ #
869
+ def uninstall_deployment request, options = nil
870
+ raise ::ArgumentError, "request must be provided" if request.nil?
871
+
872
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::UninstallDeploymentRequest
873
+
874
+ # Converts hash and nil to an options object
875
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
876
+
877
+ # Customize the options with defaults
878
+ metadata = @config.rpcs.uninstall_deployment.metadata.to_h
879
+
880
+ # Set x-goog-api-client and x-goog-user-project headers
881
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
882
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
883
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
884
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
885
+
886
+ header_params = {}
887
+ if request.name
888
+ header_params["name"] = request.name
889
+ end
890
+
891
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
892
+ metadata[:"x-goog-request-params"] ||= request_params_header
893
+
894
+ options.apply_defaults timeout: @config.rpcs.uninstall_deployment.timeout,
895
+ metadata: metadata,
896
+ retry_policy: @config.rpcs.uninstall_deployment.retry_policy
897
+
898
+ options.apply_defaults timeout: @config.timeout,
899
+ metadata: @config.metadata,
900
+ retry_policy: @config.retry_policy
901
+
902
+ @g_suite_add_ons_stub.call_rpc :uninstall_deployment, request, options: options do |response, operation|
903
+ yield response, operation if block_given?
904
+ return response
905
+ end
906
+ rescue ::GRPC::BadStatus => e
907
+ raise ::Google::Cloud::Error.from_error(e)
908
+ end
909
+
910
+ ##
911
+ # Fetches the install status of a developer mode deployment.
912
+ #
913
+ # @overload get_install_status(request, options = nil)
914
+ # Pass arguments to `get_install_status` via a request object, either of type
915
+ # {::Google::Cloud::GSuiteAddOns::V1::GetInstallStatusRequest} or an equivalent Hash.
916
+ #
917
+ # @param request [::Google::Cloud::GSuiteAddOns::V1::GetInstallStatusRequest, ::Hash]
918
+ # A request object representing the call parameters. Required. To specify no
919
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
920
+ # @param options [::Gapic::CallOptions, ::Hash]
921
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
922
+ #
923
+ # @overload get_install_status(name: nil)
924
+ # Pass arguments to `get_install_status` via keyword arguments. Note that at
925
+ # least one keyword argument is required. To specify no parameters, or to keep all
926
+ # the default parameter values, pass an empty Hash as a request object (see above).
927
+ #
928
+ # @param name [::String]
929
+ # Required. The full resource name of the deployment.
930
+ #
931
+ # Example: `projects/my_project/deployments/my_deployment/installStatus`.
932
+ #
933
+ # @yield [response, operation] Access the result along with the RPC operation
934
+ # @yieldparam response [::Google::Cloud::GSuiteAddOns::V1::InstallStatus]
935
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
936
+ #
937
+ # @return [::Google::Cloud::GSuiteAddOns::V1::InstallStatus]
938
+ #
939
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
940
+ #
941
+ # @example Basic example
942
+ # require "google/cloud/gsuite_add_ons/v1"
943
+ #
944
+ # # Create a client object. The client can be reused for multiple calls.
945
+ # client = Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new
946
+ #
947
+ # # Create a request. To set request fields, pass in keyword arguments.
948
+ # request = Google::Cloud::GSuiteAddOns::V1::GetInstallStatusRequest.new
949
+ #
950
+ # # Call the get_install_status method.
951
+ # result = client.get_install_status request
952
+ #
953
+ # # The returned object is of type Google::Cloud::GSuiteAddOns::V1::InstallStatus.
954
+ # p result
955
+ #
956
+ def get_install_status request, options = nil
957
+ raise ::ArgumentError, "request must be provided" if request.nil?
958
+
959
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::GSuiteAddOns::V1::GetInstallStatusRequest
960
+
961
+ # Converts hash and nil to an options object
962
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
963
+
964
+ # Customize the options with defaults
965
+ metadata = @config.rpcs.get_install_status.metadata.to_h
966
+
967
+ # Set x-goog-api-client and x-goog-user-project headers
968
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
969
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
970
+ gapic_version: ::Google::Cloud::GSuiteAddOns::V1::VERSION
971
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
972
+
973
+ header_params = {}
974
+ if request.name
975
+ header_params["name"] = request.name
976
+ end
977
+
978
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
979
+ metadata[:"x-goog-request-params"] ||= request_params_header
980
+
981
+ options.apply_defaults timeout: @config.rpcs.get_install_status.timeout,
982
+ metadata: metadata,
983
+ retry_policy: @config.rpcs.get_install_status.retry_policy
984
+
985
+ options.apply_defaults timeout: @config.timeout,
986
+ metadata: @config.metadata,
987
+ retry_policy: @config.retry_policy
988
+
989
+ @g_suite_add_ons_stub.call_rpc :get_install_status, request, options: options do |response, operation|
990
+ yield response, operation if block_given?
991
+ return response
992
+ end
993
+ rescue ::GRPC::BadStatus => e
994
+ raise ::Google::Cloud::Error.from_error(e)
995
+ end
996
+
997
+ ##
998
+ # Configuration class for the GSuiteAddOns API.
999
+ #
1000
+ # This class represents the configuration for GSuiteAddOns,
1001
+ # providing control over timeouts, retry behavior, logging, transport
1002
+ # parameters, and other low-level controls. Certain parameters can also be
1003
+ # applied individually to specific RPCs. See
1004
+ # {::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client::Configuration::Rpcs}
1005
+ # for a list of RPCs that can be configured independently.
1006
+ #
1007
+ # Configuration can be applied globally to all clients, or to a single client
1008
+ # on construction.
1009
+ #
1010
+ # @example
1011
+ #
1012
+ # # Modify the global config, setting the timeout for
1013
+ # # get_authorization to 20 seconds,
1014
+ # # and all remaining timeouts to 10 seconds.
1015
+ # ::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.configure do |config|
1016
+ # config.timeout = 10.0
1017
+ # config.rpcs.get_authorization.timeout = 20.0
1018
+ # end
1019
+ #
1020
+ # # Apply the above configuration only to a new client.
1021
+ # client = ::Google::Cloud::GSuiteAddOns::V1::GSuiteAddOns::Client.new do |config|
1022
+ # config.timeout = 10.0
1023
+ # config.rpcs.get_authorization.timeout = 20.0
1024
+ # end
1025
+ #
1026
+ # @!attribute [rw] endpoint
1027
+ # The hostname or hostname:port of the service endpoint.
1028
+ # Defaults to `"gsuiteaddons.googleapis.com"`.
1029
+ # @return [::String]
1030
+ # @!attribute [rw] credentials
1031
+ # Credentials to send with calls. You may provide any of the following types:
1032
+ # * (`String`) The path to a service account key file in JSON format
1033
+ # * (`Hash`) A service account key as a Hash
1034
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1035
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
1036
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1037
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
1038
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1039
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1040
+ # * (`nil`) indicating no credentials
1041
+ # @return [::Object]
1042
+ # @!attribute [rw] scope
1043
+ # The OAuth scopes
1044
+ # @return [::Array<::String>]
1045
+ # @!attribute [rw] lib_name
1046
+ # The library name as recorded in instrumentation and logging
1047
+ # @return [::String]
1048
+ # @!attribute [rw] lib_version
1049
+ # The library version as recorded in instrumentation and logging
1050
+ # @return [::String]
1051
+ # @!attribute [rw] channel_args
1052
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
1053
+ # `GRPC::Core::Channel` object is provided as the credential.
1054
+ # @return [::Hash]
1055
+ # @!attribute [rw] interceptors
1056
+ # An array of interceptors that are run before calls are executed.
1057
+ # @return [::Array<::GRPC::ClientInterceptor>]
1058
+ # @!attribute [rw] timeout
1059
+ # The call timeout in seconds.
1060
+ # @return [::Numeric]
1061
+ # @!attribute [rw] metadata
1062
+ # Additional gRPC headers to be sent with the call.
1063
+ # @return [::Hash{::Symbol=>::String}]
1064
+ # @!attribute [rw] retry_policy
1065
+ # The retry policy. The value is a hash with the following keys:
1066
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1067
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1068
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1069
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1070
+ # trigger a retry.
1071
+ # @return [::Hash]
1072
+ # @!attribute [rw] quota_project
1073
+ # A separate project against which to charge quota.
1074
+ # @return [::String]
1075
+ #
1076
+ class Configuration
1077
+ extend ::Gapic::Config
1078
+
1079
+ config_attr :endpoint, "gsuiteaddons.googleapis.com", ::String
1080
+ config_attr :credentials, nil do |value|
1081
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1082
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
1083
+ allowed.any? { |klass| klass === value }
1084
+ end
1085
+ config_attr :scope, nil, ::String, ::Array, nil
1086
+ config_attr :lib_name, nil, ::String, nil
1087
+ config_attr :lib_version, nil, ::String, nil
1088
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
1089
+ config_attr :interceptors, nil, ::Array, nil
1090
+ config_attr :timeout, nil, ::Numeric, nil
1091
+ config_attr :metadata, nil, ::Hash, nil
1092
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1093
+ config_attr :quota_project, nil, ::String, nil
1094
+
1095
+ # @private
1096
+ def initialize parent_config = nil
1097
+ @parent_config = parent_config unless parent_config.nil?
1098
+
1099
+ yield self if block_given?
1100
+ end
1101
+
1102
+ ##
1103
+ # Configurations for individual RPCs
1104
+ # @return [Rpcs]
1105
+ #
1106
+ def rpcs
1107
+ @rpcs ||= begin
1108
+ parent_rpcs = nil
1109
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
1110
+ Rpcs.new parent_rpcs
1111
+ end
1112
+ end
1113
+
1114
+ ##
1115
+ # Configuration RPC class for the GSuiteAddOns API.
1116
+ #
1117
+ # Includes fields providing the configuration for each RPC in this service.
1118
+ # Each configuration object is of type `Gapic::Config::Method` and includes
1119
+ # the following configuration fields:
1120
+ #
1121
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
1122
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1123
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1124
+ # include the following keys:
1125
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1126
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1127
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1128
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1129
+ # trigger a retry.
1130
+ #
1131
+ class Rpcs
1132
+ ##
1133
+ # RPC-specific configuration for `get_authorization`
1134
+ # @return [::Gapic::Config::Method]
1135
+ #
1136
+ attr_reader :get_authorization
1137
+ ##
1138
+ # RPC-specific configuration for `create_deployment`
1139
+ # @return [::Gapic::Config::Method]
1140
+ #
1141
+ attr_reader :create_deployment
1142
+ ##
1143
+ # RPC-specific configuration for `replace_deployment`
1144
+ # @return [::Gapic::Config::Method]
1145
+ #
1146
+ attr_reader :replace_deployment
1147
+ ##
1148
+ # RPC-specific configuration for `get_deployment`
1149
+ # @return [::Gapic::Config::Method]
1150
+ #
1151
+ attr_reader :get_deployment
1152
+ ##
1153
+ # RPC-specific configuration for `list_deployments`
1154
+ # @return [::Gapic::Config::Method]
1155
+ #
1156
+ attr_reader :list_deployments
1157
+ ##
1158
+ # RPC-specific configuration for `delete_deployment`
1159
+ # @return [::Gapic::Config::Method]
1160
+ #
1161
+ attr_reader :delete_deployment
1162
+ ##
1163
+ # RPC-specific configuration for `install_deployment`
1164
+ # @return [::Gapic::Config::Method]
1165
+ #
1166
+ attr_reader :install_deployment
1167
+ ##
1168
+ # RPC-specific configuration for `uninstall_deployment`
1169
+ # @return [::Gapic::Config::Method]
1170
+ #
1171
+ attr_reader :uninstall_deployment
1172
+ ##
1173
+ # RPC-specific configuration for `get_install_status`
1174
+ # @return [::Gapic::Config::Method]
1175
+ #
1176
+ attr_reader :get_install_status
1177
+
1178
+ # @private
1179
+ def initialize parent_rpcs = nil
1180
+ get_authorization_config = parent_rpcs.get_authorization if parent_rpcs.respond_to? :get_authorization
1181
+ @get_authorization = ::Gapic::Config::Method.new get_authorization_config
1182
+ create_deployment_config = parent_rpcs.create_deployment if parent_rpcs.respond_to? :create_deployment
1183
+ @create_deployment = ::Gapic::Config::Method.new create_deployment_config
1184
+ replace_deployment_config = parent_rpcs.replace_deployment if parent_rpcs.respond_to? :replace_deployment
1185
+ @replace_deployment = ::Gapic::Config::Method.new replace_deployment_config
1186
+ get_deployment_config = parent_rpcs.get_deployment if parent_rpcs.respond_to? :get_deployment
1187
+ @get_deployment = ::Gapic::Config::Method.new get_deployment_config
1188
+ list_deployments_config = parent_rpcs.list_deployments if parent_rpcs.respond_to? :list_deployments
1189
+ @list_deployments = ::Gapic::Config::Method.new list_deployments_config
1190
+ delete_deployment_config = parent_rpcs.delete_deployment if parent_rpcs.respond_to? :delete_deployment
1191
+ @delete_deployment = ::Gapic::Config::Method.new delete_deployment_config
1192
+ install_deployment_config = parent_rpcs.install_deployment if parent_rpcs.respond_to? :install_deployment
1193
+ @install_deployment = ::Gapic::Config::Method.new install_deployment_config
1194
+ uninstall_deployment_config = parent_rpcs.uninstall_deployment if parent_rpcs.respond_to? :uninstall_deployment
1195
+ @uninstall_deployment = ::Gapic::Config::Method.new uninstall_deployment_config
1196
+ get_install_status_config = parent_rpcs.get_install_status if parent_rpcs.respond_to? :get_install_status
1197
+ @get_install_status = ::Gapic::Config::Method.new get_install_status_config
1198
+
1199
+ yield self if block_given?
1200
+ end
1201
+ end
1202
+ end
1203
+ end
1204
+ end
1205
+ end
1206
+ end
1207
+ end
1208
+ end