google-cloud-video-live_stream-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +149 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google/cloud/video/live_stream/v1/livestream_service/client.rb +2162 -0
  7. data/lib/google/cloud/video/live_stream/v1/livestream_service/credentials.rb +49 -0
  8. data/lib/google/cloud/video/live_stream/v1/livestream_service/operations.rb +769 -0
  9. data/lib/google/cloud/video/live_stream/v1/livestream_service/paths.rb +111 -0
  10. data/lib/google/cloud/video/live_stream/v1/livestream_service.rb +56 -0
  11. data/lib/google/cloud/video/live_stream/v1/version.rb +30 -0
  12. data/lib/google/cloud/video/live_stream/v1.rb +40 -0
  13. data/lib/google/cloud/video/livestream/v1/outputs_pb.rb +134 -0
  14. data/lib/google/cloud/video/livestream/v1/resources_pb.rb +168 -0
  15. data/lib/google/cloud/video/livestream/v1/service_pb.rb +154 -0
  16. data/lib/google/cloud/video/livestream/v1/service_services_pb.rb +84 -0
  17. data/lib/google-cloud-video-live_stream-v1.rb +21 -0
  18. data/proto_docs/README.md +4 -0
  19. data/proto_docs/google/api/field_behavior.rb +71 -0
  20. data/proto_docs/google/api/resource.rb +222 -0
  21. data/proto_docs/google/cloud/video/livestream/v1/outputs.rb +427 -0
  22. data/proto_docs/google/cloud/video/livestream/v1/resources.rb +450 -0
  23. data/proto_docs/google/cloud/video/livestream/v1/service.rb +523 -0
  24. data/proto_docs/google/longrunning/operations.rb +164 -0
  25. data/proto_docs/google/protobuf/any.rb +141 -0
  26. data/proto_docs/google/protobuf/duration.rb +98 -0
  27. data/proto_docs/google/protobuf/empty.rb +36 -0
  28. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  29. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  30. data/proto_docs/google/rpc/status.rb +46 -0
  31. metadata +222 -0
@@ -0,0 +1,2162 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 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/video/livestream/v1/service_pb"
21
+
22
+ module Google
23
+ module Cloud
24
+ module Video
25
+ module LiveStream
26
+ module V1
27
+ module LivestreamService
28
+ ##
29
+ # Client for the LivestreamService service.
30
+ #
31
+ # Using Live Stream API, you can generate live streams in the various
32
+ # renditions and streaming formats. The streaming format include HTTP Live
33
+ # Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH). You can send
34
+ # a source stream in the various ways, including Real-Time Messaging
35
+ # Protocol (RTMP) and Secure Reliable Transport (SRT).
36
+ #
37
+ class Client
38
+ include Paths
39
+
40
+ # @private
41
+ attr_reader :livestream_service_stub
42
+
43
+ ##
44
+ # Configure the LivestreamService Client class.
45
+ #
46
+ # See {::Google::Cloud::Video::LiveStream::V1::LivestreamService::Client::Configuration}
47
+ # for a description of the configuration fields.
48
+ #
49
+ # @example
50
+ #
51
+ # # Modify the configuration for all LivestreamService clients
52
+ # ::Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.configure do |config|
53
+ # config.timeout = 10.0
54
+ # end
55
+ #
56
+ # @yield [config] Configure the Client client.
57
+ # @yieldparam config [Client::Configuration]
58
+ #
59
+ # @return [Client::Configuration]
60
+ #
61
+ def self.configure
62
+ @configure ||= begin
63
+ namespace = ["Google", "Cloud", "Video", "LiveStream", "V1"]
64
+ parent_config = while namespace.any?
65
+ parent_name = namespace.join "::"
66
+ parent_const = const_get parent_name
67
+ break parent_const.configure if parent_const.respond_to? :configure
68
+ namespace.pop
69
+ end
70
+ default_config = Client::Configuration.new parent_config
71
+
72
+ default_config.rpcs.create_channel.timeout = 60.0
73
+
74
+ default_config.rpcs.list_channels.timeout = 60.0
75
+ default_config.rpcs.list_channels.retry_policy = {
76
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
77
+ }
78
+
79
+ default_config.rpcs.get_channel.timeout = 60.0
80
+ default_config.rpcs.get_channel.retry_policy = {
81
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
82
+ }
83
+
84
+ default_config.rpcs.delete_channel.timeout = 60.0
85
+
86
+ default_config.rpcs.update_channel.timeout = 60.0
87
+
88
+ default_config.rpcs.start_channel.timeout = 60.0
89
+
90
+ default_config.rpcs.stop_channel.timeout = 60.0
91
+
92
+ default_config.rpcs.create_input.timeout = 60.0
93
+
94
+ default_config.rpcs.list_inputs.timeout = 60.0
95
+ default_config.rpcs.list_inputs.retry_policy = {
96
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
97
+ }
98
+
99
+ default_config.rpcs.get_input.timeout = 60.0
100
+ default_config.rpcs.get_input.retry_policy = {
101
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
102
+ }
103
+
104
+ default_config.rpcs.delete_input.timeout = 60.0
105
+
106
+ default_config.rpcs.update_input.timeout = 60.0
107
+
108
+ default_config.rpcs.create_event.timeout = 60.0
109
+
110
+ default_config.rpcs.list_events.timeout = 60.0
111
+ default_config.rpcs.list_events.retry_policy = {
112
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
113
+ }
114
+
115
+ default_config.rpcs.get_event.timeout = 60.0
116
+ default_config.rpcs.get_event.retry_policy = {
117
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
118
+ }
119
+
120
+ default_config.rpcs.delete_event.timeout = 60.0
121
+
122
+ default_config
123
+ end
124
+ yield @configure if block_given?
125
+ @configure
126
+ end
127
+
128
+ ##
129
+ # Configure the LivestreamService Client instance.
130
+ #
131
+ # The configuration is set to the derived mode, meaning that values can be changed,
132
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
133
+ # should be made on {Client.configure}.
134
+ #
135
+ # See {::Google::Cloud::Video::LiveStream::V1::LivestreamService::Client::Configuration}
136
+ # for a description of the configuration fields.
137
+ #
138
+ # @yield [config] Configure the Client client.
139
+ # @yieldparam config [Client::Configuration]
140
+ #
141
+ # @return [Client::Configuration]
142
+ #
143
+ def configure
144
+ yield @config if block_given?
145
+ @config
146
+ end
147
+
148
+ ##
149
+ # Create a new LivestreamService client object.
150
+ #
151
+ # @example
152
+ #
153
+ # # Create a client using the default configuration
154
+ # client = ::Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
155
+ #
156
+ # # Create a client using a custom configuration
157
+ # client = ::Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new do |config|
158
+ # config.timeout = 10.0
159
+ # end
160
+ #
161
+ # @yield [config] Configure the LivestreamService 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/video/livestream/v1/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 == Client.configure.endpoint &&
182
+ !@config.endpoint.split(".").first.include?("-")
183
+ credentials ||= Credentials.default scope: @config.scope,
184
+ enable_self_signed_jwt: enable_self_signed_jwt
185
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
186
+ credentials = Credentials.new credentials, scope: @config.scope
187
+ end
188
+ @quota_project_id = @config.quota_project
189
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
190
+
191
+ @operations_client = Operations.new do |config|
192
+ config.credentials = credentials
193
+ config.quota_project = @quota_project_id
194
+ config.endpoint = @config.endpoint
195
+ end
196
+
197
+ @livestream_service_stub = ::Gapic::ServiceStub.new(
198
+ ::Google::Cloud::Video::LiveStream::V1::LivestreamService::Stub,
199
+ credentials: credentials,
200
+ endpoint: @config.endpoint,
201
+ channel_args: @config.channel_args,
202
+ interceptors: @config.interceptors
203
+ )
204
+ end
205
+
206
+ ##
207
+ # Get the associated client for long-running operations.
208
+ #
209
+ # @return [::Google::Cloud::Video::LiveStream::V1::LivestreamService::Operations]
210
+ #
211
+ attr_reader :operations_client
212
+
213
+ # Service calls
214
+
215
+ ##
216
+ # Creates a channel with the provided unique ID in the specified
217
+ # region.
218
+ #
219
+ # @overload create_channel(request, options = nil)
220
+ # Pass arguments to `create_channel` via a request object, either of type
221
+ # {::Google::Cloud::Video::LiveStream::V1::CreateChannelRequest} or an equivalent Hash.
222
+ #
223
+ # @param request [::Google::Cloud::Video::LiveStream::V1::CreateChannelRequest, ::Hash]
224
+ # A request object representing the call parameters. Required. To specify no
225
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
226
+ # @param options [::Gapic::CallOptions, ::Hash]
227
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
228
+ #
229
+ # @overload create_channel(parent: nil, channel: nil, channel_id: nil, request_id: nil)
230
+ # Pass arguments to `create_channel` via keyword arguments. Note that at
231
+ # least one keyword argument is required. To specify no parameters, or to keep all
232
+ # the default parameter values, pass an empty Hash as a request object (see above).
233
+ #
234
+ # @param parent [::String]
235
+ # Required. The parent location for the resource, in the form of:
236
+ # `projects/{project}/locations/{location}`.
237
+ # @param channel [::Google::Cloud::Video::LiveStream::V1::Channel, ::Hash]
238
+ # Required. The channel resource to be created.
239
+ # @param channel_id [::String]
240
+ # Required. The ID of the channel resource to be created.
241
+ # This value must be 1-63 characters, begin and end with `[a-z0-9]`,
242
+ # could contain dashes (-) in between.
243
+ # @param request_id [::String]
244
+ # A request ID to identify requests. Specify a unique request ID
245
+ # so that if you must retry your request, the server will know to ignore
246
+ # the request if it has already been completed. The server will guarantee
247
+ # that for at least 60 minutes since the first request.
248
+ #
249
+ # For example, consider a situation where you make an initial request and the
250
+ # request times out. If you make the request again with the same request ID,
251
+ # the server can check if original operation with the same request ID was
252
+ # received, and if so, will ignore the second request. This prevents clients
253
+ # from accidentally creating duplicate commitments.
254
+ #
255
+ # The request ID must be a valid UUID with the exception that zero UUID is
256
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
257
+ #
258
+ # @yield [response, operation] Access the result along with the RPC operation
259
+ # @yieldparam response [::Gapic::Operation]
260
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
261
+ #
262
+ # @return [::Gapic::Operation]
263
+ #
264
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
265
+ #
266
+ # @example Basic example
267
+ # require "google/cloud/video/live_stream/v1"
268
+ #
269
+ # # Create a client object. The client can be reused for multiple calls.
270
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
271
+ #
272
+ # # Create a request. To set request fields, pass in keyword arguments.
273
+ # request = Google::Cloud::Video::LiveStream::V1::CreateChannelRequest.new
274
+ #
275
+ # # Call the create_channel method.
276
+ # result = client.create_channel request
277
+ #
278
+ # # The returned object is of type Gapic::Operation. You can use this
279
+ # # object to check the status of an operation, cancel it, or wait
280
+ # # for results. Here is how to block until completion:
281
+ # result.wait_until_done! timeout: 60
282
+ # if result.response?
283
+ # p result.response
284
+ # else
285
+ # puts "Error!"
286
+ # end
287
+ #
288
+ def create_channel request, options = nil
289
+ raise ::ArgumentError, "request must be provided" if request.nil?
290
+
291
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::CreateChannelRequest
292
+
293
+ # Converts hash and nil to an options object
294
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
295
+
296
+ # Customize the options with defaults
297
+ metadata = @config.rpcs.create_channel.metadata.to_h
298
+
299
+ # Set x-goog-api-client and x-goog-user-project headers
300
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
301
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
302
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
303
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
304
+
305
+ header_params = {}
306
+ if request.parent
307
+ header_params["parent"] = request.parent
308
+ end
309
+
310
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
311
+ metadata[:"x-goog-request-params"] ||= request_params_header
312
+
313
+ options.apply_defaults timeout: @config.rpcs.create_channel.timeout,
314
+ metadata: metadata,
315
+ retry_policy: @config.rpcs.create_channel.retry_policy
316
+
317
+ options.apply_defaults timeout: @config.timeout,
318
+ metadata: @config.metadata,
319
+ retry_policy: @config.retry_policy
320
+
321
+ @livestream_service_stub.call_rpc :create_channel, request, options: options do |response, operation|
322
+ response = ::Gapic::Operation.new response, @operations_client, options: options
323
+ yield response, operation if block_given?
324
+ return response
325
+ end
326
+ rescue ::GRPC::BadStatus => e
327
+ raise ::Google::Cloud::Error.from_error(e)
328
+ end
329
+
330
+ ##
331
+ # Returns a list of all channels in the specified region.
332
+ #
333
+ # @overload list_channels(request, options = nil)
334
+ # Pass arguments to `list_channels` via a request object, either of type
335
+ # {::Google::Cloud::Video::LiveStream::V1::ListChannelsRequest} or an equivalent Hash.
336
+ #
337
+ # @param request [::Google::Cloud::Video::LiveStream::V1::ListChannelsRequest, ::Hash]
338
+ # A request object representing the call parameters. Required. To specify no
339
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
340
+ # @param options [::Gapic::CallOptions, ::Hash]
341
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
342
+ #
343
+ # @overload list_channels(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
344
+ # Pass arguments to `list_channels` via keyword arguments. Note that at
345
+ # least one keyword argument is required. To specify no parameters, or to keep all
346
+ # the default parameter values, pass an empty Hash as a request object (see above).
347
+ #
348
+ # @param parent [::String]
349
+ # Required. The parent location for the resource, in the form of:
350
+ # `projects/{project}/locations/{location}`.
351
+ # @param page_size [::Integer]
352
+ # The maximum number of items to return. If unspecified, server
353
+ # will pick an appropriate default. Server may return fewer items than
354
+ # requested. A caller should only rely on response's
355
+ # {::Google::Cloud::Video::LiveStream::V1::ListChannelsResponse#next_page_token next_page_token} to
356
+ # determine if there are more items left to be queried.
357
+ # @param page_token [::String]
358
+ # The next_page_token value returned from a previous List request, if any.
359
+ # @param filter [::String]
360
+ # The filter to apply to list results.
361
+ # @param order_by [::String]
362
+ # Specifies the ordering of results following syntax at
363
+ # https://cloud.google.com/apis/design/design_patterns#sorting_order.
364
+ #
365
+ # @yield [response, operation] Access the result along with the RPC operation
366
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Video::LiveStream::V1::Channel>]
367
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
368
+ #
369
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Video::LiveStream::V1::Channel>]
370
+ #
371
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
372
+ #
373
+ # @example Basic example
374
+ # require "google/cloud/video/live_stream/v1"
375
+ #
376
+ # # Create a client object. The client can be reused for multiple calls.
377
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
378
+ #
379
+ # # Create a request. To set request fields, pass in keyword arguments.
380
+ # request = Google::Cloud::Video::LiveStream::V1::ListChannelsRequest.new
381
+ #
382
+ # # Call the list_channels method.
383
+ # result = client.list_channels request
384
+ #
385
+ # # The returned object is of type Gapic::PagedEnumerable. You can
386
+ # # iterate over all elements by calling #each, and the enumerable
387
+ # # will lazily make API calls to fetch subsequent pages. Other
388
+ # # methods are also available for managing paging directly.
389
+ # result.each do |response|
390
+ # # Each element is of type ::Google::Cloud::Video::LiveStream::V1::Channel.
391
+ # p response
392
+ # end
393
+ #
394
+ def list_channels request, options = nil
395
+ raise ::ArgumentError, "request must be provided" if request.nil?
396
+
397
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::ListChannelsRequest
398
+
399
+ # Converts hash and nil to an options object
400
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
401
+
402
+ # Customize the options with defaults
403
+ metadata = @config.rpcs.list_channels.metadata.to_h
404
+
405
+ # Set x-goog-api-client and x-goog-user-project headers
406
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
407
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
408
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
409
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
410
+
411
+ header_params = {}
412
+ if request.parent
413
+ header_params["parent"] = request.parent
414
+ end
415
+
416
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
417
+ metadata[:"x-goog-request-params"] ||= request_params_header
418
+
419
+ options.apply_defaults timeout: @config.rpcs.list_channels.timeout,
420
+ metadata: metadata,
421
+ retry_policy: @config.rpcs.list_channels.retry_policy
422
+
423
+ options.apply_defaults timeout: @config.timeout,
424
+ metadata: @config.metadata,
425
+ retry_policy: @config.retry_policy
426
+
427
+ @livestream_service_stub.call_rpc :list_channels, request, options: options do |response, operation|
428
+ response = ::Gapic::PagedEnumerable.new @livestream_service_stub, :list_channels, request, response, operation, options
429
+ yield response, operation if block_given?
430
+ return response
431
+ end
432
+ rescue ::GRPC::BadStatus => e
433
+ raise ::Google::Cloud::Error.from_error(e)
434
+ end
435
+
436
+ ##
437
+ # Returns the specified channel.
438
+ #
439
+ # @overload get_channel(request, options = nil)
440
+ # Pass arguments to `get_channel` via a request object, either of type
441
+ # {::Google::Cloud::Video::LiveStream::V1::GetChannelRequest} or an equivalent Hash.
442
+ #
443
+ # @param request [::Google::Cloud::Video::LiveStream::V1::GetChannelRequest, ::Hash]
444
+ # A request object representing the call parameters. Required. To specify no
445
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
446
+ # @param options [::Gapic::CallOptions, ::Hash]
447
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
448
+ #
449
+ # @overload get_channel(name: nil)
450
+ # Pass arguments to `get_channel` via keyword arguments. Note that at
451
+ # least one keyword argument is required. To specify no parameters, or to keep all
452
+ # the default parameter values, pass an empty Hash as a request object (see above).
453
+ #
454
+ # @param name [::String]
455
+ # Required. The name of the channel resource, in the form of:
456
+ # `projects/{project}/locations/{location}/channels/{channelId}`.
457
+ #
458
+ # @yield [response, operation] Access the result along with the RPC operation
459
+ # @yieldparam response [::Google::Cloud::Video::LiveStream::V1::Channel]
460
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
461
+ #
462
+ # @return [::Google::Cloud::Video::LiveStream::V1::Channel]
463
+ #
464
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
465
+ #
466
+ # @example Basic example
467
+ # require "google/cloud/video/live_stream/v1"
468
+ #
469
+ # # Create a client object. The client can be reused for multiple calls.
470
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
471
+ #
472
+ # # Create a request. To set request fields, pass in keyword arguments.
473
+ # request = Google::Cloud::Video::LiveStream::V1::GetChannelRequest.new
474
+ #
475
+ # # Call the get_channel method.
476
+ # result = client.get_channel request
477
+ #
478
+ # # The returned object is of type Google::Cloud::Video::LiveStream::V1::Channel.
479
+ # p result
480
+ #
481
+ def get_channel request, options = nil
482
+ raise ::ArgumentError, "request must be provided" if request.nil?
483
+
484
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::GetChannelRequest
485
+
486
+ # Converts hash and nil to an options object
487
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
488
+
489
+ # Customize the options with defaults
490
+ metadata = @config.rpcs.get_channel.metadata.to_h
491
+
492
+ # Set x-goog-api-client and x-goog-user-project headers
493
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
494
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
495
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
496
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
497
+
498
+ header_params = {}
499
+ if request.name
500
+ header_params["name"] = request.name
501
+ end
502
+
503
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
504
+ metadata[:"x-goog-request-params"] ||= request_params_header
505
+
506
+ options.apply_defaults timeout: @config.rpcs.get_channel.timeout,
507
+ metadata: metadata,
508
+ retry_policy: @config.rpcs.get_channel.retry_policy
509
+
510
+ options.apply_defaults timeout: @config.timeout,
511
+ metadata: @config.metadata,
512
+ retry_policy: @config.retry_policy
513
+
514
+ @livestream_service_stub.call_rpc :get_channel, request, options: options do |response, operation|
515
+ yield response, operation if block_given?
516
+ return response
517
+ end
518
+ rescue ::GRPC::BadStatus => e
519
+ raise ::Google::Cloud::Error.from_error(e)
520
+ end
521
+
522
+ ##
523
+ # Deletes the specified channel.
524
+ #
525
+ # @overload delete_channel(request, options = nil)
526
+ # Pass arguments to `delete_channel` via a request object, either of type
527
+ # {::Google::Cloud::Video::LiveStream::V1::DeleteChannelRequest} or an equivalent Hash.
528
+ #
529
+ # @param request [::Google::Cloud::Video::LiveStream::V1::DeleteChannelRequest, ::Hash]
530
+ # A request object representing the call parameters. Required. To specify no
531
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
532
+ # @param options [::Gapic::CallOptions, ::Hash]
533
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
534
+ #
535
+ # @overload delete_channel(name: nil, request_id: nil, force: nil)
536
+ # Pass arguments to `delete_channel` via keyword arguments. Note that at
537
+ # least one keyword argument is required. To specify no parameters, or to keep all
538
+ # the default parameter values, pass an empty Hash as a request object (see above).
539
+ #
540
+ # @param name [::String]
541
+ # Required. The name of the channel resource, in the form of:
542
+ # `projects/{project}/locations/{location}/channels/{channelId}`.
543
+ # @param request_id [::String]
544
+ # A request ID to identify requests. Specify a unique request ID
545
+ # so that if you must retry your request, the server will know to ignore
546
+ # the request if it has already been completed. The server will guarantee
547
+ # that for at least 60 minutes after the first request.
548
+ #
549
+ # For example, consider a situation where you make an initial request and the
550
+ # request times out. If you make the request again with the same request ID,
551
+ # the server can check if original operation with the same request ID was
552
+ # received, and if so, will ignore the second request. This prevents clients
553
+ # from accidentally creating duplicate commitments.
554
+ #
555
+ # The request ID must be a valid UUID with the exception that zero UUID is
556
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
557
+ # @param force [::Boolean]
558
+ # If the `force` field is set to the default value of `false`, you must
559
+ # delete all of a channel's events before you can delete the channel itself.
560
+ # If the field is set to `true`, requests to delete a channel also delete
561
+ # associated channel events.
562
+ #
563
+ # @yield [response, operation] Access the result along with the RPC operation
564
+ # @yieldparam response [::Gapic::Operation]
565
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
566
+ #
567
+ # @return [::Gapic::Operation]
568
+ #
569
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
570
+ #
571
+ # @example Basic example
572
+ # require "google/cloud/video/live_stream/v1"
573
+ #
574
+ # # Create a client object. The client can be reused for multiple calls.
575
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
576
+ #
577
+ # # Create a request. To set request fields, pass in keyword arguments.
578
+ # request = Google::Cloud::Video::LiveStream::V1::DeleteChannelRequest.new
579
+ #
580
+ # # Call the delete_channel method.
581
+ # result = client.delete_channel request
582
+ #
583
+ # # The returned object is of type Gapic::Operation. You can use this
584
+ # # object to check the status of an operation, cancel it, or wait
585
+ # # for results. Here is how to block until completion:
586
+ # result.wait_until_done! timeout: 60
587
+ # if result.response?
588
+ # p result.response
589
+ # else
590
+ # puts "Error!"
591
+ # end
592
+ #
593
+ def delete_channel request, options = nil
594
+ raise ::ArgumentError, "request must be provided" if request.nil?
595
+
596
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::DeleteChannelRequest
597
+
598
+ # Converts hash and nil to an options object
599
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
600
+
601
+ # Customize the options with defaults
602
+ metadata = @config.rpcs.delete_channel.metadata.to_h
603
+
604
+ # Set x-goog-api-client and x-goog-user-project headers
605
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
606
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
607
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
608
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
609
+
610
+ header_params = {}
611
+ if request.name
612
+ header_params["name"] = request.name
613
+ end
614
+
615
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
616
+ metadata[:"x-goog-request-params"] ||= request_params_header
617
+
618
+ options.apply_defaults timeout: @config.rpcs.delete_channel.timeout,
619
+ metadata: metadata,
620
+ retry_policy: @config.rpcs.delete_channel.retry_policy
621
+
622
+ options.apply_defaults timeout: @config.timeout,
623
+ metadata: @config.metadata,
624
+ retry_policy: @config.retry_policy
625
+
626
+ @livestream_service_stub.call_rpc :delete_channel, request, options: options do |response, operation|
627
+ response = ::Gapic::Operation.new response, @operations_client, options: options
628
+ yield response, operation if block_given?
629
+ return response
630
+ end
631
+ rescue ::GRPC::BadStatus => e
632
+ raise ::Google::Cloud::Error.from_error(e)
633
+ end
634
+
635
+ ##
636
+ # Updates the specified channel.
637
+ #
638
+ # @overload update_channel(request, options = nil)
639
+ # Pass arguments to `update_channel` via a request object, either of type
640
+ # {::Google::Cloud::Video::LiveStream::V1::UpdateChannelRequest} or an equivalent Hash.
641
+ #
642
+ # @param request [::Google::Cloud::Video::LiveStream::V1::UpdateChannelRequest, ::Hash]
643
+ # A request object representing the call parameters. Required. To specify no
644
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
645
+ # @param options [::Gapic::CallOptions, ::Hash]
646
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
647
+ #
648
+ # @overload update_channel(update_mask: nil, channel: nil, request_id: nil)
649
+ # Pass arguments to `update_channel` via keyword arguments. Note that at
650
+ # least one keyword argument is required. To specify no parameters, or to keep all
651
+ # the default parameter values, pass an empty Hash as a request object (see above).
652
+ #
653
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
654
+ # Field mask is used to specify the fields to be overwritten in the Channel
655
+ # resource by the update. You can only update the following fields:
656
+ #
657
+ # * [`inputAttachments`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#inputattachment)
658
+ # * [`output`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#output)
659
+ # * [`elementaryStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#ElementaryStream)
660
+ # * [`muxStreams`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#muxstream)
661
+ # * [`manifests`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#Manifest)
662
+ # * [`spritesheets`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.channels#spritesheet)
663
+ #
664
+ # The fields specified in the update_mask are relative to the resource, not
665
+ # the full request. A field will be overwritten if it is in the mask.
666
+ # @param channel [::Google::Cloud::Video::LiveStream::V1::Channel, ::Hash]
667
+ # Required. The channel resource to be updated.
668
+ # @param request_id [::String]
669
+ # A request ID to identify requests. Specify a unique request ID
670
+ # so that if you must retry your request, the server will know to ignore
671
+ # the request if it has already been completed. The server will guarantee
672
+ # that for at least 60 minutes since the first request.
673
+ #
674
+ # For example, consider a situation where you make an initial request and the
675
+ # request times out. If you make the request again with the same request ID,
676
+ # the server can check if original operation with the same request ID was
677
+ # received, and if so, will ignore the second request. This prevents clients
678
+ # from accidentally creating duplicate commitments.
679
+ #
680
+ # The request ID must be a valid UUID with the exception that zero UUID is
681
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
682
+ #
683
+ # @yield [response, operation] Access the result along with the RPC operation
684
+ # @yieldparam response [::Gapic::Operation]
685
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
686
+ #
687
+ # @return [::Gapic::Operation]
688
+ #
689
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
690
+ #
691
+ # @example Basic example
692
+ # require "google/cloud/video/live_stream/v1"
693
+ #
694
+ # # Create a client object. The client can be reused for multiple calls.
695
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
696
+ #
697
+ # # Create a request. To set request fields, pass in keyword arguments.
698
+ # request = Google::Cloud::Video::LiveStream::V1::UpdateChannelRequest.new
699
+ #
700
+ # # Call the update_channel method.
701
+ # result = client.update_channel request
702
+ #
703
+ # # The returned object is of type Gapic::Operation. You can use this
704
+ # # object to check the status of an operation, cancel it, or wait
705
+ # # for results. Here is how to block until completion:
706
+ # result.wait_until_done! timeout: 60
707
+ # if result.response?
708
+ # p result.response
709
+ # else
710
+ # puts "Error!"
711
+ # end
712
+ #
713
+ def update_channel request, options = nil
714
+ raise ::ArgumentError, "request must be provided" if request.nil?
715
+
716
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::UpdateChannelRequest
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.update_channel.metadata.to_h
723
+
724
+ # Set x-goog-api-client and x-goog-user-project 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::Video::LiveStream::V1::VERSION
728
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
729
+
730
+ header_params = {}
731
+ if request.channel&.name
732
+ header_params["channel.name"] = request.channel.name
733
+ end
734
+
735
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
736
+ metadata[:"x-goog-request-params"] ||= request_params_header
737
+
738
+ options.apply_defaults timeout: @config.rpcs.update_channel.timeout,
739
+ metadata: metadata,
740
+ retry_policy: @config.rpcs.update_channel.retry_policy
741
+
742
+ options.apply_defaults timeout: @config.timeout,
743
+ metadata: @config.metadata,
744
+ retry_policy: @config.retry_policy
745
+
746
+ @livestream_service_stub.call_rpc :update_channel, request, options: options do |response, operation|
747
+ response = ::Gapic::Operation.new response, @operations_client, options: options
748
+ yield response, operation if block_given?
749
+ return response
750
+ end
751
+ rescue ::GRPC::BadStatus => e
752
+ raise ::Google::Cloud::Error.from_error(e)
753
+ end
754
+
755
+ ##
756
+ # Starts the specified channel. Part of the video pipeline will be created
757
+ # only when the StartChannel request is received by the server.
758
+ #
759
+ # @overload start_channel(request, options = nil)
760
+ # Pass arguments to `start_channel` via a request object, either of type
761
+ # {::Google::Cloud::Video::LiveStream::V1::StartChannelRequest} or an equivalent Hash.
762
+ #
763
+ # @param request [::Google::Cloud::Video::LiveStream::V1::StartChannelRequest, ::Hash]
764
+ # A request object representing the call parameters. Required. To specify no
765
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
766
+ # @param options [::Gapic::CallOptions, ::Hash]
767
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
768
+ #
769
+ # @overload start_channel(name: nil, request_id: nil)
770
+ # Pass arguments to `start_channel` via keyword arguments. Note that at
771
+ # least one keyword argument is required. To specify no parameters, or to keep all
772
+ # the default parameter values, pass an empty Hash as a request object (see above).
773
+ #
774
+ # @param name [::String]
775
+ # Required. The name of the channel resource, in the form of:
776
+ # `projects/{project}/locations/{location}/channels/{channelId}`.
777
+ # @param request_id [::String]
778
+ # A request ID to identify requests. Specify a unique request ID
779
+ # so that if you must retry your request, the server will know to ignore
780
+ # the request if it has already been completed. The server will guarantee
781
+ # that for at least 60 minutes since the first request.
782
+ #
783
+ # For example, consider a situation where you make an initial request and the
784
+ # request times out. If you make the request again with the same request ID,
785
+ # the server can check if original operation with the same request ID was
786
+ # received, and if so, will ignore the second request. This prevents clients
787
+ # from accidentally creating duplicate commitments.
788
+ #
789
+ # The request ID must be a valid UUID with the exception that zero UUID is
790
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
791
+ #
792
+ # @yield [response, operation] Access the result along with the RPC operation
793
+ # @yieldparam response [::Gapic::Operation]
794
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
795
+ #
796
+ # @return [::Gapic::Operation]
797
+ #
798
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
799
+ #
800
+ # @example Basic example
801
+ # require "google/cloud/video/live_stream/v1"
802
+ #
803
+ # # Create a client object. The client can be reused for multiple calls.
804
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
805
+ #
806
+ # # Create a request. To set request fields, pass in keyword arguments.
807
+ # request = Google::Cloud::Video::LiveStream::V1::StartChannelRequest.new
808
+ #
809
+ # # Call the start_channel method.
810
+ # result = client.start_channel request
811
+ #
812
+ # # The returned object is of type Gapic::Operation. You can use this
813
+ # # object to check the status of an operation, cancel it, or wait
814
+ # # for results. Here is how to block until completion:
815
+ # result.wait_until_done! timeout: 60
816
+ # if result.response?
817
+ # p result.response
818
+ # else
819
+ # puts "Error!"
820
+ # end
821
+ #
822
+ def start_channel request, options = nil
823
+ raise ::ArgumentError, "request must be provided" if request.nil?
824
+
825
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::StartChannelRequest
826
+
827
+ # Converts hash and nil to an options object
828
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
829
+
830
+ # Customize the options with defaults
831
+ metadata = @config.rpcs.start_channel.metadata.to_h
832
+
833
+ # Set x-goog-api-client and x-goog-user-project headers
834
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
835
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
836
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
837
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
838
+
839
+ header_params = {}
840
+ if request.name
841
+ header_params["name"] = request.name
842
+ end
843
+
844
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
845
+ metadata[:"x-goog-request-params"] ||= request_params_header
846
+
847
+ options.apply_defaults timeout: @config.rpcs.start_channel.timeout,
848
+ metadata: metadata,
849
+ retry_policy: @config.rpcs.start_channel.retry_policy
850
+
851
+ options.apply_defaults timeout: @config.timeout,
852
+ metadata: @config.metadata,
853
+ retry_policy: @config.retry_policy
854
+
855
+ @livestream_service_stub.call_rpc :start_channel, request, options: options do |response, operation|
856
+ response = ::Gapic::Operation.new response, @operations_client, options: options
857
+ yield response, operation if block_given?
858
+ return response
859
+ end
860
+ rescue ::GRPC::BadStatus => e
861
+ raise ::Google::Cloud::Error.from_error(e)
862
+ end
863
+
864
+ ##
865
+ # Stops the specified channel. Part of the video pipeline will be released
866
+ # when the StopChannel request is received by the server.
867
+ #
868
+ # @overload stop_channel(request, options = nil)
869
+ # Pass arguments to `stop_channel` via a request object, either of type
870
+ # {::Google::Cloud::Video::LiveStream::V1::StopChannelRequest} or an equivalent Hash.
871
+ #
872
+ # @param request [::Google::Cloud::Video::LiveStream::V1::StopChannelRequest, ::Hash]
873
+ # A request object representing the call parameters. Required. To specify no
874
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
875
+ # @param options [::Gapic::CallOptions, ::Hash]
876
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
877
+ #
878
+ # @overload stop_channel(name: nil, request_id: nil)
879
+ # Pass arguments to `stop_channel` via keyword arguments. Note that at
880
+ # least one keyword argument is required. To specify no parameters, or to keep all
881
+ # the default parameter values, pass an empty Hash as a request object (see above).
882
+ #
883
+ # @param name [::String]
884
+ # Required. The name of the channel resource, in the form of:
885
+ # `projects/{project}/locations/{location}/channels/{channelId}`.
886
+ # @param request_id [::String]
887
+ # A request ID to identify requests. Specify a unique request ID
888
+ # so that if you must retry your request, the server will know to ignore
889
+ # the request if it has already been completed. The server will guarantee
890
+ # that for at least 60 minutes since the first request.
891
+ #
892
+ # For example, consider a situation where you make an initial request and the
893
+ # request times out. If you make the request again with the same request ID,
894
+ # the server can check if original operation with the same request ID was
895
+ # received, and if so, will ignore the second request. This prevents clients
896
+ # from accidentally creating duplicate commitments.
897
+ #
898
+ # The request ID must be a valid UUID with the exception that zero UUID is
899
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
900
+ #
901
+ # @yield [response, operation] Access the result along with the RPC operation
902
+ # @yieldparam response [::Gapic::Operation]
903
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
904
+ #
905
+ # @return [::Gapic::Operation]
906
+ #
907
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
908
+ #
909
+ # @example Basic example
910
+ # require "google/cloud/video/live_stream/v1"
911
+ #
912
+ # # Create a client object. The client can be reused for multiple calls.
913
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
914
+ #
915
+ # # Create a request. To set request fields, pass in keyword arguments.
916
+ # request = Google::Cloud::Video::LiveStream::V1::StopChannelRequest.new
917
+ #
918
+ # # Call the stop_channel method.
919
+ # result = client.stop_channel request
920
+ #
921
+ # # The returned object is of type Gapic::Operation. You can use this
922
+ # # object to check the status of an operation, cancel it, or wait
923
+ # # for results. Here is how to block until completion:
924
+ # result.wait_until_done! timeout: 60
925
+ # if result.response?
926
+ # p result.response
927
+ # else
928
+ # puts "Error!"
929
+ # end
930
+ #
931
+ def stop_channel request, options = nil
932
+ raise ::ArgumentError, "request must be provided" if request.nil?
933
+
934
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::StopChannelRequest
935
+
936
+ # Converts hash and nil to an options object
937
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
938
+
939
+ # Customize the options with defaults
940
+ metadata = @config.rpcs.stop_channel.metadata.to_h
941
+
942
+ # Set x-goog-api-client and x-goog-user-project headers
943
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
944
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
945
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
946
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
947
+
948
+ header_params = {}
949
+ if request.name
950
+ header_params["name"] = request.name
951
+ end
952
+
953
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
954
+ metadata[:"x-goog-request-params"] ||= request_params_header
955
+
956
+ options.apply_defaults timeout: @config.rpcs.stop_channel.timeout,
957
+ metadata: metadata,
958
+ retry_policy: @config.rpcs.stop_channel.retry_policy
959
+
960
+ options.apply_defaults timeout: @config.timeout,
961
+ metadata: @config.metadata,
962
+ retry_policy: @config.retry_policy
963
+
964
+ @livestream_service_stub.call_rpc :stop_channel, request, options: options do |response, operation|
965
+ response = ::Gapic::Operation.new response, @operations_client, options: options
966
+ yield response, operation if block_given?
967
+ return response
968
+ end
969
+ rescue ::GRPC::BadStatus => e
970
+ raise ::Google::Cloud::Error.from_error(e)
971
+ end
972
+
973
+ ##
974
+ # Creates an input with the provided unique ID in the specified region.
975
+ #
976
+ # @overload create_input(request, options = nil)
977
+ # Pass arguments to `create_input` via a request object, either of type
978
+ # {::Google::Cloud::Video::LiveStream::V1::CreateInputRequest} or an equivalent Hash.
979
+ #
980
+ # @param request [::Google::Cloud::Video::LiveStream::V1::CreateInputRequest, ::Hash]
981
+ # A request object representing the call parameters. Required. To specify no
982
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
983
+ # @param options [::Gapic::CallOptions, ::Hash]
984
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
985
+ #
986
+ # @overload create_input(parent: nil, input: nil, input_id: nil, request_id: nil)
987
+ # Pass arguments to `create_input` via keyword arguments. Note that at
988
+ # least one keyword argument is required. To specify no parameters, or to keep all
989
+ # the default parameter values, pass an empty Hash as a request object (see above).
990
+ #
991
+ # @param parent [::String]
992
+ # Required. The parent location for the resource, in the form of:
993
+ # `projects/{project}/locations/{location}`.
994
+ # @param input [::Google::Cloud::Video::LiveStream::V1::Input, ::Hash]
995
+ # Required. The input resource to be created.
996
+ # @param input_id [::String]
997
+ # Required. The ID of the input resource to be created.
998
+ # This value must be 1-63 characters, begin and end with `[a-z0-9]`,
999
+ # could contain dashes (-) in between.
1000
+ # @param request_id [::String]
1001
+ # A request ID to identify requests. Specify a unique request ID
1002
+ # so that if you must retry your request, the server will know to ignore
1003
+ # the request if it has already been completed. The server will guarantee
1004
+ # that for at least 60 minutes since the first request.
1005
+ #
1006
+ # For example, consider a situation where you make an initial request and the
1007
+ # request times out. If you make the request again with the same request ID,
1008
+ # the server can check if original operation with the same request ID was
1009
+ # received, and if so, will ignore the second request. This prevents clients
1010
+ # from accidentally creating duplicate commitments.
1011
+ #
1012
+ # The request ID must be a valid UUID with the exception that zero UUID is
1013
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
1014
+ #
1015
+ # @yield [response, operation] Access the result along with the RPC operation
1016
+ # @yieldparam response [::Gapic::Operation]
1017
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1018
+ #
1019
+ # @return [::Gapic::Operation]
1020
+ #
1021
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1022
+ #
1023
+ # @example Basic example
1024
+ # require "google/cloud/video/live_stream/v1"
1025
+ #
1026
+ # # Create a client object. The client can be reused for multiple calls.
1027
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1028
+ #
1029
+ # # Create a request. To set request fields, pass in keyword arguments.
1030
+ # request = Google::Cloud::Video::LiveStream::V1::CreateInputRequest.new
1031
+ #
1032
+ # # Call the create_input method.
1033
+ # result = client.create_input request
1034
+ #
1035
+ # # The returned object is of type Gapic::Operation. You can use this
1036
+ # # object to check the status of an operation, cancel it, or wait
1037
+ # # for results. Here is how to block until completion:
1038
+ # result.wait_until_done! timeout: 60
1039
+ # if result.response?
1040
+ # p result.response
1041
+ # else
1042
+ # puts "Error!"
1043
+ # end
1044
+ #
1045
+ def create_input request, options = nil
1046
+ raise ::ArgumentError, "request must be provided" if request.nil?
1047
+
1048
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::CreateInputRequest
1049
+
1050
+ # Converts hash and nil to an options object
1051
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1052
+
1053
+ # Customize the options with defaults
1054
+ metadata = @config.rpcs.create_input.metadata.to_h
1055
+
1056
+ # Set x-goog-api-client and x-goog-user-project headers
1057
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1058
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1059
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1060
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1061
+
1062
+ header_params = {}
1063
+ if request.parent
1064
+ header_params["parent"] = request.parent
1065
+ end
1066
+
1067
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1068
+ metadata[:"x-goog-request-params"] ||= request_params_header
1069
+
1070
+ options.apply_defaults timeout: @config.rpcs.create_input.timeout,
1071
+ metadata: metadata,
1072
+ retry_policy: @config.rpcs.create_input.retry_policy
1073
+
1074
+ options.apply_defaults timeout: @config.timeout,
1075
+ metadata: @config.metadata,
1076
+ retry_policy: @config.retry_policy
1077
+
1078
+ @livestream_service_stub.call_rpc :create_input, request, options: options do |response, operation|
1079
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1080
+ yield response, operation if block_given?
1081
+ return response
1082
+ end
1083
+ rescue ::GRPC::BadStatus => e
1084
+ raise ::Google::Cloud::Error.from_error(e)
1085
+ end
1086
+
1087
+ ##
1088
+ # Returns a list of all inputs in the specified region.
1089
+ #
1090
+ # @overload list_inputs(request, options = nil)
1091
+ # Pass arguments to `list_inputs` via a request object, either of type
1092
+ # {::Google::Cloud::Video::LiveStream::V1::ListInputsRequest} or an equivalent Hash.
1093
+ #
1094
+ # @param request [::Google::Cloud::Video::LiveStream::V1::ListInputsRequest, ::Hash]
1095
+ # A request object representing the call parameters. Required. To specify no
1096
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1097
+ # @param options [::Gapic::CallOptions, ::Hash]
1098
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1099
+ #
1100
+ # @overload list_inputs(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
1101
+ # Pass arguments to `list_inputs` via keyword arguments. Note that at
1102
+ # least one keyword argument is required. To specify no parameters, or to keep all
1103
+ # the default parameter values, pass an empty Hash as a request object (see above).
1104
+ #
1105
+ # @param parent [::String]
1106
+ # Required. The parent location for the resource, in the form of:
1107
+ # `projects/{project}/locations/{location}`.
1108
+ # @param page_size [::Integer]
1109
+ # The maximum number of items to return. If unspecified, server
1110
+ # will pick an appropriate default. Server may return fewer items than
1111
+ # requested. A caller should only rely on response's
1112
+ # {::Google::Cloud::Video::LiveStream::V1::ListInputsResponse#next_page_token next_page_token} to
1113
+ # determine if there are more items left to be queried.
1114
+ # @param page_token [::String]
1115
+ # The next_page_token value returned from a previous List request, if any.
1116
+ # @param filter [::String]
1117
+ # The filter to apply to list results.
1118
+ # @param order_by [::String]
1119
+ # Specifies the ordering of results following syntax at [Sorting
1120
+ # Order](https://cloud.google.com/apis/design/design_patterns#sorting_order).
1121
+ #
1122
+ # @yield [response, operation] Access the result along with the RPC operation
1123
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Video::LiveStream::V1::Input>]
1124
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1125
+ #
1126
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Video::LiveStream::V1::Input>]
1127
+ #
1128
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1129
+ #
1130
+ # @example Basic example
1131
+ # require "google/cloud/video/live_stream/v1"
1132
+ #
1133
+ # # Create a client object. The client can be reused for multiple calls.
1134
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1135
+ #
1136
+ # # Create a request. To set request fields, pass in keyword arguments.
1137
+ # request = Google::Cloud::Video::LiveStream::V1::ListInputsRequest.new
1138
+ #
1139
+ # # Call the list_inputs method.
1140
+ # result = client.list_inputs request
1141
+ #
1142
+ # # The returned object is of type Gapic::PagedEnumerable. You can
1143
+ # # iterate over all elements by calling #each, and the enumerable
1144
+ # # will lazily make API calls to fetch subsequent pages. Other
1145
+ # # methods are also available for managing paging directly.
1146
+ # result.each do |response|
1147
+ # # Each element is of type ::Google::Cloud::Video::LiveStream::V1::Input.
1148
+ # p response
1149
+ # end
1150
+ #
1151
+ def list_inputs request, options = nil
1152
+ raise ::ArgumentError, "request must be provided" if request.nil?
1153
+
1154
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::ListInputsRequest
1155
+
1156
+ # Converts hash and nil to an options object
1157
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1158
+
1159
+ # Customize the options with defaults
1160
+ metadata = @config.rpcs.list_inputs.metadata.to_h
1161
+
1162
+ # Set x-goog-api-client and x-goog-user-project headers
1163
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1164
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1165
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1166
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1167
+
1168
+ header_params = {}
1169
+ if request.parent
1170
+ header_params["parent"] = request.parent
1171
+ end
1172
+
1173
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1174
+ metadata[:"x-goog-request-params"] ||= request_params_header
1175
+
1176
+ options.apply_defaults timeout: @config.rpcs.list_inputs.timeout,
1177
+ metadata: metadata,
1178
+ retry_policy: @config.rpcs.list_inputs.retry_policy
1179
+
1180
+ options.apply_defaults timeout: @config.timeout,
1181
+ metadata: @config.metadata,
1182
+ retry_policy: @config.retry_policy
1183
+
1184
+ @livestream_service_stub.call_rpc :list_inputs, request, options: options do |response, operation|
1185
+ response = ::Gapic::PagedEnumerable.new @livestream_service_stub, :list_inputs, request, response, operation, options
1186
+ yield response, operation if block_given?
1187
+ return response
1188
+ end
1189
+ rescue ::GRPC::BadStatus => e
1190
+ raise ::Google::Cloud::Error.from_error(e)
1191
+ end
1192
+
1193
+ ##
1194
+ # Returns the specified input.
1195
+ #
1196
+ # @overload get_input(request, options = nil)
1197
+ # Pass arguments to `get_input` via a request object, either of type
1198
+ # {::Google::Cloud::Video::LiveStream::V1::GetInputRequest} or an equivalent Hash.
1199
+ #
1200
+ # @param request [::Google::Cloud::Video::LiveStream::V1::GetInputRequest, ::Hash]
1201
+ # A request object representing the call parameters. Required. To specify no
1202
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1203
+ # @param options [::Gapic::CallOptions, ::Hash]
1204
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1205
+ #
1206
+ # @overload get_input(name: nil)
1207
+ # Pass arguments to `get_input` via keyword arguments. Note that at
1208
+ # least one keyword argument is required. To specify no parameters, or to keep all
1209
+ # the default parameter values, pass an empty Hash as a request object (see above).
1210
+ #
1211
+ # @param name [::String]
1212
+ # Required. The name of the input resource, in the form of:
1213
+ # `projects/{project}/locations/{location}/inputs/{inputId}`.
1214
+ #
1215
+ # @yield [response, operation] Access the result along with the RPC operation
1216
+ # @yieldparam response [::Google::Cloud::Video::LiveStream::V1::Input]
1217
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1218
+ #
1219
+ # @return [::Google::Cloud::Video::LiveStream::V1::Input]
1220
+ #
1221
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1222
+ #
1223
+ # @example Basic example
1224
+ # require "google/cloud/video/live_stream/v1"
1225
+ #
1226
+ # # Create a client object. The client can be reused for multiple calls.
1227
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1228
+ #
1229
+ # # Create a request. To set request fields, pass in keyword arguments.
1230
+ # request = Google::Cloud::Video::LiveStream::V1::GetInputRequest.new
1231
+ #
1232
+ # # Call the get_input method.
1233
+ # result = client.get_input request
1234
+ #
1235
+ # # The returned object is of type Google::Cloud::Video::LiveStream::V1::Input.
1236
+ # p result
1237
+ #
1238
+ def get_input request, options = nil
1239
+ raise ::ArgumentError, "request must be provided" if request.nil?
1240
+
1241
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::GetInputRequest
1242
+
1243
+ # Converts hash and nil to an options object
1244
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1245
+
1246
+ # Customize the options with defaults
1247
+ metadata = @config.rpcs.get_input.metadata.to_h
1248
+
1249
+ # Set x-goog-api-client and x-goog-user-project headers
1250
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1251
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1252
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1253
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1254
+
1255
+ header_params = {}
1256
+ if request.name
1257
+ header_params["name"] = request.name
1258
+ end
1259
+
1260
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1261
+ metadata[:"x-goog-request-params"] ||= request_params_header
1262
+
1263
+ options.apply_defaults timeout: @config.rpcs.get_input.timeout,
1264
+ metadata: metadata,
1265
+ retry_policy: @config.rpcs.get_input.retry_policy
1266
+
1267
+ options.apply_defaults timeout: @config.timeout,
1268
+ metadata: @config.metadata,
1269
+ retry_policy: @config.retry_policy
1270
+
1271
+ @livestream_service_stub.call_rpc :get_input, request, options: options do |response, operation|
1272
+ yield response, operation if block_given?
1273
+ return response
1274
+ end
1275
+ rescue ::GRPC::BadStatus => e
1276
+ raise ::Google::Cloud::Error.from_error(e)
1277
+ end
1278
+
1279
+ ##
1280
+ # Deletes the specified input.
1281
+ #
1282
+ # @overload delete_input(request, options = nil)
1283
+ # Pass arguments to `delete_input` via a request object, either of type
1284
+ # {::Google::Cloud::Video::LiveStream::V1::DeleteInputRequest} or an equivalent Hash.
1285
+ #
1286
+ # @param request [::Google::Cloud::Video::LiveStream::V1::DeleteInputRequest, ::Hash]
1287
+ # A request object representing the call parameters. Required. To specify no
1288
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1289
+ # @param options [::Gapic::CallOptions, ::Hash]
1290
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1291
+ #
1292
+ # @overload delete_input(name: nil, request_id: nil)
1293
+ # Pass arguments to `delete_input` via keyword arguments. Note that at
1294
+ # least one keyword argument is required. To specify no parameters, or to keep all
1295
+ # the default parameter values, pass an empty Hash as a request object (see above).
1296
+ #
1297
+ # @param name [::String]
1298
+ # Required. The name of the input resource, in the form of:
1299
+ # `projects/{project}/locations/{location}/inputs/{inputId}`.
1300
+ # @param request_id [::String]
1301
+ # A request ID to identify requests. Specify a unique request ID
1302
+ # so that if you must retry your request, the server will know to ignore
1303
+ # the request if it has already been completed. The server will guarantee
1304
+ # that for at least 60 minutes since the first request.
1305
+ #
1306
+ # For example, consider a situation where you make an initial request and the
1307
+ # request times out. If you make the request again with the same request ID,
1308
+ # the server can check if original operation with the same request ID was
1309
+ # received, and if so, will ignore the second request. This prevents clients
1310
+ # from accidentally creating duplicate commitments.
1311
+ #
1312
+ # The request ID must be a valid UUID with the exception that zero UUID is
1313
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
1314
+ #
1315
+ # @yield [response, operation] Access the result along with the RPC operation
1316
+ # @yieldparam response [::Gapic::Operation]
1317
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1318
+ #
1319
+ # @return [::Gapic::Operation]
1320
+ #
1321
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1322
+ #
1323
+ # @example Basic example
1324
+ # require "google/cloud/video/live_stream/v1"
1325
+ #
1326
+ # # Create a client object. The client can be reused for multiple calls.
1327
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1328
+ #
1329
+ # # Create a request. To set request fields, pass in keyword arguments.
1330
+ # request = Google::Cloud::Video::LiveStream::V1::DeleteInputRequest.new
1331
+ #
1332
+ # # Call the delete_input method.
1333
+ # result = client.delete_input request
1334
+ #
1335
+ # # The returned object is of type Gapic::Operation. You can use this
1336
+ # # object to check the status of an operation, cancel it, or wait
1337
+ # # for results. Here is how to block until completion:
1338
+ # result.wait_until_done! timeout: 60
1339
+ # if result.response?
1340
+ # p result.response
1341
+ # else
1342
+ # puts "Error!"
1343
+ # end
1344
+ #
1345
+ def delete_input request, options = nil
1346
+ raise ::ArgumentError, "request must be provided" if request.nil?
1347
+
1348
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::DeleteInputRequest
1349
+
1350
+ # Converts hash and nil to an options object
1351
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1352
+
1353
+ # Customize the options with defaults
1354
+ metadata = @config.rpcs.delete_input.metadata.to_h
1355
+
1356
+ # Set x-goog-api-client and x-goog-user-project headers
1357
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1358
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1359
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1360
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1361
+
1362
+ header_params = {}
1363
+ if request.name
1364
+ header_params["name"] = request.name
1365
+ end
1366
+
1367
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1368
+ metadata[:"x-goog-request-params"] ||= request_params_header
1369
+
1370
+ options.apply_defaults timeout: @config.rpcs.delete_input.timeout,
1371
+ metadata: metadata,
1372
+ retry_policy: @config.rpcs.delete_input.retry_policy
1373
+
1374
+ options.apply_defaults timeout: @config.timeout,
1375
+ metadata: @config.metadata,
1376
+ retry_policy: @config.retry_policy
1377
+
1378
+ @livestream_service_stub.call_rpc :delete_input, request, options: options do |response, operation|
1379
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1380
+ yield response, operation if block_given?
1381
+ return response
1382
+ end
1383
+ rescue ::GRPC::BadStatus => e
1384
+ raise ::Google::Cloud::Error.from_error(e)
1385
+ end
1386
+
1387
+ ##
1388
+ # Updates the specified input.
1389
+ #
1390
+ # @overload update_input(request, options = nil)
1391
+ # Pass arguments to `update_input` via a request object, either of type
1392
+ # {::Google::Cloud::Video::LiveStream::V1::UpdateInputRequest} or an equivalent Hash.
1393
+ #
1394
+ # @param request [::Google::Cloud::Video::LiveStream::V1::UpdateInputRequest, ::Hash]
1395
+ # A request object representing the call parameters. Required. To specify no
1396
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1397
+ # @param options [::Gapic::CallOptions, ::Hash]
1398
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1399
+ #
1400
+ # @overload update_input(update_mask: nil, input: nil, request_id: nil)
1401
+ # Pass arguments to `update_input` via keyword arguments. Note that at
1402
+ # least one keyword argument is required. To specify no parameters, or to keep all
1403
+ # the default parameter values, pass an empty Hash as a request object (see above).
1404
+ #
1405
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
1406
+ # Field mask is used to specify the fields to be overwritten in the Input
1407
+ # resource by the update. You can only update the following fields:
1408
+ #
1409
+ # * [`preprocessingConfig`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs#PreprocessingConfig)
1410
+ # * [`securityRules`](https://cloud.google.com/livestream/docs/reference/rest/v1/projects.locations.inputs#SecurityRule)
1411
+ #
1412
+ # The fields specified in the update_mask are relative to the resource, not
1413
+ # the full request. A field will be overwritten if it is in the mask.
1414
+ # @param input [::Google::Cloud::Video::LiveStream::V1::Input, ::Hash]
1415
+ # Required. The input resource to be updated.
1416
+ # @param request_id [::String]
1417
+ # A request ID to identify requests. Specify a unique request ID
1418
+ # so that if you must retry your request, the server will know to ignore
1419
+ # the request if it has already been completed. The server will guarantee
1420
+ # that for at least 60 minutes since the first request.
1421
+ #
1422
+ # For example, consider a situation where you make an initial request and the
1423
+ # request times out. If you make the request again with the same request ID,
1424
+ # the server can check if original operation with the same request ID was
1425
+ # received, and if so, will ignore the second request. This prevents clients
1426
+ # from accidentally creating duplicate commitments.
1427
+ #
1428
+ # The request ID must be a valid UUID with the exception that zero UUID is
1429
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
1430
+ #
1431
+ # @yield [response, operation] Access the result along with the RPC operation
1432
+ # @yieldparam response [::Gapic::Operation]
1433
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1434
+ #
1435
+ # @return [::Gapic::Operation]
1436
+ #
1437
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1438
+ #
1439
+ # @example Basic example
1440
+ # require "google/cloud/video/live_stream/v1"
1441
+ #
1442
+ # # Create a client object. The client can be reused for multiple calls.
1443
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1444
+ #
1445
+ # # Create a request. To set request fields, pass in keyword arguments.
1446
+ # request = Google::Cloud::Video::LiveStream::V1::UpdateInputRequest.new
1447
+ #
1448
+ # # Call the update_input method.
1449
+ # result = client.update_input request
1450
+ #
1451
+ # # The returned object is of type Gapic::Operation. You can use this
1452
+ # # object to check the status of an operation, cancel it, or wait
1453
+ # # for results. Here is how to block until completion:
1454
+ # result.wait_until_done! timeout: 60
1455
+ # if result.response?
1456
+ # p result.response
1457
+ # else
1458
+ # puts "Error!"
1459
+ # end
1460
+ #
1461
+ def update_input request, options = nil
1462
+ raise ::ArgumentError, "request must be provided" if request.nil?
1463
+
1464
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::UpdateInputRequest
1465
+
1466
+ # Converts hash and nil to an options object
1467
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1468
+
1469
+ # Customize the options with defaults
1470
+ metadata = @config.rpcs.update_input.metadata.to_h
1471
+
1472
+ # Set x-goog-api-client and x-goog-user-project headers
1473
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1474
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1475
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1476
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1477
+
1478
+ header_params = {}
1479
+ if request.input&.name
1480
+ header_params["input.name"] = request.input.name
1481
+ end
1482
+
1483
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1484
+ metadata[:"x-goog-request-params"] ||= request_params_header
1485
+
1486
+ options.apply_defaults timeout: @config.rpcs.update_input.timeout,
1487
+ metadata: metadata,
1488
+ retry_policy: @config.rpcs.update_input.retry_policy
1489
+
1490
+ options.apply_defaults timeout: @config.timeout,
1491
+ metadata: @config.metadata,
1492
+ retry_policy: @config.retry_policy
1493
+
1494
+ @livestream_service_stub.call_rpc :update_input, request, options: options do |response, operation|
1495
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1496
+ yield response, operation if block_given?
1497
+ return response
1498
+ end
1499
+ rescue ::GRPC::BadStatus => e
1500
+ raise ::Google::Cloud::Error.from_error(e)
1501
+ end
1502
+
1503
+ ##
1504
+ # Creates an event with the provided unique ID in the specified channel.
1505
+ #
1506
+ # @overload create_event(request, options = nil)
1507
+ # Pass arguments to `create_event` via a request object, either of type
1508
+ # {::Google::Cloud::Video::LiveStream::V1::CreateEventRequest} or an equivalent Hash.
1509
+ #
1510
+ # @param request [::Google::Cloud::Video::LiveStream::V1::CreateEventRequest, ::Hash]
1511
+ # A request object representing the call parameters. Required. To specify no
1512
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1513
+ # @param options [::Gapic::CallOptions, ::Hash]
1514
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1515
+ #
1516
+ # @overload create_event(parent: nil, event: nil, event_id: nil, request_id: nil)
1517
+ # Pass arguments to `create_event` via keyword arguments. Note that at
1518
+ # least one keyword argument is required. To specify no parameters, or to keep all
1519
+ # the default parameter values, pass an empty Hash as a request object (see above).
1520
+ #
1521
+ # @param parent [::String]
1522
+ # Required. The parent channel for the resource, in the form of:
1523
+ # `projects/{project}/locations/{location}/channels/{channelId}`.
1524
+ # @param event [::Google::Cloud::Video::LiveStream::V1::Event, ::Hash]
1525
+ # Required. The event resource to be created.
1526
+ # @param event_id [::String]
1527
+ # Required. The ID of the event resource to be created.
1528
+ # This value must be 1-63 characters, begin and end with `[a-z0-9]`,
1529
+ # could contain dashes (-) in between.
1530
+ # @param request_id [::String]
1531
+ # A request ID to identify requests. Specify a unique request ID
1532
+ # so that if you must retry your request, the server will know to ignore
1533
+ # the request if it has already been completed. The server will guarantee
1534
+ # that for at least 60 minutes since the first request.
1535
+ #
1536
+ # For example, consider a situation where you make an initial request and the
1537
+ # request times out. If you make the request again with the same request ID,
1538
+ # the server can check if original operation with the same request ID was
1539
+ # received, and if so, will ignore the second request. This prevents clients
1540
+ # from accidentally creating duplicate commitments.
1541
+ #
1542
+ # The request ID must be a valid UUID with the exception that zero UUID is
1543
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
1544
+ #
1545
+ # @yield [response, operation] Access the result along with the RPC operation
1546
+ # @yieldparam response [::Google::Cloud::Video::LiveStream::V1::Event]
1547
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1548
+ #
1549
+ # @return [::Google::Cloud::Video::LiveStream::V1::Event]
1550
+ #
1551
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1552
+ #
1553
+ # @example Basic example
1554
+ # require "google/cloud/video/live_stream/v1"
1555
+ #
1556
+ # # Create a client object. The client can be reused for multiple calls.
1557
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1558
+ #
1559
+ # # Create a request. To set request fields, pass in keyword arguments.
1560
+ # request = Google::Cloud::Video::LiveStream::V1::CreateEventRequest.new
1561
+ #
1562
+ # # Call the create_event method.
1563
+ # result = client.create_event request
1564
+ #
1565
+ # # The returned object is of type Google::Cloud::Video::LiveStream::V1::Event.
1566
+ # p result
1567
+ #
1568
+ def create_event request, options = nil
1569
+ raise ::ArgumentError, "request must be provided" if request.nil?
1570
+
1571
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::CreateEventRequest
1572
+
1573
+ # Converts hash and nil to an options object
1574
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1575
+
1576
+ # Customize the options with defaults
1577
+ metadata = @config.rpcs.create_event.metadata.to_h
1578
+
1579
+ # Set x-goog-api-client and x-goog-user-project headers
1580
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1581
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1582
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1583
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1584
+
1585
+ header_params = {}
1586
+ if request.parent
1587
+ header_params["parent"] = request.parent
1588
+ end
1589
+
1590
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1591
+ metadata[:"x-goog-request-params"] ||= request_params_header
1592
+
1593
+ options.apply_defaults timeout: @config.rpcs.create_event.timeout,
1594
+ metadata: metadata,
1595
+ retry_policy: @config.rpcs.create_event.retry_policy
1596
+
1597
+ options.apply_defaults timeout: @config.timeout,
1598
+ metadata: @config.metadata,
1599
+ retry_policy: @config.retry_policy
1600
+
1601
+ @livestream_service_stub.call_rpc :create_event, request, options: options do |response, operation|
1602
+ yield response, operation if block_given?
1603
+ return response
1604
+ end
1605
+ rescue ::GRPC::BadStatus => e
1606
+ raise ::Google::Cloud::Error.from_error(e)
1607
+ end
1608
+
1609
+ ##
1610
+ # Returns a list of all events in the specified channel.
1611
+ #
1612
+ # @overload list_events(request, options = nil)
1613
+ # Pass arguments to `list_events` via a request object, either of type
1614
+ # {::Google::Cloud::Video::LiveStream::V1::ListEventsRequest} or an equivalent Hash.
1615
+ #
1616
+ # @param request [::Google::Cloud::Video::LiveStream::V1::ListEventsRequest, ::Hash]
1617
+ # A request object representing the call parameters. Required. To specify no
1618
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1619
+ # @param options [::Gapic::CallOptions, ::Hash]
1620
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1621
+ #
1622
+ # @overload list_events(parent: nil, page_size: nil, page_token: nil, filter: nil, order_by: nil)
1623
+ # Pass arguments to `list_events` via keyword arguments. Note that at
1624
+ # least one keyword argument is required. To specify no parameters, or to keep all
1625
+ # the default parameter values, pass an empty Hash as a request object (see above).
1626
+ #
1627
+ # @param parent [::String]
1628
+ # Required. The parent channel for the resource, in the form of:
1629
+ # `projects/{project}/locations/{location}/channels/{channelId}`.
1630
+ # @param page_size [::Integer]
1631
+ # The maximum number of items to return. If unspecified, server
1632
+ # will pick an appropriate default. Server may return fewer items than
1633
+ # requested. A caller should only rely on response's
1634
+ # {::Google::Cloud::Video::LiveStream::V1::ListEventsResponse#next_page_token next_page_token} to
1635
+ # determine if there are more items left to be queried.
1636
+ # @param page_token [::String]
1637
+ # The next_page_token value returned from a previous List request, if any.
1638
+ # @param filter [::String]
1639
+ # The filter to apply to list results.
1640
+ # @param order_by [::String]
1641
+ # Specifies the ordering of results following syntax at
1642
+ # https://cloud.google.com/apis/design/design_patterns#sorting_order.
1643
+ #
1644
+ # @yield [response, operation] Access the result along with the RPC operation
1645
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::Video::LiveStream::V1::Event>]
1646
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1647
+ #
1648
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::Video::LiveStream::V1::Event>]
1649
+ #
1650
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1651
+ #
1652
+ # @example Basic example
1653
+ # require "google/cloud/video/live_stream/v1"
1654
+ #
1655
+ # # Create a client object. The client can be reused for multiple calls.
1656
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1657
+ #
1658
+ # # Create a request. To set request fields, pass in keyword arguments.
1659
+ # request = Google::Cloud::Video::LiveStream::V1::ListEventsRequest.new
1660
+ #
1661
+ # # Call the list_events method.
1662
+ # result = client.list_events request
1663
+ #
1664
+ # # The returned object is of type Gapic::PagedEnumerable. You can
1665
+ # # iterate over all elements by calling #each, and the enumerable
1666
+ # # will lazily make API calls to fetch subsequent pages. Other
1667
+ # # methods are also available for managing paging directly.
1668
+ # result.each do |response|
1669
+ # # Each element is of type ::Google::Cloud::Video::LiveStream::V1::Event.
1670
+ # p response
1671
+ # end
1672
+ #
1673
+ def list_events request, options = nil
1674
+ raise ::ArgumentError, "request must be provided" if request.nil?
1675
+
1676
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::ListEventsRequest
1677
+
1678
+ # Converts hash and nil to an options object
1679
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1680
+
1681
+ # Customize the options with defaults
1682
+ metadata = @config.rpcs.list_events.metadata.to_h
1683
+
1684
+ # Set x-goog-api-client and x-goog-user-project headers
1685
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1686
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1687
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1688
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1689
+
1690
+ header_params = {}
1691
+ if request.parent
1692
+ header_params["parent"] = request.parent
1693
+ end
1694
+
1695
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1696
+ metadata[:"x-goog-request-params"] ||= request_params_header
1697
+
1698
+ options.apply_defaults timeout: @config.rpcs.list_events.timeout,
1699
+ metadata: metadata,
1700
+ retry_policy: @config.rpcs.list_events.retry_policy
1701
+
1702
+ options.apply_defaults timeout: @config.timeout,
1703
+ metadata: @config.metadata,
1704
+ retry_policy: @config.retry_policy
1705
+
1706
+ @livestream_service_stub.call_rpc :list_events, request, options: options do |response, operation|
1707
+ response = ::Gapic::PagedEnumerable.new @livestream_service_stub, :list_events, request, response, operation, options
1708
+ yield response, operation if block_given?
1709
+ return response
1710
+ end
1711
+ rescue ::GRPC::BadStatus => e
1712
+ raise ::Google::Cloud::Error.from_error(e)
1713
+ end
1714
+
1715
+ ##
1716
+ # Returns the specified event.
1717
+ #
1718
+ # @overload get_event(request, options = nil)
1719
+ # Pass arguments to `get_event` via a request object, either of type
1720
+ # {::Google::Cloud::Video::LiveStream::V1::GetEventRequest} or an equivalent Hash.
1721
+ #
1722
+ # @param request [::Google::Cloud::Video::LiveStream::V1::GetEventRequest, ::Hash]
1723
+ # A request object representing the call parameters. Required. To specify no
1724
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1725
+ # @param options [::Gapic::CallOptions, ::Hash]
1726
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1727
+ #
1728
+ # @overload get_event(name: nil)
1729
+ # Pass arguments to `get_event` via keyword arguments. Note that at
1730
+ # least one keyword argument is required. To specify no parameters, or to keep all
1731
+ # the default parameter values, pass an empty Hash as a request object (see above).
1732
+ #
1733
+ # @param name [::String]
1734
+ # Required. The name of the event resource, in the form of:
1735
+ # `projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}`.
1736
+ #
1737
+ # @yield [response, operation] Access the result along with the RPC operation
1738
+ # @yieldparam response [::Google::Cloud::Video::LiveStream::V1::Event]
1739
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1740
+ #
1741
+ # @return [::Google::Cloud::Video::LiveStream::V1::Event]
1742
+ #
1743
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1744
+ #
1745
+ # @example Basic example
1746
+ # require "google/cloud/video/live_stream/v1"
1747
+ #
1748
+ # # Create a client object. The client can be reused for multiple calls.
1749
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1750
+ #
1751
+ # # Create a request. To set request fields, pass in keyword arguments.
1752
+ # request = Google::Cloud::Video::LiveStream::V1::GetEventRequest.new
1753
+ #
1754
+ # # Call the get_event method.
1755
+ # result = client.get_event request
1756
+ #
1757
+ # # The returned object is of type Google::Cloud::Video::LiveStream::V1::Event.
1758
+ # p result
1759
+ #
1760
+ def get_event request, options = nil
1761
+ raise ::ArgumentError, "request must be provided" if request.nil?
1762
+
1763
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::GetEventRequest
1764
+
1765
+ # Converts hash and nil to an options object
1766
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1767
+
1768
+ # Customize the options with defaults
1769
+ metadata = @config.rpcs.get_event.metadata.to_h
1770
+
1771
+ # Set x-goog-api-client and x-goog-user-project headers
1772
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1773
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1774
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1775
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1776
+
1777
+ header_params = {}
1778
+ if request.name
1779
+ header_params["name"] = request.name
1780
+ end
1781
+
1782
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1783
+ metadata[:"x-goog-request-params"] ||= request_params_header
1784
+
1785
+ options.apply_defaults timeout: @config.rpcs.get_event.timeout,
1786
+ metadata: metadata,
1787
+ retry_policy: @config.rpcs.get_event.retry_policy
1788
+
1789
+ options.apply_defaults timeout: @config.timeout,
1790
+ metadata: @config.metadata,
1791
+ retry_policy: @config.retry_policy
1792
+
1793
+ @livestream_service_stub.call_rpc :get_event, request, options: options do |response, operation|
1794
+ yield response, operation if block_given?
1795
+ return response
1796
+ end
1797
+ rescue ::GRPC::BadStatus => e
1798
+ raise ::Google::Cloud::Error.from_error(e)
1799
+ end
1800
+
1801
+ ##
1802
+ # Deletes the specified event.
1803
+ #
1804
+ # @overload delete_event(request, options = nil)
1805
+ # Pass arguments to `delete_event` via a request object, either of type
1806
+ # {::Google::Cloud::Video::LiveStream::V1::DeleteEventRequest} or an equivalent Hash.
1807
+ #
1808
+ # @param request [::Google::Cloud::Video::LiveStream::V1::DeleteEventRequest, ::Hash]
1809
+ # A request object representing the call parameters. Required. To specify no
1810
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1811
+ # @param options [::Gapic::CallOptions, ::Hash]
1812
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1813
+ #
1814
+ # @overload delete_event(name: nil, request_id: nil)
1815
+ # Pass arguments to `delete_event` via keyword arguments. Note that at
1816
+ # least one keyword argument is required. To specify no parameters, or to keep all
1817
+ # the default parameter values, pass an empty Hash as a request object (see above).
1818
+ #
1819
+ # @param name [::String]
1820
+ # Required. The name of the event resource, in the form of:
1821
+ # `projects/{project}/locations/{location}/channels/{channelId}/events/{eventId}`.
1822
+ # @param request_id [::String]
1823
+ # A request ID to identify requests. Specify a unique request ID
1824
+ # so that if you must retry your request, the server will know to ignore
1825
+ # the request if it has already been completed. The server will guarantee
1826
+ # that for at least 60 minutes since the first request.
1827
+ #
1828
+ # For example, consider a situation where you make an initial request and the
1829
+ # request times out. If you make the request again with the same request ID,
1830
+ # the server can check if original operation with the same request ID was
1831
+ # received, and if so, will ignore the second request. This prevents clients
1832
+ # from accidentally creating duplicate commitments.
1833
+ #
1834
+ # The request ID must be a valid UUID with the exception that zero UUID is
1835
+ # not supported `(00000000-0000-0000-0000-000000000000)`.
1836
+ #
1837
+ # @yield [response, operation] Access the result along with the RPC operation
1838
+ # @yieldparam response [::Google::Protobuf::Empty]
1839
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1840
+ #
1841
+ # @return [::Google::Protobuf::Empty]
1842
+ #
1843
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1844
+ #
1845
+ # @example Basic example
1846
+ # require "google/cloud/video/live_stream/v1"
1847
+ #
1848
+ # # Create a client object. The client can be reused for multiple calls.
1849
+ # client = Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new
1850
+ #
1851
+ # # Create a request. To set request fields, pass in keyword arguments.
1852
+ # request = Google::Cloud::Video::LiveStream::V1::DeleteEventRequest.new
1853
+ #
1854
+ # # Call the delete_event method.
1855
+ # result = client.delete_event request
1856
+ #
1857
+ # # The returned object is of type Google::Protobuf::Empty.
1858
+ # p result
1859
+ #
1860
+ def delete_event request, options = nil
1861
+ raise ::ArgumentError, "request must be provided" if request.nil?
1862
+
1863
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Video::LiveStream::V1::DeleteEventRequest
1864
+
1865
+ # Converts hash and nil to an options object
1866
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1867
+
1868
+ # Customize the options with defaults
1869
+ metadata = @config.rpcs.delete_event.metadata.to_h
1870
+
1871
+ # Set x-goog-api-client and x-goog-user-project headers
1872
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1873
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1874
+ gapic_version: ::Google::Cloud::Video::LiveStream::V1::VERSION
1875
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1876
+
1877
+ header_params = {}
1878
+ if request.name
1879
+ header_params["name"] = request.name
1880
+ end
1881
+
1882
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1883
+ metadata[:"x-goog-request-params"] ||= request_params_header
1884
+
1885
+ options.apply_defaults timeout: @config.rpcs.delete_event.timeout,
1886
+ metadata: metadata,
1887
+ retry_policy: @config.rpcs.delete_event.retry_policy
1888
+
1889
+ options.apply_defaults timeout: @config.timeout,
1890
+ metadata: @config.metadata,
1891
+ retry_policy: @config.retry_policy
1892
+
1893
+ @livestream_service_stub.call_rpc :delete_event, request, options: options do |response, operation|
1894
+ yield response, operation if block_given?
1895
+ return response
1896
+ end
1897
+ rescue ::GRPC::BadStatus => e
1898
+ raise ::Google::Cloud::Error.from_error(e)
1899
+ end
1900
+
1901
+ ##
1902
+ # Configuration class for the LivestreamService API.
1903
+ #
1904
+ # This class represents the configuration for LivestreamService,
1905
+ # providing control over timeouts, retry behavior, logging, transport
1906
+ # parameters, and other low-level controls. Certain parameters can also be
1907
+ # applied individually to specific RPCs. See
1908
+ # {::Google::Cloud::Video::LiveStream::V1::LivestreamService::Client::Configuration::Rpcs}
1909
+ # for a list of RPCs that can be configured independently.
1910
+ #
1911
+ # Configuration can be applied globally to all clients, or to a single client
1912
+ # on construction.
1913
+ #
1914
+ # @example
1915
+ #
1916
+ # # Modify the global config, setting the timeout for
1917
+ # # create_channel to 20 seconds,
1918
+ # # and all remaining timeouts to 10 seconds.
1919
+ # ::Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.configure do |config|
1920
+ # config.timeout = 10.0
1921
+ # config.rpcs.create_channel.timeout = 20.0
1922
+ # end
1923
+ #
1924
+ # # Apply the above configuration only to a new client.
1925
+ # client = ::Google::Cloud::Video::LiveStream::V1::LivestreamService::Client.new do |config|
1926
+ # config.timeout = 10.0
1927
+ # config.rpcs.create_channel.timeout = 20.0
1928
+ # end
1929
+ #
1930
+ # @!attribute [rw] endpoint
1931
+ # The hostname or hostname:port of the service endpoint.
1932
+ # Defaults to `"livestream.googleapis.com"`.
1933
+ # @return [::String]
1934
+ # @!attribute [rw] credentials
1935
+ # Credentials to send with calls. You may provide any of the following types:
1936
+ # * (`String`) The path to a service account key file in JSON format
1937
+ # * (`Hash`) A service account key as a Hash
1938
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1939
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
1940
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1941
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
1942
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1943
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1944
+ # * (`nil`) indicating no credentials
1945
+ # @return [::Object]
1946
+ # @!attribute [rw] scope
1947
+ # The OAuth scopes
1948
+ # @return [::Array<::String>]
1949
+ # @!attribute [rw] lib_name
1950
+ # The library name as recorded in instrumentation and logging
1951
+ # @return [::String]
1952
+ # @!attribute [rw] lib_version
1953
+ # The library version as recorded in instrumentation and logging
1954
+ # @return [::String]
1955
+ # @!attribute [rw] channel_args
1956
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
1957
+ # `GRPC::Core::Channel` object is provided as the credential.
1958
+ # @return [::Hash]
1959
+ # @!attribute [rw] interceptors
1960
+ # An array of interceptors that are run before calls are executed.
1961
+ # @return [::Array<::GRPC::ClientInterceptor>]
1962
+ # @!attribute [rw] timeout
1963
+ # The call timeout in seconds.
1964
+ # @return [::Numeric]
1965
+ # @!attribute [rw] metadata
1966
+ # Additional gRPC headers to be sent with the call.
1967
+ # @return [::Hash{::Symbol=>::String}]
1968
+ # @!attribute [rw] retry_policy
1969
+ # The retry policy. The value is a hash with the following keys:
1970
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1971
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1972
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1973
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1974
+ # trigger a retry.
1975
+ # @return [::Hash]
1976
+ # @!attribute [rw] quota_project
1977
+ # A separate project against which to charge quota.
1978
+ # @return [::String]
1979
+ #
1980
+ class Configuration
1981
+ extend ::Gapic::Config
1982
+
1983
+ config_attr :endpoint, "livestream.googleapis.com", ::String
1984
+ config_attr :credentials, nil do |value|
1985
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1986
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
1987
+ allowed.any? { |klass| klass === value }
1988
+ end
1989
+ config_attr :scope, nil, ::String, ::Array, nil
1990
+ config_attr :lib_name, nil, ::String, nil
1991
+ config_attr :lib_version, nil, ::String, nil
1992
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
1993
+ config_attr :interceptors, nil, ::Array, nil
1994
+ config_attr :timeout, nil, ::Numeric, nil
1995
+ config_attr :metadata, nil, ::Hash, nil
1996
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1997
+ config_attr :quota_project, nil, ::String, nil
1998
+
1999
+ # @private
2000
+ def initialize parent_config = nil
2001
+ @parent_config = parent_config unless parent_config.nil?
2002
+
2003
+ yield self if block_given?
2004
+ end
2005
+
2006
+ ##
2007
+ # Configurations for individual RPCs
2008
+ # @return [Rpcs]
2009
+ #
2010
+ def rpcs
2011
+ @rpcs ||= begin
2012
+ parent_rpcs = nil
2013
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
2014
+ Rpcs.new parent_rpcs
2015
+ end
2016
+ end
2017
+
2018
+ ##
2019
+ # Configuration RPC class for the LivestreamService API.
2020
+ #
2021
+ # Includes fields providing the configuration for each RPC in this service.
2022
+ # Each configuration object is of type `Gapic::Config::Method` and includes
2023
+ # the following configuration fields:
2024
+ #
2025
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
2026
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
2027
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
2028
+ # include the following keys:
2029
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
2030
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
2031
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
2032
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
2033
+ # trigger a retry.
2034
+ #
2035
+ class Rpcs
2036
+ ##
2037
+ # RPC-specific configuration for `create_channel`
2038
+ # @return [::Gapic::Config::Method]
2039
+ #
2040
+ attr_reader :create_channel
2041
+ ##
2042
+ # RPC-specific configuration for `list_channels`
2043
+ # @return [::Gapic::Config::Method]
2044
+ #
2045
+ attr_reader :list_channels
2046
+ ##
2047
+ # RPC-specific configuration for `get_channel`
2048
+ # @return [::Gapic::Config::Method]
2049
+ #
2050
+ attr_reader :get_channel
2051
+ ##
2052
+ # RPC-specific configuration for `delete_channel`
2053
+ # @return [::Gapic::Config::Method]
2054
+ #
2055
+ attr_reader :delete_channel
2056
+ ##
2057
+ # RPC-specific configuration for `update_channel`
2058
+ # @return [::Gapic::Config::Method]
2059
+ #
2060
+ attr_reader :update_channel
2061
+ ##
2062
+ # RPC-specific configuration for `start_channel`
2063
+ # @return [::Gapic::Config::Method]
2064
+ #
2065
+ attr_reader :start_channel
2066
+ ##
2067
+ # RPC-specific configuration for `stop_channel`
2068
+ # @return [::Gapic::Config::Method]
2069
+ #
2070
+ attr_reader :stop_channel
2071
+ ##
2072
+ # RPC-specific configuration for `create_input`
2073
+ # @return [::Gapic::Config::Method]
2074
+ #
2075
+ attr_reader :create_input
2076
+ ##
2077
+ # RPC-specific configuration for `list_inputs`
2078
+ # @return [::Gapic::Config::Method]
2079
+ #
2080
+ attr_reader :list_inputs
2081
+ ##
2082
+ # RPC-specific configuration for `get_input`
2083
+ # @return [::Gapic::Config::Method]
2084
+ #
2085
+ attr_reader :get_input
2086
+ ##
2087
+ # RPC-specific configuration for `delete_input`
2088
+ # @return [::Gapic::Config::Method]
2089
+ #
2090
+ attr_reader :delete_input
2091
+ ##
2092
+ # RPC-specific configuration for `update_input`
2093
+ # @return [::Gapic::Config::Method]
2094
+ #
2095
+ attr_reader :update_input
2096
+ ##
2097
+ # RPC-specific configuration for `create_event`
2098
+ # @return [::Gapic::Config::Method]
2099
+ #
2100
+ attr_reader :create_event
2101
+ ##
2102
+ # RPC-specific configuration for `list_events`
2103
+ # @return [::Gapic::Config::Method]
2104
+ #
2105
+ attr_reader :list_events
2106
+ ##
2107
+ # RPC-specific configuration for `get_event`
2108
+ # @return [::Gapic::Config::Method]
2109
+ #
2110
+ attr_reader :get_event
2111
+ ##
2112
+ # RPC-specific configuration for `delete_event`
2113
+ # @return [::Gapic::Config::Method]
2114
+ #
2115
+ attr_reader :delete_event
2116
+
2117
+ # @private
2118
+ def initialize parent_rpcs = nil
2119
+ create_channel_config = parent_rpcs.create_channel if parent_rpcs.respond_to? :create_channel
2120
+ @create_channel = ::Gapic::Config::Method.new create_channel_config
2121
+ list_channels_config = parent_rpcs.list_channels if parent_rpcs.respond_to? :list_channels
2122
+ @list_channels = ::Gapic::Config::Method.new list_channels_config
2123
+ get_channel_config = parent_rpcs.get_channel if parent_rpcs.respond_to? :get_channel
2124
+ @get_channel = ::Gapic::Config::Method.new get_channel_config
2125
+ delete_channel_config = parent_rpcs.delete_channel if parent_rpcs.respond_to? :delete_channel
2126
+ @delete_channel = ::Gapic::Config::Method.new delete_channel_config
2127
+ update_channel_config = parent_rpcs.update_channel if parent_rpcs.respond_to? :update_channel
2128
+ @update_channel = ::Gapic::Config::Method.new update_channel_config
2129
+ start_channel_config = parent_rpcs.start_channel if parent_rpcs.respond_to? :start_channel
2130
+ @start_channel = ::Gapic::Config::Method.new start_channel_config
2131
+ stop_channel_config = parent_rpcs.stop_channel if parent_rpcs.respond_to? :stop_channel
2132
+ @stop_channel = ::Gapic::Config::Method.new stop_channel_config
2133
+ create_input_config = parent_rpcs.create_input if parent_rpcs.respond_to? :create_input
2134
+ @create_input = ::Gapic::Config::Method.new create_input_config
2135
+ list_inputs_config = parent_rpcs.list_inputs if parent_rpcs.respond_to? :list_inputs
2136
+ @list_inputs = ::Gapic::Config::Method.new list_inputs_config
2137
+ get_input_config = parent_rpcs.get_input if parent_rpcs.respond_to? :get_input
2138
+ @get_input = ::Gapic::Config::Method.new get_input_config
2139
+ delete_input_config = parent_rpcs.delete_input if parent_rpcs.respond_to? :delete_input
2140
+ @delete_input = ::Gapic::Config::Method.new delete_input_config
2141
+ update_input_config = parent_rpcs.update_input if parent_rpcs.respond_to? :update_input
2142
+ @update_input = ::Gapic::Config::Method.new update_input_config
2143
+ create_event_config = parent_rpcs.create_event if parent_rpcs.respond_to? :create_event
2144
+ @create_event = ::Gapic::Config::Method.new create_event_config
2145
+ list_events_config = parent_rpcs.list_events if parent_rpcs.respond_to? :list_events
2146
+ @list_events = ::Gapic::Config::Method.new list_events_config
2147
+ get_event_config = parent_rpcs.get_event if parent_rpcs.respond_to? :get_event
2148
+ @get_event = ::Gapic::Config::Method.new get_event_config
2149
+ delete_event_config = parent_rpcs.delete_event if parent_rpcs.respond_to? :delete_event
2150
+ @delete_event = ::Gapic::Config::Method.new delete_event_config
2151
+
2152
+ yield self if block_given?
2153
+ end
2154
+ end
2155
+ end
2156
+ end
2157
+ end
2158
+ end
2159
+ end
2160
+ end
2161
+ end
2162
+ end