google-cloud-saas_platform-saas_service_mgmt-v1beta1 0.a → 0.2.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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/bindings_override.rb +77 -0
  6. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/rest.rb +41 -0
  7. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/client.rb +3785 -0
  8. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/credentials.rb +49 -0
  9. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/paths.rb +185 -0
  10. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/rest/client.rb +3557 -0
  11. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/rest/service_stub.rb +1925 -0
  12. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments/rest.rb +55 -0
  13. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_deployments.rb +57 -0
  14. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/client.rb +1517 -0
  15. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/credentials.rb +49 -0
  16. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/paths.rb +128 -0
  17. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/rest/client.rb +1429 -0
  18. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/rest/service_stub.rb +697 -0
  19. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts/rest.rb +55 -0
  20. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/saas_rollouts.rb +57 -0
  21. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1/version.rb +7 -2
  22. data/lib/google/cloud/saas_platform/saas_service_mgmt/v1beta1.rb +48 -0
  23. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/common_pb.rb +58 -0
  24. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_resources_pb.rb +73 -0
  25. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_service_pb.rb +89 -0
  26. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_service_services_pb.rb +105 -0
  27. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_resources_pb.rb +60 -0
  28. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_service_pb.rb +65 -0
  29. data/lib/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_service_services_pb.rb +65 -0
  30. data/lib/google-cloud-saas_platform-saas_service_mgmt-v1beta1.rb +21 -0
  31. data/proto_docs/README.md +4 -0
  32. data/proto_docs/google/api/client.rb +473 -0
  33. data/proto_docs/google/api/field_behavior.rb +85 -0
  34. data/proto_docs/google/api/field_info.rb +88 -0
  35. data/proto_docs/google/api/launch_stage.rb +71 -0
  36. data/proto_docs/google/api/resource.rb +227 -0
  37. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/common.rb +231 -0
  38. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_resources.rb +837 -0
  39. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/deployments_service.rb +976 -0
  40. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_resources.rb +389 -0
  41. data/proto_docs/google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_service.rb +344 -0
  42. data/proto_docs/google/protobuf/any.rb +145 -0
  43. data/proto_docs/google/protobuf/duration.rb +98 -0
  44. data/proto_docs/google/protobuf/empty.rb +34 -0
  45. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  46. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  47. metadata +94 -9
@@ -0,0 +1,1517 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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/saasplatform/saasservicemgmt/v1beta1/rollouts_service_pb"
21
+ require "google/cloud/location"
22
+
23
+ module Google
24
+ module Cloud
25
+ module SaasPlatform
26
+ module SaasServiceMgmt
27
+ module V1beta1
28
+ module SaasRollouts
29
+ ##
30
+ # Client for the SaasRollouts service.
31
+ #
32
+ # Manages the rollout of SaaS services.
33
+ #
34
+ class Client
35
+ # @private
36
+ API_VERSION = ""
37
+
38
+ # @private
39
+ DEFAULT_ENDPOINT_TEMPLATE = "saasservicemgmt.$UNIVERSE_DOMAIN$"
40
+
41
+ include Paths
42
+
43
+ # @private
44
+ attr_reader :saas_rollouts_stub
45
+
46
+ ##
47
+ # Configure the SaasRollouts Client class.
48
+ #
49
+ # See {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client::Configuration}
50
+ # for a description of the configuration fields.
51
+ #
52
+ # @example
53
+ #
54
+ # # Modify the configuration for all SaasRollouts clients
55
+ # ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.configure do |config|
56
+ # config.timeout = 10.0
57
+ # end
58
+ #
59
+ # @yield [config] Configure the Client client.
60
+ # @yieldparam config [Client::Configuration]
61
+ #
62
+ # @return [Client::Configuration]
63
+ #
64
+ def self.configure
65
+ @configure ||= begin
66
+ namespace = ["Google", "Cloud", "SaasPlatform", "SaasServiceMgmt", "V1beta1"]
67
+ parent_config = while namespace.any?
68
+ parent_name = namespace.join "::"
69
+ parent_const = const_get parent_name
70
+ break parent_const.configure if parent_const.respond_to? :configure
71
+ namespace.pop
72
+ end
73
+ default_config = Client::Configuration.new parent_config
74
+
75
+ default_config.rpcs.list_rollouts.timeout = 60.0
76
+ default_config.rpcs.list_rollouts.retry_policy = {
77
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
78
+ }
79
+
80
+ default_config.rpcs.get_rollout.timeout = 60.0
81
+ default_config.rpcs.get_rollout.retry_policy = {
82
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
83
+ }
84
+
85
+ default_config.rpcs.create_rollout.timeout = 60.0
86
+
87
+ default_config.rpcs.update_rollout.timeout = 60.0
88
+
89
+ default_config.rpcs.delete_rollout.timeout = 540.0
90
+ default_config.rpcs.delete_rollout.retry_policy = {
91
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
92
+ }
93
+
94
+ default_config.rpcs.list_rollout_kinds.timeout = 60.0
95
+ default_config.rpcs.list_rollout_kinds.retry_policy = {
96
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
97
+ }
98
+
99
+ default_config.rpcs.get_rollout_kind.timeout = 60.0
100
+ default_config.rpcs.get_rollout_kind.retry_policy = {
101
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
102
+ }
103
+
104
+ default_config.rpcs.create_rollout_kind.timeout = 60.0
105
+
106
+ default_config.rpcs.update_rollout_kind.timeout = 60.0
107
+
108
+ default_config.rpcs.delete_rollout_kind.timeout = 60.0
109
+ default_config.rpcs.delete_rollout_kind.retry_policy = {
110
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
111
+ }
112
+
113
+ default_config
114
+ end
115
+ yield @configure if block_given?
116
+ @configure
117
+ end
118
+
119
+ ##
120
+ # Configure the SaasRollouts Client instance.
121
+ #
122
+ # The configuration is set to the derived mode, meaning that values can be changed,
123
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
124
+ # should be made on {Client.configure}.
125
+ #
126
+ # See {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client::Configuration}
127
+ # for a description of the configuration fields.
128
+ #
129
+ # @yield [config] Configure the Client client.
130
+ # @yieldparam config [Client::Configuration]
131
+ #
132
+ # @return [Client::Configuration]
133
+ #
134
+ def configure
135
+ yield @config if block_given?
136
+ @config
137
+ end
138
+
139
+ ##
140
+ # The effective universe domain
141
+ #
142
+ # @return [String]
143
+ #
144
+ def universe_domain
145
+ @saas_rollouts_stub.universe_domain
146
+ end
147
+
148
+ ##
149
+ # Create a new SaasRollouts client object.
150
+ #
151
+ # @example
152
+ #
153
+ # # Create a client using the default configuration
154
+ # client = ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
155
+ #
156
+ # # Create a client using a custom configuration
157
+ # client = ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new do |config|
158
+ # config.timeout = 10.0
159
+ # end
160
+ #
161
+ # @yield [config] Configure the SaasRollouts client.
162
+ # @yieldparam config [Client::Configuration]
163
+ #
164
+ def initialize
165
+ # These require statements are intentionally placed here to initialize
166
+ # the gRPC module only when it's required.
167
+ # See https://github.com/googleapis/toolkit/issues/446
168
+ require "gapic/grpc"
169
+ require "google/cloud/saasplatform/saasservicemgmt/v1beta1/rollouts_service_services_pb"
170
+
171
+ # Create the configuration object
172
+ @config = Configuration.new Client.configure
173
+
174
+ # Yield the configuration if needed
175
+ yield @config if block_given?
176
+
177
+ # Create credentials
178
+ credentials = @config.credentials
179
+ # Use self-signed JWT if the endpoint is unchanged from default,
180
+ # but only if the default endpoint does not have a region prefix.
181
+ enable_self_signed_jwt = @config.endpoint.nil? ||
182
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
183
+ !@config.endpoint.split(".").first.include?("-"))
184
+ credentials ||= Credentials.default scope: @config.scope,
185
+ enable_self_signed_jwt: enable_self_signed_jwt
186
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
187
+ credentials = Credentials.new credentials, scope: @config.scope
188
+ end
189
+ @quota_project_id = @config.quota_project
190
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
191
+
192
+ @saas_rollouts_stub = ::Gapic::ServiceStub.new(
193
+ ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Stub,
194
+ credentials: credentials,
195
+ endpoint: @config.endpoint,
196
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
197
+ universe_domain: @config.universe_domain,
198
+ channel_args: @config.channel_args,
199
+ interceptors: @config.interceptors,
200
+ channel_pool_config: @config.channel_pool,
201
+ logger: @config.logger
202
+ )
203
+
204
+ @saas_rollouts_stub.stub_logger&.info do |entry|
205
+ entry.set_system_name
206
+ entry.set_service
207
+ entry.message = "Created client for #{entry.service}"
208
+ entry.set_credentials_fields credentials
209
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
210
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
211
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
212
+ end
213
+
214
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
215
+ config.credentials = credentials
216
+ config.quota_project = @quota_project_id
217
+ config.endpoint = @saas_rollouts_stub.endpoint
218
+ config.universe_domain = @saas_rollouts_stub.universe_domain
219
+ config.logger = @saas_rollouts_stub.logger if config.respond_to? :logger=
220
+ end
221
+ end
222
+
223
+ ##
224
+ # Get the associated client for mix-in of the Locations.
225
+ #
226
+ # @return [Google::Cloud::Location::Locations::Client]
227
+ #
228
+ attr_reader :location_client
229
+
230
+ ##
231
+ # The logger used for request/response debug logging.
232
+ #
233
+ # @return [Logger]
234
+ #
235
+ def logger
236
+ @saas_rollouts_stub.logger
237
+ end
238
+
239
+ # Service calls
240
+
241
+ ##
242
+ # Retrieve a collection of rollouts.
243
+ #
244
+ # @overload list_rollouts(request, options = nil)
245
+ # Pass arguments to `list_rollouts` via a request object, either of type
246
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ListRolloutsRequest} or an equivalent Hash.
247
+ #
248
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ListRolloutsRequest, ::Hash]
249
+ # A request object representing the call parameters. Required. To specify no
250
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
251
+ # @param options [::Gapic::CallOptions, ::Hash]
252
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
253
+ #
254
+ # @overload list_rollouts(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
255
+ # Pass arguments to `list_rollouts` via keyword arguments. Note that at
256
+ # least one keyword argument is required. To specify no parameters, or to keep all
257
+ # the default parameter values, pass an empty Hash as a request object (see above).
258
+ #
259
+ # @param parent [::String]
260
+ # Required. The parent of the rollout.
261
+ # @param page_size [::Integer]
262
+ # The maximum number of rollouts to send per page.
263
+ # @param page_token [::String]
264
+ # The page token: If the next_page_token from a previous response
265
+ # is provided, this request will send the subsequent page.
266
+ # @param filter [::String]
267
+ # Filter the list as specified in https://google.aip.dev/160.
268
+ # @param order_by [::String]
269
+ # Order results as specified in https://google.aip.dev/132.
270
+ #
271
+ # @yield [response, operation] Access the result along with the RPC operation
272
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout>]
273
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
274
+ #
275
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout>]
276
+ #
277
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
278
+ #
279
+ # @example Basic example
280
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
281
+ #
282
+ # # Create a client object. The client can be reused for multiple calls.
283
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
284
+ #
285
+ # # Create a request. To set request fields, pass in keyword arguments.
286
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ListRolloutsRequest.new
287
+ #
288
+ # # Call the list_rollouts method.
289
+ # result = client.list_rollouts request
290
+ #
291
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
292
+ # # over elements, and API calls will be issued to fetch pages as needed.
293
+ # result.each do |item|
294
+ # # Each element is of type ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout.
295
+ # p item
296
+ # end
297
+ #
298
+ def list_rollouts request, options = nil
299
+ raise ::ArgumentError, "request must be provided" if request.nil?
300
+
301
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ListRolloutsRequest
302
+
303
+ # Converts hash and nil to an options object
304
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
305
+
306
+ # Customize the options with defaults
307
+ metadata = @config.rpcs.list_rollouts.metadata.to_h
308
+
309
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
310
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
311
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
312
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
313
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
314
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
315
+
316
+ header_params = {}
317
+ if request.parent
318
+ header_params["parent"] = request.parent
319
+ end
320
+
321
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
322
+ metadata[:"x-goog-request-params"] ||= request_params_header
323
+
324
+ options.apply_defaults timeout: @config.rpcs.list_rollouts.timeout,
325
+ metadata: metadata,
326
+ retry_policy: @config.rpcs.list_rollouts.retry_policy
327
+
328
+ options.apply_defaults timeout: @config.timeout,
329
+ metadata: @config.metadata,
330
+ retry_policy: @config.retry_policy
331
+
332
+ @saas_rollouts_stub.call_rpc :list_rollouts, request, options: options do |response, operation|
333
+ response = ::Gapic::PagedEnumerable.new @saas_rollouts_stub, :list_rollouts, request, response, operation, options
334
+ yield response, operation if block_given?
335
+ throw :response, response
336
+ end
337
+ rescue ::GRPC::BadStatus => e
338
+ raise ::Google::Cloud::Error.from_error(e)
339
+ end
340
+
341
+ ##
342
+ # Retrieve a single rollout.
343
+ #
344
+ # @overload get_rollout(request, options = nil)
345
+ # Pass arguments to `get_rollout` via a request object, either of type
346
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::GetRolloutRequest} or an equivalent Hash.
347
+ #
348
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::GetRolloutRequest, ::Hash]
349
+ # A request object representing the call parameters. Required. To specify no
350
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
351
+ # @param options [::Gapic::CallOptions, ::Hash]
352
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
353
+ #
354
+ # @overload get_rollout(name: nil)
355
+ # Pass arguments to `get_rollout` via keyword arguments. Note that at
356
+ # least one keyword argument is required. To specify no parameters, or to keep all
357
+ # the default parameter values, pass an empty Hash as a request object (see above).
358
+ #
359
+ # @param name [::String]
360
+ # Required. The resource name of the resource within a service.
361
+ #
362
+ # @yield [response, operation] Access the result along with the RPC operation
363
+ # @yieldparam response [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout]
364
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
365
+ #
366
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout]
367
+ #
368
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
369
+ #
370
+ # @example Basic example
371
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
372
+ #
373
+ # # Create a client object. The client can be reused for multiple calls.
374
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
375
+ #
376
+ # # Create a request. To set request fields, pass in keyword arguments.
377
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::GetRolloutRequest.new
378
+ #
379
+ # # Call the get_rollout method.
380
+ # result = client.get_rollout request
381
+ #
382
+ # # The returned object is of type Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout.
383
+ # p result
384
+ #
385
+ def get_rollout request, options = nil
386
+ raise ::ArgumentError, "request must be provided" if request.nil?
387
+
388
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::GetRolloutRequest
389
+
390
+ # Converts hash and nil to an options object
391
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
392
+
393
+ # Customize the options with defaults
394
+ metadata = @config.rpcs.get_rollout.metadata.to_h
395
+
396
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
397
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
398
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
399
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
400
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
401
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
402
+
403
+ header_params = {}
404
+ if request.name
405
+ header_params["name"] = request.name
406
+ end
407
+
408
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
409
+ metadata[:"x-goog-request-params"] ||= request_params_header
410
+
411
+ options.apply_defaults timeout: @config.rpcs.get_rollout.timeout,
412
+ metadata: metadata,
413
+ retry_policy: @config.rpcs.get_rollout.retry_policy
414
+
415
+ options.apply_defaults timeout: @config.timeout,
416
+ metadata: @config.metadata,
417
+ retry_policy: @config.retry_policy
418
+
419
+ @saas_rollouts_stub.call_rpc :get_rollout, request, options: options do |response, operation|
420
+ yield response, operation if block_given?
421
+ end
422
+ rescue ::GRPC::BadStatus => e
423
+ raise ::Google::Cloud::Error.from_error(e)
424
+ end
425
+
426
+ ##
427
+ # Create a new rollout.
428
+ #
429
+ # @overload create_rollout(request, options = nil)
430
+ # Pass arguments to `create_rollout` via a request object, either of type
431
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::CreateRolloutRequest} or an equivalent Hash.
432
+ #
433
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::CreateRolloutRequest, ::Hash]
434
+ # A request object representing the call parameters. Required. To specify no
435
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
436
+ # @param options [::Gapic::CallOptions, ::Hash]
437
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
438
+ #
439
+ # @overload create_rollout(parent: nil, rollout_id: nil, rollout: nil, validate_only: nil, request_id: nil)
440
+ # Pass arguments to `create_rollout` via keyword arguments. Note that at
441
+ # least one keyword argument is required. To specify no parameters, or to keep all
442
+ # the default parameter values, pass an empty Hash as a request object (see above).
443
+ #
444
+ # @param parent [::String]
445
+ # Required. The parent of the rollout.
446
+ # @param rollout_id [::String]
447
+ # Required. The ID value for the new rollout.
448
+ # @param rollout [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout, ::Hash]
449
+ # Required. The desired state for the rollout.
450
+ # @param validate_only [::Boolean]
451
+ # If "validate_only" is set to true, the service will try to validate
452
+ # that this request would succeed, but will not actually make changes.
453
+ # @param request_id [::String]
454
+ # An optional request ID to identify requests. Specify a unique request ID
455
+ # so that if you must retry your request, the server will know to ignore
456
+ # the request if it has already been completed. The server will guarantee
457
+ # that for at least 60 minutes since the first request.
458
+ #
459
+ # For example, consider a situation where you make an initial request and the
460
+ # request times out. If you make the request again with the same request
461
+ # ID, the server can check if original operation with the same request ID
462
+ # was received, and if so, will ignore the second request. This prevents
463
+ # clients from accidentally creating duplicate commitments.
464
+ #
465
+ # The request ID must be a valid UUID with the exception that zero UUID is
466
+ # not supported (00000000-0000-0000-0000-000000000000).
467
+ #
468
+ # @yield [response, operation] Access the result along with the RPC operation
469
+ # @yieldparam response [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout]
470
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
471
+ #
472
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout]
473
+ #
474
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
475
+ #
476
+ # @example Basic example
477
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
478
+ #
479
+ # # Create a client object. The client can be reused for multiple calls.
480
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
481
+ #
482
+ # # Create a request. To set request fields, pass in keyword arguments.
483
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::CreateRolloutRequest.new
484
+ #
485
+ # # Call the create_rollout method.
486
+ # result = client.create_rollout request
487
+ #
488
+ # # The returned object is of type Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout.
489
+ # p result
490
+ #
491
+ def create_rollout request, options = nil
492
+ raise ::ArgumentError, "request must be provided" if request.nil?
493
+
494
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::CreateRolloutRequest
495
+
496
+ # Converts hash and nil to an options object
497
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
498
+
499
+ # Customize the options with defaults
500
+ metadata = @config.rpcs.create_rollout.metadata.to_h
501
+
502
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
503
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
504
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
505
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
506
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
507
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
508
+
509
+ header_params = {}
510
+ if request.parent
511
+ header_params["parent"] = request.parent
512
+ end
513
+
514
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
515
+ metadata[:"x-goog-request-params"] ||= request_params_header
516
+
517
+ options.apply_defaults timeout: @config.rpcs.create_rollout.timeout,
518
+ metadata: metadata,
519
+ retry_policy: @config.rpcs.create_rollout.retry_policy
520
+
521
+ options.apply_defaults timeout: @config.timeout,
522
+ metadata: @config.metadata,
523
+ retry_policy: @config.retry_policy
524
+
525
+ @saas_rollouts_stub.call_rpc :create_rollout, request, options: options do |response, operation|
526
+ yield response, operation if block_given?
527
+ end
528
+ rescue ::GRPC::BadStatus => e
529
+ raise ::Google::Cloud::Error.from_error(e)
530
+ end
531
+
532
+ ##
533
+ # Update a single rollout.
534
+ #
535
+ # @overload update_rollout(request, options = nil)
536
+ # Pass arguments to `update_rollout` via a request object, either of type
537
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UpdateRolloutRequest} or an equivalent Hash.
538
+ #
539
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UpdateRolloutRequest, ::Hash]
540
+ # A request object representing the call parameters. Required. To specify no
541
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
542
+ # @param options [::Gapic::CallOptions, ::Hash]
543
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
544
+ #
545
+ # @overload update_rollout(rollout: nil, validate_only: nil, request_id: nil, update_mask: nil)
546
+ # Pass arguments to `update_rollout` via keyword arguments. Note that at
547
+ # least one keyword argument is required. To specify no parameters, or to keep all
548
+ # the default parameter values, pass an empty Hash as a request object (see above).
549
+ #
550
+ # @param rollout [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout, ::Hash]
551
+ # Required. The desired state for the rollout.
552
+ # @param validate_only [::Boolean]
553
+ # If "validate_only" is set to true, the service will try to validate
554
+ # that this request would succeed, but will not actually make changes.
555
+ # @param request_id [::String]
556
+ # An optional request ID to identify requests. Specify a unique request ID
557
+ # so that if you must retry your request, the server will know to ignore
558
+ # the request if it has already been completed. The server will guarantee
559
+ # that for at least 60 minutes since the first request.
560
+ #
561
+ # For example, consider a situation where you make an initial request and the
562
+ # request times out. If you make the request again with the same request
563
+ # ID, the server can check if original operation with the same request ID
564
+ # was received, and if so, will ignore the second request. This prevents
565
+ # clients from accidentally creating duplicate commitments.
566
+ #
567
+ # The request ID must be a valid UUID with the exception that zero UUID is
568
+ # not supported (00000000-0000-0000-0000-000000000000).
569
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
570
+ # Field mask is used to specify the fields to be overwritten in the
571
+ # Rollout resource by the update.
572
+ #
573
+ # The fields specified in the update_mask are relative to the resource, not
574
+ # the full request. A field will be overwritten if it is in the mask.
575
+ #
576
+ # If the user does not provide a mask then all fields in the
577
+ # Rollout will be overwritten.
578
+ #
579
+ # @yield [response, operation] Access the result along with the RPC operation
580
+ # @yieldparam response [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout]
581
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
582
+ #
583
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout]
584
+ #
585
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
586
+ #
587
+ # @example Basic example
588
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
589
+ #
590
+ # # Create a client object. The client can be reused for multiple calls.
591
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
592
+ #
593
+ # # Create a request. To set request fields, pass in keyword arguments.
594
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UpdateRolloutRequest.new
595
+ #
596
+ # # Call the update_rollout method.
597
+ # result = client.update_rollout request
598
+ #
599
+ # # The returned object is of type Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::Rollout.
600
+ # p result
601
+ #
602
+ def update_rollout request, options = nil
603
+ raise ::ArgumentError, "request must be provided" if request.nil?
604
+
605
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UpdateRolloutRequest
606
+
607
+ # Converts hash and nil to an options object
608
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
609
+
610
+ # Customize the options with defaults
611
+ metadata = @config.rpcs.update_rollout.metadata.to_h
612
+
613
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
614
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
615
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
616
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
617
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
618
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
619
+
620
+ header_params = {}
621
+ if request.rollout&.name
622
+ header_params["rollout.name"] = request.rollout.name
623
+ end
624
+
625
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
626
+ metadata[:"x-goog-request-params"] ||= request_params_header
627
+
628
+ options.apply_defaults timeout: @config.rpcs.update_rollout.timeout,
629
+ metadata: metadata,
630
+ retry_policy: @config.rpcs.update_rollout.retry_policy
631
+
632
+ options.apply_defaults timeout: @config.timeout,
633
+ metadata: @config.metadata,
634
+ retry_policy: @config.retry_policy
635
+
636
+ @saas_rollouts_stub.call_rpc :update_rollout, request, options: options do |response, operation|
637
+ yield response, operation if block_given?
638
+ end
639
+ rescue ::GRPC::BadStatus => e
640
+ raise ::Google::Cloud::Error.from_error(e)
641
+ end
642
+
643
+ ##
644
+ # Delete a single rollout.
645
+ #
646
+ # @overload delete_rollout(request, options = nil)
647
+ # Pass arguments to `delete_rollout` via a request object, either of type
648
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::DeleteRolloutRequest} or an equivalent Hash.
649
+ #
650
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::DeleteRolloutRequest, ::Hash]
651
+ # A request object representing the call parameters. Required. To specify no
652
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
653
+ # @param options [::Gapic::CallOptions, ::Hash]
654
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
655
+ #
656
+ # @overload delete_rollout(name: nil, etag: nil, validate_only: nil, request_id: nil)
657
+ # Pass arguments to `delete_rollout` via keyword arguments. Note that at
658
+ # least one keyword argument is required. To specify no parameters, or to keep all
659
+ # the default parameter values, pass an empty Hash as a request object (see above).
660
+ #
661
+ # @param name [::String]
662
+ # Required. The resource name of the resource within a service.
663
+ # @param etag [::String]
664
+ # The etag known to the client for the expected state of the rollout. This is
665
+ # used with state-changing methods to prevent accidental overwrites when
666
+ # multiple user agents might be acting in parallel on the same resource.
667
+ #
668
+ # An etag wildcard provide optimistic concurrency based on the expected
669
+ # existence of the rollout. The Any wildcard (`*`) requires that the resource
670
+ # must already exists, and the Not Any wildcard (`!*`) requires that it must
671
+ # not.
672
+ # @param validate_only [::Boolean]
673
+ # If "validate_only" is set to true, the service will try to validate
674
+ # that this request would succeed, but will not actually make changes.
675
+ # @param request_id [::String]
676
+ # An optional request ID to identify requests. Specify a unique request ID
677
+ # so that if you must retry your request, the server will know to ignore
678
+ # the request if it has already been completed. The server will guarantee
679
+ # that for at least 60 minutes since the first request.
680
+ #
681
+ # For example, consider a situation where you make an initial request and the
682
+ # request times out. If you make the request again with the same request
683
+ # ID, the server can check if original operation with the same request ID
684
+ # was received, and if so, will ignore the second request. This prevents
685
+ # clients from accidentally creating duplicate commitments.
686
+ #
687
+ # The request ID must be a valid UUID with the exception that zero UUID is
688
+ # not supported (00000000-0000-0000-0000-000000000000).
689
+ #
690
+ # @yield [response, operation] Access the result along with the RPC operation
691
+ # @yieldparam response [::Google::Protobuf::Empty]
692
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
693
+ #
694
+ # @return [::Google::Protobuf::Empty]
695
+ #
696
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
697
+ #
698
+ # @example Basic example
699
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
700
+ #
701
+ # # Create a client object. The client can be reused for multiple calls.
702
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
703
+ #
704
+ # # Create a request. To set request fields, pass in keyword arguments.
705
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::DeleteRolloutRequest.new
706
+ #
707
+ # # Call the delete_rollout method.
708
+ # result = client.delete_rollout request
709
+ #
710
+ # # The returned object is of type Google::Protobuf::Empty.
711
+ # p result
712
+ #
713
+ def delete_rollout request, options = nil
714
+ raise ::ArgumentError, "request must be provided" if request.nil?
715
+
716
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::DeleteRolloutRequest
717
+
718
+ # Converts hash and nil to an options object
719
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
720
+
721
+ # Customize the options with defaults
722
+ metadata = @config.rpcs.delete_rollout.metadata.to_h
723
+
724
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
725
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
726
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
727
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
728
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
729
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
730
+
731
+ header_params = {}
732
+ if request.name
733
+ header_params["name"] = request.name
734
+ end
735
+
736
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
737
+ metadata[:"x-goog-request-params"] ||= request_params_header
738
+
739
+ options.apply_defaults timeout: @config.rpcs.delete_rollout.timeout,
740
+ metadata: metadata,
741
+ retry_policy: @config.rpcs.delete_rollout.retry_policy
742
+
743
+ options.apply_defaults timeout: @config.timeout,
744
+ metadata: @config.metadata,
745
+ retry_policy: @config.retry_policy
746
+
747
+ @saas_rollouts_stub.call_rpc :delete_rollout, request, options: options do |response, operation|
748
+ yield response, operation if block_given?
749
+ end
750
+ rescue ::GRPC::BadStatus => e
751
+ raise ::Google::Cloud::Error.from_error(e)
752
+ end
753
+
754
+ ##
755
+ # Retrieve a collection of rollout kinds.
756
+ #
757
+ # @overload list_rollout_kinds(request, options = nil)
758
+ # Pass arguments to `list_rollout_kinds` via a request object, either of type
759
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ListRolloutKindsRequest} or an equivalent Hash.
760
+ #
761
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ListRolloutKindsRequest, ::Hash]
762
+ # A request object representing the call parameters. Required. To specify no
763
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
764
+ # @param options [::Gapic::CallOptions, ::Hash]
765
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
766
+ #
767
+ # @overload list_rollout_kinds(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
768
+ # Pass arguments to `list_rollout_kinds` via keyword arguments. Note that at
769
+ # least one keyword argument is required. To specify no parameters, or to keep all
770
+ # the default parameter values, pass an empty Hash as a request object (see above).
771
+ #
772
+ # @param parent [::String]
773
+ # Required. The parent of the rollout kind.
774
+ # @param page_size [::Integer]
775
+ # The maximum number of rollout kinds to send per page.
776
+ # @param page_token [::String]
777
+ # The page token: If the next_page_token from a previous response
778
+ # is provided, this request will send the subsequent page.
779
+ # @param filter [::String]
780
+ # Filter the list as specified in https://google.aip.dev/160.
781
+ # @param order_by [::String]
782
+ # Order results as specified in https://google.aip.dev/132.
783
+ #
784
+ # @yield [response, operation] Access the result along with the RPC operation
785
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind>]
786
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
787
+ #
788
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind>]
789
+ #
790
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
791
+ #
792
+ # @example Basic example
793
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
794
+ #
795
+ # # Create a client object. The client can be reused for multiple calls.
796
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
797
+ #
798
+ # # Create a request. To set request fields, pass in keyword arguments.
799
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ListRolloutKindsRequest.new
800
+ #
801
+ # # Call the list_rollout_kinds method.
802
+ # result = client.list_rollout_kinds request
803
+ #
804
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
805
+ # # over elements, and API calls will be issued to fetch pages as needed.
806
+ # result.each do |item|
807
+ # # Each element is of type ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind.
808
+ # p item
809
+ # end
810
+ #
811
+ def list_rollout_kinds request, options = nil
812
+ raise ::ArgumentError, "request must be provided" if request.nil?
813
+
814
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::ListRolloutKindsRequest
815
+
816
+ # Converts hash and nil to an options object
817
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
818
+
819
+ # Customize the options with defaults
820
+ metadata = @config.rpcs.list_rollout_kinds.metadata.to_h
821
+
822
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
823
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
824
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
825
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
826
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
827
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
828
+
829
+ header_params = {}
830
+ if request.parent
831
+ header_params["parent"] = request.parent
832
+ end
833
+
834
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
835
+ metadata[:"x-goog-request-params"] ||= request_params_header
836
+
837
+ options.apply_defaults timeout: @config.rpcs.list_rollout_kinds.timeout,
838
+ metadata: metadata,
839
+ retry_policy: @config.rpcs.list_rollout_kinds.retry_policy
840
+
841
+ options.apply_defaults timeout: @config.timeout,
842
+ metadata: @config.metadata,
843
+ retry_policy: @config.retry_policy
844
+
845
+ @saas_rollouts_stub.call_rpc :list_rollout_kinds, request, options: options do |response, operation|
846
+ response = ::Gapic::PagedEnumerable.new @saas_rollouts_stub, :list_rollout_kinds, request, response, operation, options
847
+ yield response, operation if block_given?
848
+ throw :response, response
849
+ end
850
+ rescue ::GRPC::BadStatus => e
851
+ raise ::Google::Cloud::Error.from_error(e)
852
+ end
853
+
854
+ ##
855
+ # Retrieve a single rollout kind.
856
+ #
857
+ # @overload get_rollout_kind(request, options = nil)
858
+ # Pass arguments to `get_rollout_kind` via a request object, either of type
859
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::GetRolloutKindRequest} or an equivalent Hash.
860
+ #
861
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::GetRolloutKindRequest, ::Hash]
862
+ # A request object representing the call parameters. Required. To specify no
863
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
864
+ # @param options [::Gapic::CallOptions, ::Hash]
865
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
866
+ #
867
+ # @overload get_rollout_kind(name: nil)
868
+ # Pass arguments to `get_rollout_kind` via keyword arguments. Note that at
869
+ # least one keyword argument is required. To specify no parameters, or to keep all
870
+ # the default parameter values, pass an empty Hash as a request object (see above).
871
+ #
872
+ # @param name [::String]
873
+ # Required. The resource name of the resource within a service.
874
+ #
875
+ # @yield [response, operation] Access the result along with the RPC operation
876
+ # @yieldparam response [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind]
877
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
878
+ #
879
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind]
880
+ #
881
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
882
+ #
883
+ # @example Basic example
884
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
885
+ #
886
+ # # Create a client object. The client can be reused for multiple calls.
887
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
888
+ #
889
+ # # Create a request. To set request fields, pass in keyword arguments.
890
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::GetRolloutKindRequest.new
891
+ #
892
+ # # Call the get_rollout_kind method.
893
+ # result = client.get_rollout_kind request
894
+ #
895
+ # # The returned object is of type Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind.
896
+ # p result
897
+ #
898
+ def get_rollout_kind request, options = nil
899
+ raise ::ArgumentError, "request must be provided" if request.nil?
900
+
901
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::GetRolloutKindRequest
902
+
903
+ # Converts hash and nil to an options object
904
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
905
+
906
+ # Customize the options with defaults
907
+ metadata = @config.rpcs.get_rollout_kind.metadata.to_h
908
+
909
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
910
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
911
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
912
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
913
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
914
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
915
+
916
+ header_params = {}
917
+ if request.name
918
+ header_params["name"] = request.name
919
+ end
920
+
921
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
922
+ metadata[:"x-goog-request-params"] ||= request_params_header
923
+
924
+ options.apply_defaults timeout: @config.rpcs.get_rollout_kind.timeout,
925
+ metadata: metadata,
926
+ retry_policy: @config.rpcs.get_rollout_kind.retry_policy
927
+
928
+ options.apply_defaults timeout: @config.timeout,
929
+ metadata: @config.metadata,
930
+ retry_policy: @config.retry_policy
931
+
932
+ @saas_rollouts_stub.call_rpc :get_rollout_kind, request, options: options do |response, operation|
933
+ yield response, operation if block_given?
934
+ end
935
+ rescue ::GRPC::BadStatus => e
936
+ raise ::Google::Cloud::Error.from_error(e)
937
+ end
938
+
939
+ ##
940
+ # Create a new rollout kind.
941
+ #
942
+ # @overload create_rollout_kind(request, options = nil)
943
+ # Pass arguments to `create_rollout_kind` via a request object, either of type
944
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::CreateRolloutKindRequest} or an equivalent Hash.
945
+ #
946
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::CreateRolloutKindRequest, ::Hash]
947
+ # A request object representing the call parameters. Required. To specify no
948
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
949
+ # @param options [::Gapic::CallOptions, ::Hash]
950
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
951
+ #
952
+ # @overload create_rollout_kind(parent: nil, rollout_kind_id: nil, rollout_kind: nil, validate_only: nil, request_id: nil)
953
+ # Pass arguments to `create_rollout_kind` via keyword arguments. Note that at
954
+ # least one keyword argument is required. To specify no parameters, or to keep all
955
+ # the default parameter values, pass an empty Hash as a request object (see above).
956
+ #
957
+ # @param parent [::String]
958
+ # Required. The parent of the rollout kind.
959
+ # @param rollout_kind_id [::String]
960
+ # Required. The ID value for the new rollout kind.
961
+ # @param rollout_kind [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind, ::Hash]
962
+ # Required. The desired state for the rollout kind.
963
+ # @param validate_only [::Boolean]
964
+ # If "validate_only" is set to true, the service will try to validate
965
+ # that this request would succeed, but will not actually make changes.
966
+ # @param request_id [::String]
967
+ # An optional request ID to identify requests. Specify a unique request ID
968
+ # so that if you must retry your request, the server will know to ignore
969
+ # the request if it has already been completed. The server will guarantee
970
+ # that for at least 60 minutes since the first request.
971
+ #
972
+ # For example, consider a situation where you make an initial request and the
973
+ # request times out. If you make the request again with the same request
974
+ # ID, the server can check if original operation with the same request ID
975
+ # was received, and if so, will ignore the second request. This prevents
976
+ # clients from accidentally creating duplicate commitments.
977
+ #
978
+ # The request ID must be a valid UUID with the exception that zero UUID is
979
+ # not supported (00000000-0000-0000-0000-000000000000).
980
+ #
981
+ # @yield [response, operation] Access the result along with the RPC operation
982
+ # @yieldparam response [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind]
983
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
984
+ #
985
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind]
986
+ #
987
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
988
+ #
989
+ # @example Basic example
990
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
991
+ #
992
+ # # Create a client object. The client can be reused for multiple calls.
993
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
994
+ #
995
+ # # Create a request. To set request fields, pass in keyword arguments.
996
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::CreateRolloutKindRequest.new
997
+ #
998
+ # # Call the create_rollout_kind method.
999
+ # result = client.create_rollout_kind request
1000
+ #
1001
+ # # The returned object is of type Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind.
1002
+ # p result
1003
+ #
1004
+ def create_rollout_kind request, options = nil
1005
+ raise ::ArgumentError, "request must be provided" if request.nil?
1006
+
1007
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::CreateRolloutKindRequest
1008
+
1009
+ # Converts hash and nil to an options object
1010
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1011
+
1012
+ # Customize the options with defaults
1013
+ metadata = @config.rpcs.create_rollout_kind.metadata.to_h
1014
+
1015
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1016
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1017
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1018
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
1019
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1020
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1021
+
1022
+ header_params = {}
1023
+ if request.parent
1024
+ header_params["parent"] = request.parent
1025
+ end
1026
+
1027
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1028
+ metadata[:"x-goog-request-params"] ||= request_params_header
1029
+
1030
+ options.apply_defaults timeout: @config.rpcs.create_rollout_kind.timeout,
1031
+ metadata: metadata,
1032
+ retry_policy: @config.rpcs.create_rollout_kind.retry_policy
1033
+
1034
+ options.apply_defaults timeout: @config.timeout,
1035
+ metadata: @config.metadata,
1036
+ retry_policy: @config.retry_policy
1037
+
1038
+ @saas_rollouts_stub.call_rpc :create_rollout_kind, request, options: options do |response, operation|
1039
+ yield response, operation if block_given?
1040
+ end
1041
+ rescue ::GRPC::BadStatus => e
1042
+ raise ::Google::Cloud::Error.from_error(e)
1043
+ end
1044
+
1045
+ ##
1046
+ # Update a single rollout kind.
1047
+ #
1048
+ # @overload update_rollout_kind(request, options = nil)
1049
+ # Pass arguments to `update_rollout_kind` via a request object, either of type
1050
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UpdateRolloutKindRequest} or an equivalent Hash.
1051
+ #
1052
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UpdateRolloutKindRequest, ::Hash]
1053
+ # A request object representing the call parameters. Required. To specify no
1054
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1055
+ # @param options [::Gapic::CallOptions, ::Hash]
1056
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1057
+ #
1058
+ # @overload update_rollout_kind(rollout_kind: nil, validate_only: nil, request_id: nil, update_mask: nil)
1059
+ # Pass arguments to `update_rollout_kind` via keyword arguments. Note that at
1060
+ # least one keyword argument is required. To specify no parameters, or to keep all
1061
+ # the default parameter values, pass an empty Hash as a request object (see above).
1062
+ #
1063
+ # @param rollout_kind [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind, ::Hash]
1064
+ # Required. The desired state for the rollout kind.
1065
+ # @param validate_only [::Boolean]
1066
+ # If "validate_only" is set to true, the service will try to validate
1067
+ # that this request would succeed, but will not actually make changes.
1068
+ # @param request_id [::String]
1069
+ # An optional request ID to identify requests. Specify a unique request ID
1070
+ # so that if you must retry your request, the server will know to ignore
1071
+ # the request if it has already been completed. The server will guarantee
1072
+ # that for at least 60 minutes since the first request.
1073
+ #
1074
+ # For example, consider a situation where you make an initial request and the
1075
+ # request times out. If you make the request again with the same request
1076
+ # ID, the server can check if original operation with the same request ID
1077
+ # was received, and if so, will ignore the second request. This prevents
1078
+ # clients from accidentally creating duplicate commitments.
1079
+ #
1080
+ # The request ID must be a valid UUID with the exception that zero UUID is
1081
+ # not supported (00000000-0000-0000-0000-000000000000).
1082
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
1083
+ # Field mask is used to specify the fields to be overwritten in the
1084
+ # RolloutKind resource by the update.
1085
+ #
1086
+ # The fields specified in the update_mask are relative to the resource, not
1087
+ # the full request. A field will be overwritten if it is in the mask.
1088
+ #
1089
+ # If the user does not provide a mask then all fields in the
1090
+ # RolloutKind will be overwritten.
1091
+ #
1092
+ # @yield [response, operation] Access the result along with the RPC operation
1093
+ # @yieldparam response [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind]
1094
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1095
+ #
1096
+ # @return [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind]
1097
+ #
1098
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1099
+ #
1100
+ # @example Basic example
1101
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
1102
+ #
1103
+ # # Create a client object. The client can be reused for multiple calls.
1104
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
1105
+ #
1106
+ # # Create a request. To set request fields, pass in keyword arguments.
1107
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UpdateRolloutKindRequest.new
1108
+ #
1109
+ # # Call the update_rollout_kind method.
1110
+ # result = client.update_rollout_kind request
1111
+ #
1112
+ # # The returned object is of type Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::RolloutKind.
1113
+ # p result
1114
+ #
1115
+ def update_rollout_kind request, options = nil
1116
+ raise ::ArgumentError, "request must be provided" if request.nil?
1117
+
1118
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::UpdateRolloutKindRequest
1119
+
1120
+ # Converts hash and nil to an options object
1121
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1122
+
1123
+ # Customize the options with defaults
1124
+ metadata = @config.rpcs.update_rollout_kind.metadata.to_h
1125
+
1126
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1127
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1128
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1129
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
1130
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1131
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1132
+
1133
+ header_params = {}
1134
+ if request.rollout_kind&.name
1135
+ header_params["rollout_kind.name"] = request.rollout_kind.name
1136
+ end
1137
+
1138
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1139
+ metadata[:"x-goog-request-params"] ||= request_params_header
1140
+
1141
+ options.apply_defaults timeout: @config.rpcs.update_rollout_kind.timeout,
1142
+ metadata: metadata,
1143
+ retry_policy: @config.rpcs.update_rollout_kind.retry_policy
1144
+
1145
+ options.apply_defaults timeout: @config.timeout,
1146
+ metadata: @config.metadata,
1147
+ retry_policy: @config.retry_policy
1148
+
1149
+ @saas_rollouts_stub.call_rpc :update_rollout_kind, request, options: options do |response, operation|
1150
+ yield response, operation if block_given?
1151
+ end
1152
+ rescue ::GRPC::BadStatus => e
1153
+ raise ::Google::Cloud::Error.from_error(e)
1154
+ end
1155
+
1156
+ ##
1157
+ # Delete a single rollout kind.
1158
+ #
1159
+ # @overload delete_rollout_kind(request, options = nil)
1160
+ # Pass arguments to `delete_rollout_kind` via a request object, either of type
1161
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::DeleteRolloutKindRequest} or an equivalent Hash.
1162
+ #
1163
+ # @param request [::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::DeleteRolloutKindRequest, ::Hash]
1164
+ # A request object representing the call parameters. Required. To specify no
1165
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1166
+ # @param options [::Gapic::CallOptions, ::Hash]
1167
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1168
+ #
1169
+ # @overload delete_rollout_kind(name: nil, etag: nil, validate_only: nil, request_id: nil)
1170
+ # Pass arguments to `delete_rollout_kind` via keyword arguments. Note that at
1171
+ # least one keyword argument is required. To specify no parameters, or to keep all
1172
+ # the default parameter values, pass an empty Hash as a request object (see above).
1173
+ #
1174
+ # @param name [::String]
1175
+ # Required. The resource name of the resource within a service.
1176
+ # @param etag [::String]
1177
+ # The etag known to the client for the expected state of the rollout kind.
1178
+ # This is used with state-changing methods to prevent accidental overwrites
1179
+ # when multiple user agents might be acting in parallel on the same resource.
1180
+ #
1181
+ # An etag wildcard provide optimistic concurrency based on the expected
1182
+ # existence of the rollout kind. The Any wildcard (`*`) requires that the
1183
+ # resource must already exists, and the Not Any wildcard (`!*`) requires that
1184
+ # it must not.
1185
+ # @param validate_only [::Boolean]
1186
+ # If "validate_only" is set to true, the service will try to validate
1187
+ # that this request would succeed, but will not actually make changes.
1188
+ # @param request_id [::String]
1189
+ # An optional request ID to identify requests. Specify a unique request ID
1190
+ # so that if you must retry your request, the server will know to ignore
1191
+ # the request if it has already been completed. The server will guarantee
1192
+ # that for at least 60 minutes since the first request.
1193
+ #
1194
+ # For example, consider a situation where you make an initial request and the
1195
+ # request times out. If you make the request again with the same request
1196
+ # ID, the server can check if original operation with the same request ID
1197
+ # was received, and if so, will ignore the second request. This prevents
1198
+ # clients from accidentally creating duplicate commitments.
1199
+ #
1200
+ # The request ID must be a valid UUID with the exception that zero UUID is
1201
+ # not supported (00000000-0000-0000-0000-000000000000).
1202
+ #
1203
+ # @yield [response, operation] Access the result along with the RPC operation
1204
+ # @yieldparam response [::Google::Protobuf::Empty]
1205
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1206
+ #
1207
+ # @return [::Google::Protobuf::Empty]
1208
+ #
1209
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1210
+ #
1211
+ # @example Basic example
1212
+ # require "google/cloud/saas_platform/saas_service_mgmt/v1beta1"
1213
+ #
1214
+ # # Create a client object. The client can be reused for multiple calls.
1215
+ # client = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new
1216
+ #
1217
+ # # Create a request. To set request fields, pass in keyword arguments.
1218
+ # request = Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::DeleteRolloutKindRequest.new
1219
+ #
1220
+ # # Call the delete_rollout_kind method.
1221
+ # result = client.delete_rollout_kind request
1222
+ #
1223
+ # # The returned object is of type Google::Protobuf::Empty.
1224
+ # p result
1225
+ #
1226
+ def delete_rollout_kind request, options = nil
1227
+ raise ::ArgumentError, "request must be provided" if request.nil?
1228
+
1229
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::DeleteRolloutKindRequest
1230
+
1231
+ # Converts hash and nil to an options object
1232
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1233
+
1234
+ # Customize the options with defaults
1235
+ metadata = @config.rpcs.delete_rollout_kind.metadata.to_h
1236
+
1237
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
1238
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1239
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1240
+ gapic_version: ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::VERSION
1241
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
1242
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1243
+
1244
+ header_params = {}
1245
+ if request.name
1246
+ header_params["name"] = request.name
1247
+ end
1248
+
1249
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1250
+ metadata[:"x-goog-request-params"] ||= request_params_header
1251
+
1252
+ options.apply_defaults timeout: @config.rpcs.delete_rollout_kind.timeout,
1253
+ metadata: metadata,
1254
+ retry_policy: @config.rpcs.delete_rollout_kind.retry_policy
1255
+
1256
+ options.apply_defaults timeout: @config.timeout,
1257
+ metadata: @config.metadata,
1258
+ retry_policy: @config.retry_policy
1259
+
1260
+ @saas_rollouts_stub.call_rpc :delete_rollout_kind, request, options: options do |response, operation|
1261
+ yield response, operation if block_given?
1262
+ end
1263
+ rescue ::GRPC::BadStatus => e
1264
+ raise ::Google::Cloud::Error.from_error(e)
1265
+ end
1266
+
1267
+ ##
1268
+ # Configuration class for the SaasRollouts API.
1269
+ #
1270
+ # This class represents the configuration for SaasRollouts,
1271
+ # providing control over timeouts, retry behavior, logging, transport
1272
+ # parameters, and other low-level controls. Certain parameters can also be
1273
+ # applied individually to specific RPCs. See
1274
+ # {::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client::Configuration::Rpcs}
1275
+ # for a list of RPCs that can be configured independently.
1276
+ #
1277
+ # Configuration can be applied globally to all clients, or to a single client
1278
+ # on construction.
1279
+ #
1280
+ # @example
1281
+ #
1282
+ # # Modify the global config, setting the timeout for
1283
+ # # list_rollouts to 20 seconds,
1284
+ # # and all remaining timeouts to 10 seconds.
1285
+ # ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.configure do |config|
1286
+ # config.timeout = 10.0
1287
+ # config.rpcs.list_rollouts.timeout = 20.0
1288
+ # end
1289
+ #
1290
+ # # Apply the above configuration only to a new client.
1291
+ # client = ::Google::Cloud::SaasPlatform::SaasServiceMgmt::V1beta1::SaasRollouts::Client.new do |config|
1292
+ # config.timeout = 10.0
1293
+ # config.rpcs.list_rollouts.timeout = 20.0
1294
+ # end
1295
+ #
1296
+ # @!attribute [rw] endpoint
1297
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1298
+ # nil, indicating to use the default endpoint in the current universe domain.
1299
+ # @return [::String,nil]
1300
+ # @!attribute [rw] credentials
1301
+ # Credentials to send with calls. You may provide any of the following types:
1302
+ # * (`String`) The path to a service account key file in JSON format
1303
+ # * (`Hash`) A service account key as a Hash
1304
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1305
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
1306
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1307
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
1308
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1309
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1310
+ # * (`nil`) indicating no credentials
1311
+ #
1312
+ # Warning: If you accept a credential configuration (JSON file or Hash) from an
1313
+ # external source for authentication to Google Cloud, you must validate it before
1314
+ # providing it to a Google API client library. Providing an unvalidated credential
1315
+ # configuration to Google APIs can compromise the security of your systems and data.
1316
+ # For more information, refer to [Validate credential configurations from external
1317
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
1318
+ # @return [::Object]
1319
+ # @!attribute [rw] scope
1320
+ # The OAuth scopes
1321
+ # @return [::Array<::String>]
1322
+ # @!attribute [rw] lib_name
1323
+ # The library name as recorded in instrumentation and logging
1324
+ # @return [::String]
1325
+ # @!attribute [rw] lib_version
1326
+ # The library version as recorded in instrumentation and logging
1327
+ # @return [::String]
1328
+ # @!attribute [rw] channel_args
1329
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
1330
+ # `GRPC::Core::Channel` object is provided as the credential.
1331
+ # @return [::Hash]
1332
+ # @!attribute [rw] interceptors
1333
+ # An array of interceptors that are run before calls are executed.
1334
+ # @return [::Array<::GRPC::ClientInterceptor>]
1335
+ # @!attribute [rw] timeout
1336
+ # The call timeout in seconds.
1337
+ # @return [::Numeric]
1338
+ # @!attribute [rw] metadata
1339
+ # Additional gRPC headers to be sent with the call.
1340
+ # @return [::Hash{::Symbol=>::String}]
1341
+ # @!attribute [rw] retry_policy
1342
+ # The retry policy. The value is a hash with the following keys:
1343
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1344
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1345
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1346
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1347
+ # trigger a retry.
1348
+ # @return [::Hash]
1349
+ # @!attribute [rw] quota_project
1350
+ # A separate project against which to charge quota.
1351
+ # @return [::String]
1352
+ # @!attribute [rw] universe_domain
1353
+ # The universe domain within which to make requests. This determines the
1354
+ # default endpoint URL. The default value of nil uses the environment
1355
+ # universe (usually the default "googleapis.com" universe).
1356
+ # @return [::String,nil]
1357
+ # @!attribute [rw] logger
1358
+ # A custom logger to use for request/response debug logging, or the value
1359
+ # `:default` (the default) to construct a default logger, or `nil` to
1360
+ # explicitly disable logging.
1361
+ # @return [::Logger,:default,nil]
1362
+ #
1363
+ class Configuration
1364
+ extend ::Gapic::Config
1365
+
1366
+ # @private
1367
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1368
+ DEFAULT_ENDPOINT = "saasservicemgmt.googleapis.com"
1369
+
1370
+ config_attr :endpoint, nil, ::String, nil
1371
+ config_attr :credentials, nil do |value|
1372
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil]
1373
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel
1374
+ allowed.any? { |klass| klass === value }
1375
+ end
1376
+ config_attr :scope, nil, ::String, ::Array, nil
1377
+ config_attr :lib_name, nil, ::String, nil
1378
+ config_attr :lib_version, nil, ::String, nil
1379
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
1380
+ config_attr :interceptors, nil, ::Array, nil
1381
+ config_attr :timeout, nil, ::Numeric, nil
1382
+ config_attr :metadata, nil, ::Hash, nil
1383
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1384
+ config_attr :quota_project, nil, ::String, nil
1385
+ config_attr :universe_domain, nil, ::String, nil
1386
+ config_attr :logger, :default, ::Logger, nil, :default
1387
+
1388
+ # @private
1389
+ def initialize parent_config = nil
1390
+ @parent_config = parent_config unless parent_config.nil?
1391
+
1392
+ yield self if block_given?
1393
+ end
1394
+
1395
+ ##
1396
+ # Configurations for individual RPCs
1397
+ # @return [Rpcs]
1398
+ #
1399
+ def rpcs
1400
+ @rpcs ||= begin
1401
+ parent_rpcs = nil
1402
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
1403
+ Rpcs.new parent_rpcs
1404
+ end
1405
+ end
1406
+
1407
+ ##
1408
+ # Configuration for the channel pool
1409
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
1410
+ #
1411
+ def channel_pool
1412
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
1413
+ end
1414
+
1415
+ ##
1416
+ # Configuration RPC class for the SaasRollouts API.
1417
+ #
1418
+ # Includes fields providing the configuration for each RPC in this service.
1419
+ # Each configuration object is of type `Gapic::Config::Method` and includes
1420
+ # the following configuration fields:
1421
+ #
1422
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
1423
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1424
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1425
+ # include the following keys:
1426
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1427
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1428
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1429
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1430
+ # trigger a retry.
1431
+ #
1432
+ class Rpcs
1433
+ ##
1434
+ # RPC-specific configuration for `list_rollouts`
1435
+ # @return [::Gapic::Config::Method]
1436
+ #
1437
+ attr_reader :list_rollouts
1438
+ ##
1439
+ # RPC-specific configuration for `get_rollout`
1440
+ # @return [::Gapic::Config::Method]
1441
+ #
1442
+ attr_reader :get_rollout
1443
+ ##
1444
+ # RPC-specific configuration for `create_rollout`
1445
+ # @return [::Gapic::Config::Method]
1446
+ #
1447
+ attr_reader :create_rollout
1448
+ ##
1449
+ # RPC-specific configuration for `update_rollout`
1450
+ # @return [::Gapic::Config::Method]
1451
+ #
1452
+ attr_reader :update_rollout
1453
+ ##
1454
+ # RPC-specific configuration for `delete_rollout`
1455
+ # @return [::Gapic::Config::Method]
1456
+ #
1457
+ attr_reader :delete_rollout
1458
+ ##
1459
+ # RPC-specific configuration for `list_rollout_kinds`
1460
+ # @return [::Gapic::Config::Method]
1461
+ #
1462
+ attr_reader :list_rollout_kinds
1463
+ ##
1464
+ # RPC-specific configuration for `get_rollout_kind`
1465
+ # @return [::Gapic::Config::Method]
1466
+ #
1467
+ attr_reader :get_rollout_kind
1468
+ ##
1469
+ # RPC-specific configuration for `create_rollout_kind`
1470
+ # @return [::Gapic::Config::Method]
1471
+ #
1472
+ attr_reader :create_rollout_kind
1473
+ ##
1474
+ # RPC-specific configuration for `update_rollout_kind`
1475
+ # @return [::Gapic::Config::Method]
1476
+ #
1477
+ attr_reader :update_rollout_kind
1478
+ ##
1479
+ # RPC-specific configuration for `delete_rollout_kind`
1480
+ # @return [::Gapic::Config::Method]
1481
+ #
1482
+ attr_reader :delete_rollout_kind
1483
+
1484
+ # @private
1485
+ def initialize parent_rpcs = nil
1486
+ list_rollouts_config = parent_rpcs.list_rollouts if parent_rpcs.respond_to? :list_rollouts
1487
+ @list_rollouts = ::Gapic::Config::Method.new list_rollouts_config
1488
+ get_rollout_config = parent_rpcs.get_rollout if parent_rpcs.respond_to? :get_rollout
1489
+ @get_rollout = ::Gapic::Config::Method.new get_rollout_config
1490
+ create_rollout_config = parent_rpcs.create_rollout if parent_rpcs.respond_to? :create_rollout
1491
+ @create_rollout = ::Gapic::Config::Method.new create_rollout_config
1492
+ update_rollout_config = parent_rpcs.update_rollout if parent_rpcs.respond_to? :update_rollout
1493
+ @update_rollout = ::Gapic::Config::Method.new update_rollout_config
1494
+ delete_rollout_config = parent_rpcs.delete_rollout if parent_rpcs.respond_to? :delete_rollout
1495
+ @delete_rollout = ::Gapic::Config::Method.new delete_rollout_config
1496
+ list_rollout_kinds_config = parent_rpcs.list_rollout_kinds if parent_rpcs.respond_to? :list_rollout_kinds
1497
+ @list_rollout_kinds = ::Gapic::Config::Method.new list_rollout_kinds_config
1498
+ get_rollout_kind_config = parent_rpcs.get_rollout_kind if parent_rpcs.respond_to? :get_rollout_kind
1499
+ @get_rollout_kind = ::Gapic::Config::Method.new get_rollout_kind_config
1500
+ create_rollout_kind_config = parent_rpcs.create_rollout_kind if parent_rpcs.respond_to? :create_rollout_kind
1501
+ @create_rollout_kind = ::Gapic::Config::Method.new create_rollout_kind_config
1502
+ update_rollout_kind_config = parent_rpcs.update_rollout_kind if parent_rpcs.respond_to? :update_rollout_kind
1503
+ @update_rollout_kind = ::Gapic::Config::Method.new update_rollout_kind_config
1504
+ delete_rollout_kind_config = parent_rpcs.delete_rollout_kind if parent_rpcs.respond_to? :delete_rollout_kind
1505
+ @delete_rollout_kind = ::Gapic::Config::Method.new delete_rollout_kind_config
1506
+
1507
+ yield self if block_given?
1508
+ end
1509
+ end
1510
+ end
1511
+ end
1512
+ end
1513
+ end
1514
+ end
1515
+ end
1516
+ end
1517
+ end