google-cloud-service_management-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +75 -0
  6. data/lib/google-cloud-service_management-v1.rb +21 -0
  7. data/lib/google/api/servicemanagement/v1/resources_pb.rb +123 -0
  8. data/lib/google/api/servicemanagement/v1/servicemanager_pb.rb +146 -0
  9. data/lib/google/api/servicemanagement/v1/servicemanager_services_pb.rb +148 -0
  10. data/lib/google/cloud/service_management/v1.rb +35 -0
  11. data/lib/google/cloud/service_management/v1/service_manager.rb +49 -0
  12. data/lib/google/cloud/service_management/v1/service_manager/client.rb +1563 -0
  13. data/lib/google/cloud/service_management/v1/service_manager/credentials.rb +54 -0
  14. data/lib/google/cloud/service_management/v1/service_manager/operations.rb +570 -0
  15. data/lib/google/cloud/service_management/v1/version.rb +28 -0
  16. data/proto_docs/README.md +4 -0
  17. data/proto_docs/google/api/auth.rb +192 -0
  18. data/proto_docs/google/api/backend.rb +55 -0
  19. data/proto_docs/google/api/billing.rb +69 -0
  20. data/proto_docs/google/api/config_change.rb +89 -0
  21. data/proto_docs/google/api/context.rb +67 -0
  22. data/proto_docs/google/api/control.rb +34 -0
  23. data/proto_docs/google/api/documentation.rb +164 -0
  24. data/proto_docs/google/api/endpoint.rb +70 -0
  25. data/proto_docs/google/api/field_behavior.rb +59 -0
  26. data/proto_docs/google/api/label.rb +49 -0
  27. data/proto_docs/google/api/log.rb +54 -0
  28. data/proto_docs/google/api/logging.rb +85 -0
  29. data/proto_docs/google/api/metric.rb +203 -0
  30. data/proto_docs/google/api/monitored_resource.rb +137 -0
  31. data/proto_docs/google/api/monitoring.rb +91 -0
  32. data/proto_docs/google/api/quota.rb +281 -0
  33. data/proto_docs/google/api/resource.rb +283 -0
  34. data/proto_docs/google/api/service.rb +151 -0
  35. data/proto_docs/google/api/servicemanagement/v1/resources.rb +326 -0
  36. data/proto_docs/google/api/servicemanagement/v1/servicemanager.rb +370 -0
  37. data/proto_docs/google/api/source_info.rb +31 -0
  38. data/proto_docs/google/api/system_parameter.rb +103 -0
  39. data/proto_docs/google/api/usage.rb +94 -0
  40. data/proto_docs/google/longrunning/operations.rb +150 -0
  41. data/proto_docs/google/protobuf/any.rb +138 -0
  42. data/proto_docs/google/protobuf/api.rb +194 -0
  43. data/proto_docs/google/protobuf/empty.rb +36 -0
  44. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  45. data/proto_docs/google/protobuf/source_context.rb +33 -0
  46. data/proto_docs/google/protobuf/struct.rb +96 -0
  47. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  48. data/proto_docs/google/protobuf/type.rb +223 -0
  49. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  50. data/proto_docs/google/rpc/status.rb +46 -0
  51. metadata +232 -0
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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 "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/service_management/v1/version"
24
+
25
+ require "google/cloud/service_management/v1/service_manager/credentials"
26
+ require "google/cloud/service_management/v1/service_manager/operations"
27
+ require "google/cloud/service_management/v1/service_manager/client"
28
+
29
+ module Google
30
+ module Cloud
31
+ module ServiceManagement
32
+ module V1
33
+ ##
34
+ # [Google Service Management API](/service-management/overview)
35
+ #
36
+ # To load this service and instantiate a client:
37
+ #
38
+ # require "google/cloud/service_management/v1/service_manager"
39
+ # client = ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.new
40
+ #
41
+ module ServiceManager
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+
48
+ helper_path = ::File.join __dir__, "service_manager", "helpers.rb"
49
+ require "google/cloud/service_management/v1/service_manager/helpers" if ::File.file? helper_path
@@ -0,0 +1,1563 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 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/api/servicemanagement/v1/servicemanager_pb"
21
+
22
+ module Google
23
+ module Cloud
24
+ module ServiceManagement
25
+ module V1
26
+ module ServiceManager
27
+ ##
28
+ # Client for the ServiceManager service.
29
+ #
30
+ # [Google Service Management API](/service-management/overview)
31
+ #
32
+ class Client
33
+ # @private
34
+ attr_reader :service_manager_stub
35
+
36
+ ##
37
+ # Configure the ServiceManager Client class.
38
+ #
39
+ # See {::Google::Cloud::ServiceManagement::V1::ServiceManager::Client::Configuration}
40
+ # for a description of the configuration fields.
41
+ #
42
+ # ## Example
43
+ #
44
+ # To modify the configuration for all ServiceManager clients:
45
+ #
46
+ # ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.configure do |config|
47
+ # config.timeout = 10.0
48
+ # end
49
+ #
50
+ # @yield [config] Configure the Client client.
51
+ # @yieldparam config [Client::Configuration]
52
+ #
53
+ # @return [Client::Configuration]
54
+ #
55
+ def self.configure
56
+ @configure ||= begin
57
+ namespace = ["Google", "Cloud", "ServiceManagement", "V1"]
58
+ parent_config = while namespace.any?
59
+ parent_name = namespace.join "::"
60
+ parent_const = const_get parent_name
61
+ break parent_const.configure if parent_const&.respond_to? :configure
62
+ namespace.pop
63
+ end
64
+ default_config = Client::Configuration.new parent_config
65
+
66
+ default_config
67
+ end
68
+ yield @configure if block_given?
69
+ @configure
70
+ end
71
+
72
+ ##
73
+ # Configure the ServiceManager Client instance.
74
+ #
75
+ # The configuration is set to the derived mode, meaning that values can be changed,
76
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
77
+ # should be made on {Client.configure}.
78
+ #
79
+ # See {::Google::Cloud::ServiceManagement::V1::ServiceManager::Client::Configuration}
80
+ # for a description of the configuration fields.
81
+ #
82
+ # @yield [config] Configure the Client client.
83
+ # @yieldparam config [Client::Configuration]
84
+ #
85
+ # @return [Client::Configuration]
86
+ #
87
+ def configure
88
+ yield @config if block_given?
89
+ @config
90
+ end
91
+
92
+ ##
93
+ # Create a new ServiceManager client object.
94
+ #
95
+ # ## Examples
96
+ #
97
+ # To create a new ServiceManager client with the default
98
+ # configuration:
99
+ #
100
+ # client = ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.new
101
+ #
102
+ # To create a new ServiceManager client with a custom
103
+ # configuration:
104
+ #
105
+ # client = ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.new do |config|
106
+ # config.timeout = 10.0
107
+ # end
108
+ #
109
+ # @yield [config] Configure the ServiceManager client.
110
+ # @yieldparam config [Client::Configuration]
111
+ #
112
+ def initialize
113
+ # These require statements are intentionally placed here to initialize
114
+ # the gRPC module only when it's required.
115
+ # See https://github.com/googleapis/toolkit/issues/446
116
+ require "gapic/grpc"
117
+ require "google/api/servicemanagement/v1/servicemanager_services_pb"
118
+
119
+ # Create the configuration object
120
+ @config = Configuration.new Client.configure
121
+
122
+ # Yield the configuration if needed
123
+ yield @config if block_given?
124
+
125
+ # Create credentials
126
+ credentials = @config.credentials
127
+ credentials ||= Credentials.default scope: @config.scope
128
+ if credentials.is_a?(String) || credentials.is_a?(Hash)
129
+ credentials = Credentials.new credentials, scope: @config.scope
130
+ end
131
+ @quota_project_id = @config.quota_project
132
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
133
+
134
+ @operations_client = Operations.new do |config|
135
+ config.credentials = credentials
136
+ config.endpoint = @config.endpoint
137
+ end
138
+
139
+ @service_manager_stub = ::Gapic::ServiceStub.new(
140
+ ::Google::Cloud::ServiceManagement::V1::ServiceManager::Stub,
141
+ credentials: credentials,
142
+ endpoint: @config.endpoint,
143
+ channel_args: @config.channel_args,
144
+ interceptors: @config.interceptors
145
+ )
146
+ end
147
+
148
+ ##
149
+ # Get the associated client for long-running operations.
150
+ #
151
+ # @return [::Google::Cloud::ServiceManagement::V1::ServiceManager::Operations]
152
+ #
153
+ attr_reader :operations_client
154
+
155
+ # Service calls
156
+
157
+ ##
158
+ # Lists managed services.
159
+ #
160
+ # Returns all public services. For authenticated users, also returns all
161
+ # services the calling user has "servicemanagement.services.get" permission
162
+ # for.
163
+ #
164
+ # **BETA:** If the caller specifies the `consumer_id`, it returns only the
165
+ # services enabled on the consumer. The `consumer_id` must have the format
166
+ # of "project:\\{PROJECT-ID}".
167
+ #
168
+ # @overload list_services(request, options = nil)
169
+ # Pass arguments to `list_services` via a request object, either of type
170
+ # {::Google::Cloud::ServiceManagement::V1::ListServicesRequest} or an equivalent Hash.
171
+ #
172
+ # @param request [::Google::Cloud::ServiceManagement::V1::ListServicesRequest, ::Hash]
173
+ # A request object representing the call parameters. Required. To specify no
174
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
175
+ # @param options [::Gapic::CallOptions, ::Hash]
176
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
177
+ #
178
+ # @overload list_services(producer_project_id: nil, page_size: nil, page_token: nil, consumer_id: nil)
179
+ # Pass arguments to `list_services` via keyword arguments. Note that at
180
+ # least one keyword argument is required. To specify no parameters, or to keep all
181
+ # the default parameter values, pass an empty Hash as a request object (see above).
182
+ #
183
+ # @param producer_project_id [::String]
184
+ # Include services produced by the specified project.
185
+ # @param page_size [::Integer]
186
+ # The max number of items to include in the response list. Page size is 50
187
+ # if not specified. Maximum value is 100.
188
+ # @param page_token [::String]
189
+ # Token identifying which result to start with; returned by a previous list
190
+ # call.
191
+ # @param consumer_id [::String]
192
+ # Include services consumed by the specified consumer.
193
+ #
194
+ # The Google Service Management implementation accepts the following
195
+ # forms:
196
+ # - project:<project_id>
197
+ #
198
+ # @yield [response, operation] Access the result along with the RPC operation
199
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::ServiceManagement::V1::ManagedService>]
200
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
201
+ #
202
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::ServiceManagement::V1::ManagedService>]
203
+ #
204
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
205
+ #
206
+ def list_services request, options = nil
207
+ raise ::ArgumentError, "request must be provided" if request.nil?
208
+
209
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::ListServicesRequest
210
+
211
+ # Converts hash and nil to an options object
212
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
213
+
214
+ # Customize the options with defaults
215
+ metadata = @config.rpcs.list_services.metadata.to_h
216
+
217
+ # Set x-goog-api-client and x-goog-user-project headers
218
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
219
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
220
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
221
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
222
+
223
+ options.apply_defaults timeout: @config.rpcs.list_services.timeout,
224
+ metadata: metadata,
225
+ retry_policy: @config.rpcs.list_services.retry_policy
226
+ options.apply_defaults metadata: @config.metadata,
227
+ retry_policy: @config.retry_policy
228
+
229
+ @service_manager_stub.call_rpc :list_services, request, options: options do |response, operation|
230
+ response = ::Gapic::PagedEnumerable.new @service_manager_stub, :list_services, request, response, operation, options
231
+ yield response, operation if block_given?
232
+ return response
233
+ end
234
+ rescue ::GRPC::BadStatus => e
235
+ raise ::Google::Cloud::Error.from_error(e)
236
+ end
237
+
238
+ ##
239
+ # Gets a managed service. Authentication is required unless the service is
240
+ # public.
241
+ #
242
+ # @overload get_service(request, options = nil)
243
+ # Pass arguments to `get_service` via a request object, either of type
244
+ # {::Google::Cloud::ServiceManagement::V1::GetServiceRequest} or an equivalent Hash.
245
+ #
246
+ # @param request [::Google::Cloud::ServiceManagement::V1::GetServiceRequest, ::Hash]
247
+ # A request object representing the call parameters. Required. To specify no
248
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
249
+ # @param options [::Gapic::CallOptions, ::Hash]
250
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
251
+ #
252
+ # @overload get_service(service_name: nil)
253
+ # Pass arguments to `get_service` via keyword arguments. Note that at
254
+ # least one keyword argument is required. To specify no parameters, or to keep all
255
+ # the default parameter values, pass an empty Hash as a request object (see above).
256
+ #
257
+ # @param service_name [::String]
258
+ # Required. The name of the service. See the `ServiceManager` overview for naming
259
+ # requirements. For example: `example.googleapis.com`.
260
+ #
261
+ # @yield [response, operation] Access the result along with the RPC operation
262
+ # @yieldparam response [::Google::Cloud::ServiceManagement::V1::ManagedService]
263
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
264
+ #
265
+ # @return [::Google::Cloud::ServiceManagement::V1::ManagedService]
266
+ #
267
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
268
+ #
269
+ def get_service request, options = nil
270
+ raise ::ArgumentError, "request must be provided" if request.nil?
271
+
272
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::GetServiceRequest
273
+
274
+ # Converts hash and nil to an options object
275
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
276
+
277
+ # Customize the options with defaults
278
+ metadata = @config.rpcs.get_service.metadata.to_h
279
+
280
+ # Set x-goog-api-client and x-goog-user-project headers
281
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
282
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
283
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
284
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
285
+
286
+ header_params = {
287
+ "service_name" => request.service_name
288
+ }
289
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
290
+ metadata[:"x-goog-request-params"] ||= request_params_header
291
+
292
+ options.apply_defaults timeout: @config.rpcs.get_service.timeout,
293
+ metadata: metadata,
294
+ retry_policy: @config.rpcs.get_service.retry_policy
295
+ options.apply_defaults metadata: @config.metadata,
296
+ retry_policy: @config.retry_policy
297
+
298
+ @service_manager_stub.call_rpc :get_service, request, options: options do |response, operation|
299
+ yield response, operation if block_given?
300
+ return response
301
+ end
302
+ rescue ::GRPC::BadStatus => e
303
+ raise ::Google::Cloud::Error.from_error(e)
304
+ end
305
+
306
+ ##
307
+ # Creates a new managed service.
308
+ # Please note one producer project can own no more than 20 services.
309
+ #
310
+ # Operation<response: ManagedService>
311
+ #
312
+ # @overload create_service(request, options = nil)
313
+ # Pass arguments to `create_service` via a request object, either of type
314
+ # {::Google::Cloud::ServiceManagement::V1::CreateServiceRequest} or an equivalent Hash.
315
+ #
316
+ # @param request [::Google::Cloud::ServiceManagement::V1::CreateServiceRequest, ::Hash]
317
+ # A request object representing the call parameters. Required. To specify no
318
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
319
+ # @param options [::Gapic::CallOptions, ::Hash]
320
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
321
+ #
322
+ # @overload create_service(service: nil)
323
+ # Pass arguments to `create_service` via keyword arguments. Note that at
324
+ # least one keyword argument is required. To specify no parameters, or to keep all
325
+ # the default parameter values, pass an empty Hash as a request object (see above).
326
+ #
327
+ # @param service [::Google::Cloud::ServiceManagement::V1::ManagedService, ::Hash]
328
+ # Required. Initial values for the service resource.
329
+ #
330
+ # @yield [response, operation] Access the result along with the RPC operation
331
+ # @yieldparam response [::Gapic::Operation]
332
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
333
+ #
334
+ # @return [::Gapic::Operation]
335
+ #
336
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
337
+ #
338
+ def create_service request, options = nil
339
+ raise ::ArgumentError, "request must be provided" if request.nil?
340
+
341
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::CreateServiceRequest
342
+
343
+ # Converts hash and nil to an options object
344
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
345
+
346
+ # Customize the options with defaults
347
+ metadata = @config.rpcs.create_service.metadata.to_h
348
+
349
+ # Set x-goog-api-client and x-goog-user-project headers
350
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
351
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
352
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
353
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
354
+
355
+ options.apply_defaults timeout: @config.rpcs.create_service.timeout,
356
+ metadata: metadata,
357
+ retry_policy: @config.rpcs.create_service.retry_policy
358
+ options.apply_defaults metadata: @config.metadata,
359
+ retry_policy: @config.retry_policy
360
+
361
+ @service_manager_stub.call_rpc :create_service, request, options: options do |response, operation|
362
+ response = ::Gapic::Operation.new response, @operations_client, options: options
363
+ yield response, operation if block_given?
364
+ return response
365
+ end
366
+ rescue ::GRPC::BadStatus => e
367
+ raise ::Google::Cloud::Error.from_error(e)
368
+ end
369
+
370
+ ##
371
+ # Deletes a managed service. This method will change the service to the
372
+ # `Soft-Delete` state for 30 days. Within this period, service producers may
373
+ # call {::Google::Cloud::ServiceManagement::V1::ServiceManager::Client#undelete_service UndeleteService} to restore the service.
374
+ # After 30 days, the service will be permanently deleted.
375
+ #
376
+ # Operation<response: google.protobuf.Empty>
377
+ #
378
+ # @overload delete_service(request, options = nil)
379
+ # Pass arguments to `delete_service` via a request object, either of type
380
+ # {::Google::Cloud::ServiceManagement::V1::DeleteServiceRequest} or an equivalent Hash.
381
+ #
382
+ # @param request [::Google::Cloud::ServiceManagement::V1::DeleteServiceRequest, ::Hash]
383
+ # A request object representing the call parameters. Required. To specify no
384
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
385
+ # @param options [::Gapic::CallOptions, ::Hash]
386
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
387
+ #
388
+ # @overload delete_service(service_name: nil)
389
+ # Pass arguments to `delete_service` via keyword arguments. Note that at
390
+ # least one keyword argument is required. To specify no parameters, or to keep all
391
+ # the default parameter values, pass an empty Hash as a request object (see above).
392
+ #
393
+ # @param service_name [::String]
394
+ # Required. The name of the service. See the [overview](/service-management/overview)
395
+ # for naming requirements. For example: `example.googleapis.com`.
396
+ #
397
+ # @yield [response, operation] Access the result along with the RPC operation
398
+ # @yieldparam response [::Gapic::Operation]
399
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
400
+ #
401
+ # @return [::Gapic::Operation]
402
+ #
403
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
404
+ #
405
+ def delete_service request, options = nil
406
+ raise ::ArgumentError, "request must be provided" if request.nil?
407
+
408
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::DeleteServiceRequest
409
+
410
+ # Converts hash and nil to an options object
411
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
412
+
413
+ # Customize the options with defaults
414
+ metadata = @config.rpcs.delete_service.metadata.to_h
415
+
416
+ # Set x-goog-api-client and x-goog-user-project headers
417
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
418
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
419
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
420
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
421
+
422
+ header_params = {
423
+ "service_name" => request.service_name
424
+ }
425
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
426
+ metadata[:"x-goog-request-params"] ||= request_params_header
427
+
428
+ options.apply_defaults timeout: @config.rpcs.delete_service.timeout,
429
+ metadata: metadata,
430
+ retry_policy: @config.rpcs.delete_service.retry_policy
431
+ options.apply_defaults metadata: @config.metadata,
432
+ retry_policy: @config.retry_policy
433
+
434
+ @service_manager_stub.call_rpc :delete_service, request, options: options do |response, operation|
435
+ response = ::Gapic::Operation.new response, @operations_client, options: options
436
+ yield response, operation if block_given?
437
+ return response
438
+ end
439
+ rescue ::GRPC::BadStatus => e
440
+ raise ::Google::Cloud::Error.from_error(e)
441
+ end
442
+
443
+ ##
444
+ # Revives a previously deleted managed service. The method restores the
445
+ # service using the configuration at the time the service was deleted.
446
+ # The target service must exist and must have been deleted within the
447
+ # last 30 days.
448
+ #
449
+ # Operation<response: UndeleteServiceResponse>
450
+ #
451
+ # @overload undelete_service(request, options = nil)
452
+ # Pass arguments to `undelete_service` via a request object, either of type
453
+ # {::Google::Cloud::ServiceManagement::V1::UndeleteServiceRequest} or an equivalent Hash.
454
+ #
455
+ # @param request [::Google::Cloud::ServiceManagement::V1::UndeleteServiceRequest, ::Hash]
456
+ # A request object representing the call parameters. Required. To specify no
457
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
458
+ # @param options [::Gapic::CallOptions, ::Hash]
459
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
460
+ #
461
+ # @overload undelete_service(service_name: nil)
462
+ # Pass arguments to `undelete_service` via keyword arguments. Note that at
463
+ # least one keyword argument is required. To specify no parameters, or to keep all
464
+ # the default parameter values, pass an empty Hash as a request object (see above).
465
+ #
466
+ # @param service_name [::String]
467
+ # Required. The name of the service. See the [overview](/service-management/overview)
468
+ # for naming requirements. For example: `example.googleapis.com`.
469
+ #
470
+ # @yield [response, operation] Access the result along with the RPC operation
471
+ # @yieldparam response [::Gapic::Operation]
472
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
473
+ #
474
+ # @return [::Gapic::Operation]
475
+ #
476
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
477
+ #
478
+ def undelete_service request, options = nil
479
+ raise ::ArgumentError, "request must be provided" if request.nil?
480
+
481
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::UndeleteServiceRequest
482
+
483
+ # Converts hash and nil to an options object
484
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
485
+
486
+ # Customize the options with defaults
487
+ metadata = @config.rpcs.undelete_service.metadata.to_h
488
+
489
+ # Set x-goog-api-client and x-goog-user-project headers
490
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
491
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
492
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
493
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
494
+
495
+ header_params = {
496
+ "service_name" => request.service_name
497
+ }
498
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
499
+ metadata[:"x-goog-request-params"] ||= request_params_header
500
+
501
+ options.apply_defaults timeout: @config.rpcs.undelete_service.timeout,
502
+ metadata: metadata,
503
+ retry_policy: @config.rpcs.undelete_service.retry_policy
504
+ options.apply_defaults metadata: @config.metadata,
505
+ retry_policy: @config.retry_policy
506
+
507
+ @service_manager_stub.call_rpc :undelete_service, request, options: options do |response, operation|
508
+ response = ::Gapic::Operation.new response, @operations_client, options: options
509
+ yield response, operation if block_given?
510
+ return response
511
+ end
512
+ rescue ::GRPC::BadStatus => e
513
+ raise ::Google::Cloud::Error.from_error(e)
514
+ end
515
+
516
+ ##
517
+ # Lists the history of the service configuration for a managed service,
518
+ # from the newest to the oldest.
519
+ #
520
+ # @overload list_service_configs(request, options = nil)
521
+ # Pass arguments to `list_service_configs` via a request object, either of type
522
+ # {::Google::Cloud::ServiceManagement::V1::ListServiceConfigsRequest} or an equivalent Hash.
523
+ #
524
+ # @param request [::Google::Cloud::ServiceManagement::V1::ListServiceConfigsRequest, ::Hash]
525
+ # A request object representing the call parameters. Required. To specify no
526
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
527
+ # @param options [::Gapic::CallOptions, ::Hash]
528
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
529
+ #
530
+ # @overload list_service_configs(service_name: nil, page_token: nil, page_size: nil)
531
+ # Pass arguments to `list_service_configs` via keyword arguments. Note that at
532
+ # least one keyword argument is required. To specify no parameters, or to keep all
533
+ # the default parameter values, pass an empty Hash as a request object (see above).
534
+ #
535
+ # @param service_name [::String]
536
+ # Required. The name of the service. See the [overview](/service-management/overview)
537
+ # for naming requirements. For example: `example.googleapis.com`.
538
+ # @param page_token [::String]
539
+ # The token of the page to retrieve.
540
+ # @param page_size [::Integer]
541
+ # The max number of items to include in the response list. Page size is 50
542
+ # if not specified. Maximum value is 100.
543
+ #
544
+ # @yield [response, operation] Access the result along with the RPC operation
545
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Api::Service>]
546
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
547
+ #
548
+ # @return [::Gapic::PagedEnumerable<::Google::Api::Service>]
549
+ #
550
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
551
+ #
552
+ def list_service_configs request, options = nil
553
+ raise ::ArgumentError, "request must be provided" if request.nil?
554
+
555
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::ListServiceConfigsRequest
556
+
557
+ # Converts hash and nil to an options object
558
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
559
+
560
+ # Customize the options with defaults
561
+ metadata = @config.rpcs.list_service_configs.metadata.to_h
562
+
563
+ # Set x-goog-api-client and x-goog-user-project headers
564
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
565
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
566
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
567
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
568
+
569
+ header_params = {
570
+ "service_name" => request.service_name
571
+ }
572
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
573
+ metadata[:"x-goog-request-params"] ||= request_params_header
574
+
575
+ options.apply_defaults timeout: @config.rpcs.list_service_configs.timeout,
576
+ metadata: metadata,
577
+ retry_policy: @config.rpcs.list_service_configs.retry_policy
578
+ options.apply_defaults metadata: @config.metadata,
579
+ retry_policy: @config.retry_policy
580
+
581
+ @service_manager_stub.call_rpc :list_service_configs, request, options: options do |response, operation|
582
+ response = ::Gapic::PagedEnumerable.new @service_manager_stub, :list_service_configs, request, response, operation, options
583
+ yield response, operation if block_given?
584
+ return response
585
+ end
586
+ rescue ::GRPC::BadStatus => e
587
+ raise ::Google::Cloud::Error.from_error(e)
588
+ end
589
+
590
+ ##
591
+ # Gets a service configuration (version) for a managed service.
592
+ #
593
+ # @overload get_service_config(request, options = nil)
594
+ # Pass arguments to `get_service_config` via a request object, either of type
595
+ # {::Google::Cloud::ServiceManagement::V1::GetServiceConfigRequest} or an equivalent Hash.
596
+ #
597
+ # @param request [::Google::Cloud::ServiceManagement::V1::GetServiceConfigRequest, ::Hash]
598
+ # A request object representing the call parameters. Required. To specify no
599
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
600
+ # @param options [::Gapic::CallOptions, ::Hash]
601
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
602
+ #
603
+ # @overload get_service_config(service_name: nil, config_id: nil, view: nil)
604
+ # Pass arguments to `get_service_config` via keyword arguments. Note that at
605
+ # least one keyword argument is required. To specify no parameters, or to keep all
606
+ # the default parameter values, pass an empty Hash as a request object (see above).
607
+ #
608
+ # @param service_name [::String]
609
+ # Required. The name of the service. See the [overview](/service-management/overview)
610
+ # for naming requirements. For example: `example.googleapis.com`.
611
+ # @param config_id [::String]
612
+ # Required. The id of the service configuration resource.
613
+ #
614
+ # This field must be specified for the server to return all fields, including
615
+ # `SourceInfo`.
616
+ # @param view [::Google::Cloud::ServiceManagement::V1::GetServiceConfigRequest::ConfigView]
617
+ # Specifies which parts of the Service Config should be returned in the
618
+ # response.
619
+ #
620
+ # @yield [response, operation] Access the result along with the RPC operation
621
+ # @yieldparam response [::Google::Api::Service]
622
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
623
+ #
624
+ # @return [::Google::Api::Service]
625
+ #
626
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
627
+ #
628
+ def get_service_config request, options = nil
629
+ raise ::ArgumentError, "request must be provided" if request.nil?
630
+
631
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::GetServiceConfigRequest
632
+
633
+ # Converts hash and nil to an options object
634
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
635
+
636
+ # Customize the options with defaults
637
+ metadata = @config.rpcs.get_service_config.metadata.to_h
638
+
639
+ # Set x-goog-api-client and x-goog-user-project headers
640
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
641
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
642
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
643
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
644
+
645
+ header_params = {
646
+ "service_name" => request.service_name,
647
+ "config_id" => request.config_id
648
+ }
649
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
650
+ metadata[:"x-goog-request-params"] ||= request_params_header
651
+
652
+ options.apply_defaults timeout: @config.rpcs.get_service_config.timeout,
653
+ metadata: metadata,
654
+ retry_policy: @config.rpcs.get_service_config.retry_policy
655
+ options.apply_defaults metadata: @config.metadata,
656
+ retry_policy: @config.retry_policy
657
+
658
+ @service_manager_stub.call_rpc :get_service_config, request, options: options do |response, operation|
659
+ yield response, operation if block_given?
660
+ return response
661
+ end
662
+ rescue ::GRPC::BadStatus => e
663
+ raise ::Google::Cloud::Error.from_error(e)
664
+ end
665
+
666
+ ##
667
+ # Creates a new service configuration (version) for a managed service.
668
+ # This method only stores the service configuration. To roll out the service
669
+ # configuration to backend systems please call
670
+ # {::Google::Cloud::ServiceManagement::V1::ServiceManager::Client#create_service_rollout CreateServiceRollout}.
671
+ #
672
+ # Only the 100 most recent service configurations and ones referenced by
673
+ # existing rollouts are kept for each service. The rest will be deleted
674
+ # eventually.
675
+ #
676
+ # @overload create_service_config(request, options = nil)
677
+ # Pass arguments to `create_service_config` via a request object, either of type
678
+ # {::Google::Cloud::ServiceManagement::V1::CreateServiceConfigRequest} or an equivalent Hash.
679
+ #
680
+ # @param request [::Google::Cloud::ServiceManagement::V1::CreateServiceConfigRequest, ::Hash]
681
+ # A request object representing the call parameters. Required. To specify no
682
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
683
+ # @param options [::Gapic::CallOptions, ::Hash]
684
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
685
+ #
686
+ # @overload create_service_config(service_name: nil, service_config: nil)
687
+ # Pass arguments to `create_service_config` via keyword arguments. Note that at
688
+ # least one keyword argument is required. To specify no parameters, or to keep all
689
+ # the default parameter values, pass an empty Hash as a request object (see above).
690
+ #
691
+ # @param service_name [::String]
692
+ # Required. The name of the service. See the [overview](/service-management/overview)
693
+ # for naming requirements. For example: `example.googleapis.com`.
694
+ # @param service_config [::Google::Api::Service, ::Hash]
695
+ # Required. The service configuration resource.
696
+ #
697
+ # @yield [response, operation] Access the result along with the RPC operation
698
+ # @yieldparam response [::Google::Api::Service]
699
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
700
+ #
701
+ # @return [::Google::Api::Service]
702
+ #
703
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
704
+ #
705
+ def create_service_config request, options = nil
706
+ raise ::ArgumentError, "request must be provided" if request.nil?
707
+
708
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::CreateServiceConfigRequest
709
+
710
+ # Converts hash and nil to an options object
711
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
712
+
713
+ # Customize the options with defaults
714
+ metadata = @config.rpcs.create_service_config.metadata.to_h
715
+
716
+ # Set x-goog-api-client and x-goog-user-project headers
717
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
718
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
719
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
720
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
721
+
722
+ header_params = {
723
+ "service_name" => request.service_name
724
+ }
725
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
726
+ metadata[:"x-goog-request-params"] ||= request_params_header
727
+
728
+ options.apply_defaults timeout: @config.rpcs.create_service_config.timeout,
729
+ metadata: metadata,
730
+ retry_policy: @config.rpcs.create_service_config.retry_policy
731
+ options.apply_defaults metadata: @config.metadata,
732
+ retry_policy: @config.retry_policy
733
+
734
+ @service_manager_stub.call_rpc :create_service_config, request, options: options do |response, operation|
735
+ yield response, operation if block_given?
736
+ return response
737
+ end
738
+ rescue ::GRPC::BadStatus => e
739
+ raise ::Google::Cloud::Error.from_error(e)
740
+ end
741
+
742
+ ##
743
+ # Creates a new service configuration (version) for a managed service based
744
+ # on
745
+ # user-supplied configuration source files (for example: OpenAPI
746
+ # Specification). This method stores the source configurations as well as the
747
+ # generated service configuration. To rollout the service configuration to
748
+ # other services,
749
+ # please call {::Google::Cloud::ServiceManagement::V1::ServiceManager::Client#create_service_rollout CreateServiceRollout}.
750
+ #
751
+ # Only the 100 most recent configuration sources and ones referenced by
752
+ # existing service configurtions are kept for each service. The rest will be
753
+ # deleted eventually.
754
+ #
755
+ # Operation<response: SubmitConfigSourceResponse>
756
+ #
757
+ # @overload submit_config_source(request, options = nil)
758
+ # Pass arguments to `submit_config_source` via a request object, either of type
759
+ # {::Google::Cloud::ServiceManagement::V1::SubmitConfigSourceRequest} or an equivalent Hash.
760
+ #
761
+ # @param request [::Google::Cloud::ServiceManagement::V1::SubmitConfigSourceRequest, ::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 submit_config_source(service_name: nil, config_source: nil, validate_only: nil)
768
+ # Pass arguments to `submit_config_source` 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 service_name [::String]
773
+ # Required. The name of the service. See the [overview](/service-management/overview)
774
+ # for naming requirements. For example: `example.googleapis.com`.
775
+ # @param config_source [::Google::Cloud::ServiceManagement::V1::ConfigSource, ::Hash]
776
+ # Required. The source configuration for the service.
777
+ # @param validate_only [::Boolean]
778
+ # Optional. If set, this will result in the generation of a
779
+ # `google.api.Service` configuration based on the `ConfigSource` provided,
780
+ # but the generated config and the sources will NOT be persisted.
781
+ #
782
+ # @yield [response, operation] Access the result along with the RPC operation
783
+ # @yieldparam response [::Gapic::Operation]
784
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
785
+ #
786
+ # @return [::Gapic::Operation]
787
+ #
788
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
789
+ #
790
+ def submit_config_source request, options = nil
791
+ raise ::ArgumentError, "request must be provided" if request.nil?
792
+
793
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::SubmitConfigSourceRequest
794
+
795
+ # Converts hash and nil to an options object
796
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
797
+
798
+ # Customize the options with defaults
799
+ metadata = @config.rpcs.submit_config_source.metadata.to_h
800
+
801
+ # Set x-goog-api-client and x-goog-user-project headers
802
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
803
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
804
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
805
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
806
+
807
+ header_params = {
808
+ "service_name" => request.service_name
809
+ }
810
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
811
+ metadata[:"x-goog-request-params"] ||= request_params_header
812
+
813
+ options.apply_defaults timeout: @config.rpcs.submit_config_source.timeout,
814
+ metadata: metadata,
815
+ retry_policy: @config.rpcs.submit_config_source.retry_policy
816
+ options.apply_defaults metadata: @config.metadata,
817
+ retry_policy: @config.retry_policy
818
+
819
+ @service_manager_stub.call_rpc :submit_config_source, request, options: options do |response, operation|
820
+ response = ::Gapic::Operation.new response, @operations_client, options: options
821
+ yield response, operation if block_given?
822
+ return response
823
+ end
824
+ rescue ::GRPC::BadStatus => e
825
+ raise ::Google::Cloud::Error.from_error(e)
826
+ end
827
+
828
+ ##
829
+ # Lists the history of the service configuration rollouts for a managed
830
+ # service, from the newest to the oldest.
831
+ #
832
+ # @overload list_service_rollouts(request, options = nil)
833
+ # Pass arguments to `list_service_rollouts` via a request object, either of type
834
+ # {::Google::Cloud::ServiceManagement::V1::ListServiceRolloutsRequest} or an equivalent Hash.
835
+ #
836
+ # @param request [::Google::Cloud::ServiceManagement::V1::ListServiceRolloutsRequest, ::Hash]
837
+ # A request object representing the call parameters. Required. To specify no
838
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
839
+ # @param options [::Gapic::CallOptions, ::Hash]
840
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
841
+ #
842
+ # @overload list_service_rollouts(service_name: nil, page_token: nil, page_size: nil, filter: nil)
843
+ # Pass arguments to `list_service_rollouts` via keyword arguments. Note that at
844
+ # least one keyword argument is required. To specify no parameters, or to keep all
845
+ # the default parameter values, pass an empty Hash as a request object (see above).
846
+ #
847
+ # @param service_name [::String]
848
+ # Required. The name of the service. See the [overview](/service-management/overview)
849
+ # for naming requirements. For example: `example.googleapis.com`.
850
+ # @param page_token [::String]
851
+ # The token of the page to retrieve.
852
+ # @param page_size [::Integer]
853
+ # The max number of items to include in the response list. Page size is 50
854
+ # if not specified. Maximum value is 100.
855
+ # @param filter [::String]
856
+ # Required. Use `filter` to return subset of rollouts.
857
+ # The following filters are supported:
858
+ # -- To limit the results to only those in
859
+ # [status](google.api.servicemanagement.v1.RolloutStatus) 'SUCCESS',
860
+ # use filter='status=SUCCESS'
861
+ # -- To limit the results to those in
862
+ # [status](google.api.servicemanagement.v1.RolloutStatus) 'CANCELLED'
863
+ # or 'FAILED', use filter='status=CANCELLED OR status=FAILED'
864
+ #
865
+ # @yield [response, operation] Access the result along with the RPC operation
866
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::ServiceManagement::V1::Rollout>]
867
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
868
+ #
869
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::ServiceManagement::V1::Rollout>]
870
+ #
871
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
872
+ #
873
+ def list_service_rollouts request, options = nil
874
+ raise ::ArgumentError, "request must be provided" if request.nil?
875
+
876
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::ListServiceRolloutsRequest
877
+
878
+ # Converts hash and nil to an options object
879
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
880
+
881
+ # Customize the options with defaults
882
+ metadata = @config.rpcs.list_service_rollouts.metadata.to_h
883
+
884
+ # Set x-goog-api-client and x-goog-user-project headers
885
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
886
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
887
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
888
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
889
+
890
+ header_params = {
891
+ "service_name" => request.service_name
892
+ }
893
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
894
+ metadata[:"x-goog-request-params"] ||= request_params_header
895
+
896
+ options.apply_defaults timeout: @config.rpcs.list_service_rollouts.timeout,
897
+ metadata: metadata,
898
+ retry_policy: @config.rpcs.list_service_rollouts.retry_policy
899
+ options.apply_defaults metadata: @config.metadata,
900
+ retry_policy: @config.retry_policy
901
+
902
+ @service_manager_stub.call_rpc :list_service_rollouts, request, options: options do |response, operation|
903
+ response = ::Gapic::PagedEnumerable.new @service_manager_stub, :list_service_rollouts, request, response, operation, options
904
+ yield response, operation if block_given?
905
+ return response
906
+ end
907
+ rescue ::GRPC::BadStatus => e
908
+ raise ::Google::Cloud::Error.from_error(e)
909
+ end
910
+
911
+ ##
912
+ # Gets a service configuration {::Google::Cloud::ServiceManagement::V1::Rollout rollout}.
913
+ #
914
+ # @overload get_service_rollout(request, options = nil)
915
+ # Pass arguments to `get_service_rollout` via a request object, either of type
916
+ # {::Google::Cloud::ServiceManagement::V1::GetServiceRolloutRequest} or an equivalent Hash.
917
+ #
918
+ # @param request [::Google::Cloud::ServiceManagement::V1::GetServiceRolloutRequest, ::Hash]
919
+ # A request object representing the call parameters. Required. To specify no
920
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
921
+ # @param options [::Gapic::CallOptions, ::Hash]
922
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
923
+ #
924
+ # @overload get_service_rollout(service_name: nil, rollout_id: nil)
925
+ # Pass arguments to `get_service_rollout` via keyword arguments. Note that at
926
+ # least one keyword argument is required. To specify no parameters, or to keep all
927
+ # the default parameter values, pass an empty Hash as a request object (see above).
928
+ #
929
+ # @param service_name [::String]
930
+ # Required. The name of the service. See the [overview](/service-management/overview)
931
+ # for naming requirements. For example: `example.googleapis.com`.
932
+ # @param rollout_id [::String]
933
+ # Required. The id of the rollout resource.
934
+ #
935
+ # @yield [response, operation] Access the result along with the RPC operation
936
+ # @yieldparam response [::Google::Cloud::ServiceManagement::V1::Rollout]
937
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
938
+ #
939
+ # @return [::Google::Cloud::ServiceManagement::V1::Rollout]
940
+ #
941
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
942
+ #
943
+ def get_service_rollout request, options = nil
944
+ raise ::ArgumentError, "request must be provided" if request.nil?
945
+
946
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::GetServiceRolloutRequest
947
+
948
+ # Converts hash and nil to an options object
949
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
950
+
951
+ # Customize the options with defaults
952
+ metadata = @config.rpcs.get_service_rollout.metadata.to_h
953
+
954
+ # Set x-goog-api-client and x-goog-user-project headers
955
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
956
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
957
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
958
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
959
+
960
+ header_params = {
961
+ "service_name" => request.service_name,
962
+ "rollout_id" => request.rollout_id
963
+ }
964
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
965
+ metadata[:"x-goog-request-params"] ||= request_params_header
966
+
967
+ options.apply_defaults timeout: @config.rpcs.get_service_rollout.timeout,
968
+ metadata: metadata,
969
+ retry_policy: @config.rpcs.get_service_rollout.retry_policy
970
+ options.apply_defaults metadata: @config.metadata,
971
+ retry_policy: @config.retry_policy
972
+
973
+ @service_manager_stub.call_rpc :get_service_rollout, request, options: options do |response, operation|
974
+ yield response, operation if block_given?
975
+ return response
976
+ end
977
+ rescue ::GRPC::BadStatus => e
978
+ raise ::Google::Cloud::Error.from_error(e)
979
+ end
980
+
981
+ ##
982
+ # Creates a new service configuration rollout. Based on rollout, the
983
+ # Google Service Management will roll out the service configurations to
984
+ # different backend services. For example, the logging configuration will be
985
+ # pushed to Google Cloud Logging.
986
+ #
987
+ # Please note that any previous pending and running Rollouts and associated
988
+ # Operations will be automatically cancelled so that the latest Rollout will
989
+ # not be blocked by previous Rollouts.
990
+ #
991
+ # Only the 100 most recent (in any state) and the last 10 successful (if not
992
+ # already part of the set of 100 most recent) rollouts are kept for each
993
+ # service. The rest will be deleted eventually.
994
+ #
995
+ # Operation<response: Rollout>
996
+ #
997
+ # @overload create_service_rollout(request, options = nil)
998
+ # Pass arguments to `create_service_rollout` via a request object, either of type
999
+ # {::Google::Cloud::ServiceManagement::V1::CreateServiceRolloutRequest} or an equivalent Hash.
1000
+ #
1001
+ # @param request [::Google::Cloud::ServiceManagement::V1::CreateServiceRolloutRequest, ::Hash]
1002
+ # A request object representing the call parameters. Required. To specify no
1003
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1004
+ # @param options [::Gapic::CallOptions, ::Hash]
1005
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1006
+ #
1007
+ # @overload create_service_rollout(service_name: nil, rollout: nil)
1008
+ # Pass arguments to `create_service_rollout` via keyword arguments. Note that at
1009
+ # least one keyword argument is required. To specify no parameters, or to keep all
1010
+ # the default parameter values, pass an empty Hash as a request object (see above).
1011
+ #
1012
+ # @param service_name [::String]
1013
+ # Required. The name of the service. See the [overview](/service-management/overview)
1014
+ # for naming requirements. For example: `example.googleapis.com`.
1015
+ # @param rollout [::Google::Cloud::ServiceManagement::V1::Rollout, ::Hash]
1016
+ # Required. The rollout resource. The `service_name` field is output only.
1017
+ #
1018
+ # @yield [response, operation] Access the result along with the RPC operation
1019
+ # @yieldparam response [::Gapic::Operation]
1020
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1021
+ #
1022
+ # @return [::Gapic::Operation]
1023
+ #
1024
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1025
+ #
1026
+ def create_service_rollout request, options = nil
1027
+ raise ::ArgumentError, "request must be provided" if request.nil?
1028
+
1029
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::CreateServiceRolloutRequest
1030
+
1031
+ # Converts hash and nil to an options object
1032
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1033
+
1034
+ # Customize the options with defaults
1035
+ metadata = @config.rpcs.create_service_rollout.metadata.to_h
1036
+
1037
+ # Set x-goog-api-client and x-goog-user-project headers
1038
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1039
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1040
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
1041
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1042
+
1043
+ header_params = {
1044
+ "service_name" => request.service_name
1045
+ }
1046
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1047
+ metadata[:"x-goog-request-params"] ||= request_params_header
1048
+
1049
+ options.apply_defaults timeout: @config.rpcs.create_service_rollout.timeout,
1050
+ metadata: metadata,
1051
+ retry_policy: @config.rpcs.create_service_rollout.retry_policy
1052
+ options.apply_defaults metadata: @config.metadata,
1053
+ retry_policy: @config.retry_policy
1054
+
1055
+ @service_manager_stub.call_rpc :create_service_rollout, request, options: options do |response, operation|
1056
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1057
+ yield response, operation if block_given?
1058
+ return response
1059
+ end
1060
+ rescue ::GRPC::BadStatus => e
1061
+ raise ::Google::Cloud::Error.from_error(e)
1062
+ end
1063
+
1064
+ ##
1065
+ # Generates and returns a report (errors, warnings and changes from
1066
+ # existing configurations) associated with
1067
+ # GenerateConfigReportRequest.new_value
1068
+ #
1069
+ # If GenerateConfigReportRequest.old_value is specified,
1070
+ # GenerateConfigReportRequest will contain a single ChangeReport based on the
1071
+ # comparison between GenerateConfigReportRequest.new_value and
1072
+ # GenerateConfigReportRequest.old_value.
1073
+ # If GenerateConfigReportRequest.old_value is not specified, this method
1074
+ # will compare GenerateConfigReportRequest.new_value with the last pushed
1075
+ # service configuration.
1076
+ #
1077
+ # @overload generate_config_report(request, options = nil)
1078
+ # Pass arguments to `generate_config_report` via a request object, either of type
1079
+ # {::Google::Cloud::ServiceManagement::V1::GenerateConfigReportRequest} or an equivalent Hash.
1080
+ #
1081
+ # @param request [::Google::Cloud::ServiceManagement::V1::GenerateConfigReportRequest, ::Hash]
1082
+ # A request object representing the call parameters. Required. To specify no
1083
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1084
+ # @param options [::Gapic::CallOptions, ::Hash]
1085
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1086
+ #
1087
+ # @overload generate_config_report(new_config: nil, old_config: nil)
1088
+ # Pass arguments to `generate_config_report` via keyword arguments. Note that at
1089
+ # least one keyword argument is required. To specify no parameters, or to keep all
1090
+ # the default parameter values, pass an empty Hash as a request object (see above).
1091
+ #
1092
+ # @param new_config [::Google::Protobuf::Any, ::Hash]
1093
+ # Required. Service configuration for which we want to generate the report.
1094
+ # For this version of API, the supported types are
1095
+ # {::Google::Cloud::ServiceManagement::V1::ConfigRef google.api.servicemanagement.v1.ConfigRef},
1096
+ # {::Google::Cloud::ServiceManagement::V1::ConfigSource google.api.servicemanagement.v1.ConfigSource},
1097
+ # and {::Google::Api::Service google.api.Service}
1098
+ # @param old_config [::Google::Protobuf::Any, ::Hash]
1099
+ # Optional. Service configuration against which the comparison will be done.
1100
+ # For this version of API, the supported types are
1101
+ # {::Google::Cloud::ServiceManagement::V1::ConfigRef google.api.servicemanagement.v1.ConfigRef},
1102
+ # {::Google::Cloud::ServiceManagement::V1::ConfigSource google.api.servicemanagement.v1.ConfigSource},
1103
+ # and {::Google::Api::Service google.api.Service}
1104
+ #
1105
+ # @yield [response, operation] Access the result along with the RPC operation
1106
+ # @yieldparam response [::Google::Cloud::ServiceManagement::V1::GenerateConfigReportResponse]
1107
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1108
+ #
1109
+ # @return [::Google::Cloud::ServiceManagement::V1::GenerateConfigReportResponse]
1110
+ #
1111
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1112
+ #
1113
+ def generate_config_report request, options = nil
1114
+ raise ::ArgumentError, "request must be provided" if request.nil?
1115
+
1116
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::GenerateConfigReportRequest
1117
+
1118
+ # Converts hash and nil to an options object
1119
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1120
+
1121
+ # Customize the options with defaults
1122
+ metadata = @config.rpcs.generate_config_report.metadata.to_h
1123
+
1124
+ # Set x-goog-api-client and x-goog-user-project headers
1125
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1126
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1127
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
1128
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1129
+
1130
+ options.apply_defaults timeout: @config.rpcs.generate_config_report.timeout,
1131
+ metadata: metadata,
1132
+ retry_policy: @config.rpcs.generate_config_report.retry_policy
1133
+ options.apply_defaults metadata: @config.metadata,
1134
+ retry_policy: @config.retry_policy
1135
+
1136
+ @service_manager_stub.call_rpc :generate_config_report, request, options: options do |response, operation|
1137
+ yield response, operation if block_given?
1138
+ return response
1139
+ end
1140
+ rescue ::GRPC::BadStatus => e
1141
+ raise ::Google::Cloud::Error.from_error(e)
1142
+ end
1143
+
1144
+ ##
1145
+ # Enables a {::Google::Cloud::ServiceManagement::V1::ManagedService service} for a project, so it can be used
1146
+ # for the project. See
1147
+ # [Cloud Auth Guide](https://cloud.google.com/docs/authentication) for
1148
+ # more information.
1149
+ #
1150
+ # Operation<response: EnableServiceResponse>
1151
+ #
1152
+ # @overload enable_service(request, options = nil)
1153
+ # Pass arguments to `enable_service` via a request object, either of type
1154
+ # {::Google::Cloud::ServiceManagement::V1::EnableServiceRequest} or an equivalent Hash.
1155
+ #
1156
+ # @param request [::Google::Cloud::ServiceManagement::V1::EnableServiceRequest, ::Hash]
1157
+ # A request object representing the call parameters. Required. To specify no
1158
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1159
+ # @param options [::Gapic::CallOptions, ::Hash]
1160
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1161
+ #
1162
+ # @overload enable_service(service_name: nil, consumer_id: nil)
1163
+ # Pass arguments to `enable_service` via keyword arguments. Note that at
1164
+ # least one keyword argument is required. To specify no parameters, or to keep all
1165
+ # the default parameter values, pass an empty Hash as a request object (see above).
1166
+ #
1167
+ # @param service_name [::String]
1168
+ # Required. Name of the service to enable. Specifying an unknown service name will
1169
+ # cause the request to fail.
1170
+ # @param consumer_id [::String]
1171
+ # Required. The identity of consumer resource which service enablement will be
1172
+ # applied to.
1173
+ #
1174
+ # The Google Service Management implementation accepts the following
1175
+ # forms:
1176
+ # - "project:<project_id>"
1177
+ #
1178
+ # Note: this is made compatible with
1179
+ # google.api.servicecontrol.v1.Operation.consumer_id.
1180
+ #
1181
+ # @yield [response, operation] Access the result along with the RPC operation
1182
+ # @yieldparam response [::Gapic::Operation]
1183
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1184
+ #
1185
+ # @return [::Gapic::Operation]
1186
+ #
1187
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1188
+ #
1189
+ def enable_service request, options = nil
1190
+ raise ::ArgumentError, "request must be provided" if request.nil?
1191
+
1192
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::EnableServiceRequest
1193
+
1194
+ # Converts hash and nil to an options object
1195
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1196
+
1197
+ # Customize the options with defaults
1198
+ metadata = @config.rpcs.enable_service.metadata.to_h
1199
+
1200
+ # Set x-goog-api-client and x-goog-user-project headers
1201
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1202
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1203
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
1204
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1205
+
1206
+ header_params = {
1207
+ "service_name" => request.service_name
1208
+ }
1209
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1210
+ metadata[:"x-goog-request-params"] ||= request_params_header
1211
+
1212
+ options.apply_defaults timeout: @config.rpcs.enable_service.timeout,
1213
+ metadata: metadata,
1214
+ retry_policy: @config.rpcs.enable_service.retry_policy
1215
+ options.apply_defaults metadata: @config.metadata,
1216
+ retry_policy: @config.retry_policy
1217
+
1218
+ @service_manager_stub.call_rpc :enable_service, request, options: options do |response, operation|
1219
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1220
+ yield response, operation if block_given?
1221
+ return response
1222
+ end
1223
+ rescue ::GRPC::BadStatus => e
1224
+ raise ::Google::Cloud::Error.from_error(e)
1225
+ end
1226
+
1227
+ ##
1228
+ # Disables a {::Google::Cloud::ServiceManagement::V1::ManagedService service} for a project, so it can no longer be
1229
+ # be used for the project. It prevents accidental usage that may cause
1230
+ # unexpected billing charges or security leaks.
1231
+ #
1232
+ # Operation<response: DisableServiceResponse>
1233
+ #
1234
+ # @overload disable_service(request, options = nil)
1235
+ # Pass arguments to `disable_service` via a request object, either of type
1236
+ # {::Google::Cloud::ServiceManagement::V1::DisableServiceRequest} or an equivalent Hash.
1237
+ #
1238
+ # @param request [::Google::Cloud::ServiceManagement::V1::DisableServiceRequest, ::Hash]
1239
+ # A request object representing the call parameters. Required. To specify no
1240
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1241
+ # @param options [::Gapic::CallOptions, ::Hash]
1242
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1243
+ #
1244
+ # @overload disable_service(service_name: nil, consumer_id: nil)
1245
+ # Pass arguments to `disable_service` via keyword arguments. Note that at
1246
+ # least one keyword argument is required. To specify no parameters, or to keep all
1247
+ # the default parameter values, pass an empty Hash as a request object (see above).
1248
+ #
1249
+ # @param service_name [::String]
1250
+ # Required. Name of the service to disable. Specifying an unknown service name
1251
+ # will cause the request to fail.
1252
+ # @param consumer_id [::String]
1253
+ # Required. The identity of consumer resource which service disablement will be
1254
+ # applied to.
1255
+ #
1256
+ # The Google Service Management implementation accepts the following
1257
+ # forms:
1258
+ # - "project:<project_id>"
1259
+ #
1260
+ # Note: this is made compatible with
1261
+ # google.api.servicecontrol.v1.Operation.consumer_id.
1262
+ #
1263
+ # @yield [response, operation] Access the result along with the RPC operation
1264
+ # @yieldparam response [::Gapic::Operation]
1265
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1266
+ #
1267
+ # @return [::Gapic::Operation]
1268
+ #
1269
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1270
+ #
1271
+ def disable_service request, options = nil
1272
+ raise ::ArgumentError, "request must be provided" if request.nil?
1273
+
1274
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::ServiceManagement::V1::DisableServiceRequest
1275
+
1276
+ # Converts hash and nil to an options object
1277
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1278
+
1279
+ # Customize the options with defaults
1280
+ metadata = @config.rpcs.disable_service.metadata.to_h
1281
+
1282
+ # Set x-goog-api-client and x-goog-user-project headers
1283
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1284
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1285
+ gapic_version: ::Google::Cloud::ServiceManagement::V1::VERSION
1286
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1287
+
1288
+ header_params = {
1289
+ "service_name" => request.service_name
1290
+ }
1291
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1292
+ metadata[:"x-goog-request-params"] ||= request_params_header
1293
+
1294
+ options.apply_defaults timeout: @config.rpcs.disable_service.timeout,
1295
+ metadata: metadata,
1296
+ retry_policy: @config.rpcs.disable_service.retry_policy
1297
+ options.apply_defaults metadata: @config.metadata,
1298
+ retry_policy: @config.retry_policy
1299
+
1300
+ @service_manager_stub.call_rpc :disable_service, request, options: options do |response, operation|
1301
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1302
+ yield response, operation if block_given?
1303
+ return response
1304
+ end
1305
+ rescue ::GRPC::BadStatus => e
1306
+ raise ::Google::Cloud::Error.from_error(e)
1307
+ end
1308
+
1309
+ ##
1310
+ # Configuration class for the ServiceManager API.
1311
+ #
1312
+ # This class represents the configuration for ServiceManager,
1313
+ # providing control over timeouts, retry behavior, logging, transport
1314
+ # parameters, and other low-level controls. Certain parameters can also be
1315
+ # applied individually to specific RPCs. See
1316
+ # {::Google::Cloud::ServiceManagement::V1::ServiceManager::Client::Configuration::Rpcs}
1317
+ # for a list of RPCs that can be configured independently.
1318
+ #
1319
+ # Configuration can be applied globally to all clients, or to a single client
1320
+ # on construction.
1321
+ #
1322
+ # # Examples
1323
+ #
1324
+ # To modify the global config, setting the timeout for list_services
1325
+ # to 20 seconds, and all remaining timeouts to 10 seconds:
1326
+ #
1327
+ # ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.configure do |config|
1328
+ # config.timeout = 10.0
1329
+ # config.rpcs.list_services.timeout = 20.0
1330
+ # end
1331
+ #
1332
+ # To apply the above configuration only to a new client:
1333
+ #
1334
+ # client = ::Google::Cloud::ServiceManagement::V1::ServiceManager::Client.new do |config|
1335
+ # config.timeout = 10.0
1336
+ # config.rpcs.list_services.timeout = 20.0
1337
+ # end
1338
+ #
1339
+ # @!attribute [rw] endpoint
1340
+ # The hostname or hostname:port of the service endpoint.
1341
+ # Defaults to `"servicemanagement.googleapis.com"`.
1342
+ # @return [::String]
1343
+ # @!attribute [rw] credentials
1344
+ # Credentials to send with calls. You may provide any of the following types:
1345
+ # * (`String`) The path to a service account key file in JSON format
1346
+ # * (`Hash`) A service account key as a Hash
1347
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1348
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
1349
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1350
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
1351
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1352
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1353
+ # * (`nil`) indicating no credentials
1354
+ # @return [::Object]
1355
+ # @!attribute [rw] scope
1356
+ # The OAuth scopes
1357
+ # @return [::Array<::String>]
1358
+ # @!attribute [rw] lib_name
1359
+ # The library name as recorded in instrumentation and logging
1360
+ # @return [::String]
1361
+ # @!attribute [rw] lib_version
1362
+ # The library version as recorded in instrumentation and logging
1363
+ # @return [::String]
1364
+ # @!attribute [rw] channel_args
1365
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
1366
+ # `GRPC::Core::Channel` object is provided as the credential.
1367
+ # @return [::Hash]
1368
+ # @!attribute [rw] interceptors
1369
+ # An array of interceptors that are run before calls are executed.
1370
+ # @return [::Array<::GRPC::ClientInterceptor>]
1371
+ # @!attribute [rw] timeout
1372
+ # The call timeout in seconds.
1373
+ # @return [::Numeric]
1374
+ # @!attribute [rw] metadata
1375
+ # Additional gRPC headers to be sent with the call.
1376
+ # @return [::Hash{::Symbol=>::String}]
1377
+ # @!attribute [rw] retry_policy
1378
+ # The retry policy. The value is a hash with the following keys:
1379
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1380
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1381
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1382
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1383
+ # trigger a retry.
1384
+ # @return [::Hash]
1385
+ # @!attribute [rw] quota_project
1386
+ # A separate project against which to charge quota.
1387
+ # @return [::String]
1388
+ #
1389
+ class Configuration
1390
+ extend ::Gapic::Config
1391
+
1392
+ config_attr :endpoint, "servicemanagement.googleapis.com", ::String
1393
+ config_attr :credentials, nil do |value|
1394
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1395
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
1396
+ allowed.any? { |klass| klass === value }
1397
+ end
1398
+ config_attr :scope, nil, ::String, ::Array, nil
1399
+ config_attr :lib_name, nil, ::String, nil
1400
+ config_attr :lib_version, nil, ::String, nil
1401
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
1402
+ config_attr :interceptors, nil, ::Array, nil
1403
+ config_attr :timeout, nil, ::Numeric, nil
1404
+ config_attr :metadata, nil, ::Hash, nil
1405
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1406
+ config_attr :quota_project, nil, ::String, nil
1407
+
1408
+ # @private
1409
+ def initialize parent_config = nil
1410
+ @parent_config = parent_config unless parent_config.nil?
1411
+
1412
+ yield self if block_given?
1413
+ end
1414
+
1415
+ ##
1416
+ # Configurations for individual RPCs
1417
+ # @return [Rpcs]
1418
+ #
1419
+ def rpcs
1420
+ @rpcs ||= begin
1421
+ parent_rpcs = nil
1422
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
1423
+ Rpcs.new parent_rpcs
1424
+ end
1425
+ end
1426
+
1427
+ ##
1428
+ # Configuration RPC class for the ServiceManager API.
1429
+ #
1430
+ # Includes fields providing the configuration for each RPC in this service.
1431
+ # Each configuration object is of type `Gapic::Config::Method` and includes
1432
+ # the following configuration fields:
1433
+ #
1434
+ # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
1435
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1436
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1437
+ # include the following keys:
1438
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1439
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1440
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1441
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1442
+ # trigger a retry.
1443
+ #
1444
+ class Rpcs
1445
+ ##
1446
+ # RPC-specific configuration for `list_services`
1447
+ # @return [::Gapic::Config::Method]
1448
+ #
1449
+ attr_reader :list_services
1450
+ ##
1451
+ # RPC-specific configuration for `get_service`
1452
+ # @return [::Gapic::Config::Method]
1453
+ #
1454
+ attr_reader :get_service
1455
+ ##
1456
+ # RPC-specific configuration for `create_service`
1457
+ # @return [::Gapic::Config::Method]
1458
+ #
1459
+ attr_reader :create_service
1460
+ ##
1461
+ # RPC-specific configuration for `delete_service`
1462
+ # @return [::Gapic::Config::Method]
1463
+ #
1464
+ attr_reader :delete_service
1465
+ ##
1466
+ # RPC-specific configuration for `undelete_service`
1467
+ # @return [::Gapic::Config::Method]
1468
+ #
1469
+ attr_reader :undelete_service
1470
+ ##
1471
+ # RPC-specific configuration for `list_service_configs`
1472
+ # @return [::Gapic::Config::Method]
1473
+ #
1474
+ attr_reader :list_service_configs
1475
+ ##
1476
+ # RPC-specific configuration for `get_service_config`
1477
+ # @return [::Gapic::Config::Method]
1478
+ #
1479
+ attr_reader :get_service_config
1480
+ ##
1481
+ # RPC-specific configuration for `create_service_config`
1482
+ # @return [::Gapic::Config::Method]
1483
+ #
1484
+ attr_reader :create_service_config
1485
+ ##
1486
+ # RPC-specific configuration for `submit_config_source`
1487
+ # @return [::Gapic::Config::Method]
1488
+ #
1489
+ attr_reader :submit_config_source
1490
+ ##
1491
+ # RPC-specific configuration for `list_service_rollouts`
1492
+ # @return [::Gapic::Config::Method]
1493
+ #
1494
+ attr_reader :list_service_rollouts
1495
+ ##
1496
+ # RPC-specific configuration for `get_service_rollout`
1497
+ # @return [::Gapic::Config::Method]
1498
+ #
1499
+ attr_reader :get_service_rollout
1500
+ ##
1501
+ # RPC-specific configuration for `create_service_rollout`
1502
+ # @return [::Gapic::Config::Method]
1503
+ #
1504
+ attr_reader :create_service_rollout
1505
+ ##
1506
+ # RPC-specific configuration for `generate_config_report`
1507
+ # @return [::Gapic::Config::Method]
1508
+ #
1509
+ attr_reader :generate_config_report
1510
+ ##
1511
+ # RPC-specific configuration for `enable_service`
1512
+ # @return [::Gapic::Config::Method]
1513
+ #
1514
+ attr_reader :enable_service
1515
+ ##
1516
+ # RPC-specific configuration for `disable_service`
1517
+ # @return [::Gapic::Config::Method]
1518
+ #
1519
+ attr_reader :disable_service
1520
+
1521
+ # @private
1522
+ def initialize parent_rpcs = nil
1523
+ list_services_config = parent_rpcs&.list_services if parent_rpcs&.respond_to? :list_services
1524
+ @list_services = ::Gapic::Config::Method.new list_services_config
1525
+ get_service_config = parent_rpcs&.get_service if parent_rpcs&.respond_to? :get_service
1526
+ @get_service = ::Gapic::Config::Method.new get_service_config
1527
+ create_service_config = parent_rpcs&.create_service if parent_rpcs&.respond_to? :create_service
1528
+ @create_service = ::Gapic::Config::Method.new create_service_config
1529
+ delete_service_config = parent_rpcs&.delete_service if parent_rpcs&.respond_to? :delete_service
1530
+ @delete_service = ::Gapic::Config::Method.new delete_service_config
1531
+ undelete_service_config = parent_rpcs&.undelete_service if parent_rpcs&.respond_to? :undelete_service
1532
+ @undelete_service = ::Gapic::Config::Method.new undelete_service_config
1533
+ list_service_configs_config = parent_rpcs&.list_service_configs if parent_rpcs&.respond_to? :list_service_configs
1534
+ @list_service_configs = ::Gapic::Config::Method.new list_service_configs_config
1535
+ get_service_config_config = parent_rpcs&.get_service_config if parent_rpcs&.respond_to? :get_service_config
1536
+ @get_service_config = ::Gapic::Config::Method.new get_service_config_config
1537
+ create_service_config_config = parent_rpcs&.create_service_config if parent_rpcs&.respond_to? :create_service_config
1538
+ @create_service_config = ::Gapic::Config::Method.new create_service_config_config
1539
+ submit_config_source_config = parent_rpcs&.submit_config_source if parent_rpcs&.respond_to? :submit_config_source
1540
+ @submit_config_source = ::Gapic::Config::Method.new submit_config_source_config
1541
+ list_service_rollouts_config = parent_rpcs&.list_service_rollouts if parent_rpcs&.respond_to? :list_service_rollouts
1542
+ @list_service_rollouts = ::Gapic::Config::Method.new list_service_rollouts_config
1543
+ get_service_rollout_config = parent_rpcs&.get_service_rollout if parent_rpcs&.respond_to? :get_service_rollout
1544
+ @get_service_rollout = ::Gapic::Config::Method.new get_service_rollout_config
1545
+ create_service_rollout_config = parent_rpcs&.create_service_rollout if parent_rpcs&.respond_to? :create_service_rollout
1546
+ @create_service_rollout = ::Gapic::Config::Method.new create_service_rollout_config
1547
+ generate_config_report_config = parent_rpcs&.generate_config_report if parent_rpcs&.respond_to? :generate_config_report
1548
+ @generate_config_report = ::Gapic::Config::Method.new generate_config_report_config
1549
+ enable_service_config = parent_rpcs&.enable_service if parent_rpcs&.respond_to? :enable_service
1550
+ @enable_service = ::Gapic::Config::Method.new enable_service_config
1551
+ disable_service_config = parent_rpcs&.disable_service if parent_rpcs&.respond_to? :disable_service
1552
+ @disable_service = ::Gapic::Config::Method.new disable_service_config
1553
+
1554
+ yield self if block_given?
1555
+ end
1556
+ end
1557
+ end
1558
+ end
1559
+ end
1560
+ end
1561
+ end
1562
+ end
1563
+ end