aws-sdk-ivs 1.0.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e3474e7e70733685e7e03e1028cf18b8f08a04a5da2b23b72cf08534955467a6
4
+ data.tar.gz: 3006859dd98bc3c8c9f7fdd1d3760b721b3b6228ae46364d3d5a48a3ae4201cc
5
+ SHA512:
6
+ metadata.gz: 175103c40cea849aedd0b0f1fee3d11fa20add7f8edd47032bb797c19432c7d8ee23ff08fe046bd708e74297700a2b50e253f9d29366d7f160b0cde5dc65d63e
7
+ data.tar.gz: ee74e51a6478d5cddb177d3f9598ab8efb8ebd61d2d9539571d8962be0f7ce1734ad73e3836542c5b6c669013ca2f0c90f60db57cb34afd163407be2242c6008
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'aws-sdk-core'
11
+ require 'aws-sigv4'
12
+
13
+ require_relative 'aws-sdk-ivs/types'
14
+ require_relative 'aws-sdk-ivs/client_api'
15
+ require_relative 'aws-sdk-ivs/client'
16
+ require_relative 'aws-sdk-ivs/errors'
17
+ require_relative 'aws-sdk-ivs/resource'
18
+ require_relative 'aws-sdk-ivs/customizations'
19
+
20
+ # This module provides support for Amazon Interactive Video Service. This module is available in the
21
+ # `aws-sdk-ivs` gem.
22
+ #
23
+ # # Client
24
+ #
25
+ # The {Client} class provides one method for each API operation. Operation
26
+ # methods each accept a hash of request parameters and return a response
27
+ # structure.
28
+ #
29
+ # ivs = Aws::IVS::Client.new
30
+ # resp = ivs.batch_get_channel(params)
31
+ #
32
+ # See {Client} for more information.
33
+ #
34
+ # # Errors
35
+ #
36
+ # Errors returned from Amazon Interactive Video Service are defined in the
37
+ # {Errors} module and all extend {Errors::ServiceError}.
38
+ #
39
+ # begin
40
+ # # do stuff
41
+ # rescue Aws::IVS::Errors::ServiceError
42
+ # # rescues all Amazon Interactive Video Service API errors
43
+ # end
44
+ #
45
+ # See {Errors} for more information.
46
+ #
47
+ # @service
48
+ module Aws::IVS
49
+
50
+ GEM_VERSION = '1.0.0'
51
+
52
+ end
@@ -0,0 +1,1025 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/signature_v4.rb'
31
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
+
33
+ Aws::Plugins::GlobalConfiguration.add_identifier(:ivs)
34
+
35
+ module Aws::IVS
36
+ # An API client for IVS. To construct a client, you need to configure a `:region` and `:credentials`.
37
+ #
38
+ # client = Aws::IVS::Client.new(
39
+ # region: region_name,
40
+ # credentials: credentials,
41
+ # # ...
42
+ # )
43
+ #
44
+ # For details on configuring region and credentials see
45
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
46
+ #
47
+ # See {#initialize} for a full list of supported configuration options.
48
+ class Client < Seahorse::Client::Base
49
+
50
+ include Aws::ClientStubs
51
+
52
+ @identifier = :ivs
53
+
54
+ set_api(ClientApi::API)
55
+
56
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
57
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
58
+ add_plugin(Aws::Plugins::Logging)
59
+ add_plugin(Aws::Plugins::ParamConverter)
60
+ add_plugin(Aws::Plugins::ParamValidator)
61
+ add_plugin(Aws::Plugins::UserAgent)
62
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
63
+ add_plugin(Aws::Plugins::RetryErrors)
64
+ add_plugin(Aws::Plugins::GlobalConfiguration)
65
+ add_plugin(Aws::Plugins::RegionalEndpoint)
66
+ add_plugin(Aws::Plugins::EndpointDiscovery)
67
+ add_plugin(Aws::Plugins::EndpointPattern)
68
+ add_plugin(Aws::Plugins::ResponsePaging)
69
+ add_plugin(Aws::Plugins::StubResponses)
70
+ add_plugin(Aws::Plugins::IdempotencyToken)
71
+ add_plugin(Aws::Plugins::JsonvalueConverter)
72
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
73
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
+ add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
76
+ add_plugin(Aws::Plugins::SignatureV4)
77
+ add_plugin(Aws::Plugins::Protocols::RestJson)
78
+
79
+ # @overload initialize(options)
80
+ # @param [Hash] options
81
+ # @option options [required, Aws::CredentialProvider] :credentials
82
+ # Your AWS credentials. This can be an instance of any one of the
83
+ # following classes:
84
+ #
85
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
+ # credentials.
87
+ #
88
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
+ # from an EC2 IMDS on an EC2 instance.
90
+ #
91
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
92
+ # shared file, such as `~/.aws/config`.
93
+ #
94
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
95
+ #
96
+ # When `:credentials` are not configured directly, the following
97
+ # locations will be searched for credentials:
98
+ #
99
+ # * `Aws.config[:credentials]`
100
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
101
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
+ # * `~/.aws/credentials`
103
+ # * `~/.aws/config`
104
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
105
+ # very aggressive. Construct and pass an instance of
106
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
107
+ # timeouts.
108
+ #
109
+ # @option options [required, String] :region
110
+ # The AWS region to connect to. The configured `:region` is
111
+ # used to determine the service `:endpoint`. When not passed,
112
+ # a default `:region` is searched for in the following locations:
113
+ #
114
+ # * `Aws.config[:region]`
115
+ # * `ENV['AWS_REGION']`
116
+ # * `ENV['AMAZON_REGION']`
117
+ # * `ENV['AWS_DEFAULT_REGION']`
118
+ # * `~/.aws/credentials`
119
+ # * `~/.aws/config`
120
+ #
121
+ # @option options [String] :access_key_id
122
+ #
123
+ # @option options [Boolean] :active_endpoint_cache (false)
124
+ # When set to `true`, a thread polling for endpoints will be running in
125
+ # the background every 60 secs (default). Defaults to `false`.
126
+ #
127
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
128
+ # Used only in `adaptive` retry mode. When true, the request will sleep
129
+ # until there is sufficent client side capacity to retry the request.
130
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
131
+ # not retry instead of sleeping.
132
+ #
133
+ # @option options [Boolean] :client_side_monitoring (false)
134
+ # When `true`, client-side metrics will be collected for all API requests from
135
+ # this client.
136
+ #
137
+ # @option options [String] :client_side_monitoring_client_id ("")
138
+ # Allows you to provide an identifier for this client which will be attached to
139
+ # all generated client side metrics. Defaults to an empty string.
140
+ #
141
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
142
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
143
+ # side monitoring agent is running on, where client metrics will be published via UDP.
144
+ #
145
+ # @option options [Integer] :client_side_monitoring_port (31000)
146
+ # Required for publishing client metrics. The port that the client side monitoring
147
+ # agent is running on, where client metrics will be published via UDP.
148
+ #
149
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
150
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
151
+ # will use the Client Side Monitoring Agent Publisher.
152
+ #
153
+ # @option options [Boolean] :convert_params (true)
154
+ # When `true`, an attempt is made to coerce request parameters into
155
+ # the required types.
156
+ #
157
+ # @option options [Boolean] :correct_clock_skew (true)
158
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
159
+ # a clock skew correction and retry requests with skewed client clocks.
160
+ #
161
+ # @option options [Boolean] :disable_host_prefix_injection (false)
162
+ # Set to true to disable SDK automatically adding host prefix
163
+ # to default service endpoint when available.
164
+ #
165
+ # @option options [String] :endpoint
166
+ # The client endpoint is normally constructed from the `:region`
167
+ # option. You should only configure an `:endpoint` when connecting
168
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
169
+ #
170
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
171
+ # Used for the maximum size limit of the LRU cache storing endpoints data
172
+ # for endpoint discovery enabled operations. Defaults to 1000.
173
+ #
174
+ # @option options [Integer] :endpoint_cache_max_threads (10)
175
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
176
+ #
177
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
178
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
179
+ # Use this option to config the time interval in seconds for making
180
+ # requests fetching endpoints information. Defaults to 60 sec.
181
+ #
182
+ # @option options [Boolean] :endpoint_discovery (false)
183
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
184
+ #
185
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
186
+ # The log formatter.
187
+ #
188
+ # @option options [Symbol] :log_level (:info)
189
+ # The log level to send messages to the `:logger` at.
190
+ #
191
+ # @option options [Logger] :logger
192
+ # The Logger instance to send log messages to. If this option
193
+ # is not set, logging will be disabled.
194
+ #
195
+ # @option options [Integer] :max_attempts (3)
196
+ # An integer representing the maximum number attempts that will be made for
197
+ # a single request, including the initial attempt. For example,
198
+ # setting this value to 5 will result in a request being retried up to
199
+ # 4 times. Used in `standard` and `adaptive` retry modes.
200
+ #
201
+ # @option options [String] :profile ("default")
202
+ # Used when loading credentials from the shared credentials file
203
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
204
+ #
205
+ # @option options [Proc] :retry_backoff
206
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
207
+ # This option is only used in the `legacy` retry mode.
208
+ #
209
+ # @option options [Float] :retry_base_delay (0.3)
210
+ # The base delay in seconds used by the default backoff function. This option
211
+ # is only used in the `legacy` retry mode.
212
+ #
213
+ # @option options [Symbol] :retry_jitter (:none)
214
+ # A delay randomiser function used by the default backoff function.
215
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
216
+ # otherwise a Proc that takes and returns a number. This option is only used
217
+ # in the `legacy` retry mode.
218
+ #
219
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
220
+ #
221
+ # @option options [Integer] :retry_limit (3)
222
+ # The maximum number of times to retry failed requests. Only
223
+ # ~ 500 level server errors and certain ~ 400 level client errors
224
+ # are retried. Generally, these are throttling errors, data
225
+ # checksum errors, networking errors, timeout errors, auth errors,
226
+ # endpoint discovery, and errors from expired credentials.
227
+ # This option is only used in the `legacy` retry mode.
228
+ #
229
+ # @option options [Integer] :retry_max_delay (0)
230
+ # The maximum number of seconds to delay between retries (0 for no limit)
231
+ # used by the default backoff function. This option is only used in the
232
+ # `legacy` retry mode.
233
+ #
234
+ # @option options [String] :retry_mode ("legacy")
235
+ # Specifies which retry algorithm to use. Values are:
236
+ #
237
+ # * `legacy` - The pre-existing retry behavior. This is default value if
238
+ # no retry mode is provided.
239
+ #
240
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
241
+ # This includes support for retry quotas, which limit the number of
242
+ # unsuccessful retries a client can make.
243
+ #
244
+ # * `adaptive` - An experimental retry mode that includes all the
245
+ # functionality of `standard` mode along with automatic client side
246
+ # throttling. This is a provisional mode that may change behavior
247
+ # in the future.
248
+ #
249
+ #
250
+ # @option options [String] :secret_access_key
251
+ #
252
+ # @option options [String] :session_token
253
+ #
254
+ # @option options [Boolean] :stub_responses (false)
255
+ # Causes the client to return stubbed responses. By default
256
+ # fake responses are generated and returned. You can specify
257
+ # the response data to return or errors to raise by calling
258
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
259
+ #
260
+ # ** Please note ** When response stubbing is enabled, no HTTP
261
+ # requests are made, and retries are disabled.
262
+ #
263
+ # @option options [Boolean] :validate_params (true)
264
+ # When `true`, request parameters are validated before
265
+ # sending the request.
266
+ #
267
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
268
+ # requests through. Formatted like 'http://proxy.com:123'.
269
+ #
270
+ # @option options [Float] :http_open_timeout (15) The number of
271
+ # seconds to wait when opening a HTTP session before raising a
272
+ # `Timeout::Error`.
273
+ #
274
+ # @option options [Integer] :http_read_timeout (60) The default
275
+ # number of seconds to wait for response data. This value can
276
+ # safely be set per-request on the session.
277
+ #
278
+ # @option options [Float] :http_idle_timeout (5) The number of
279
+ # seconds a connection is allowed to sit idle before it is
280
+ # considered stale. Stale connections are closed and removed
281
+ # from the pool before making a request.
282
+ #
283
+ # @option options [Float] :http_continue_timeout (1) The number of
284
+ # seconds to wait for a 100-continue response before sending the
285
+ # request body. This option has no effect unless the request has
286
+ # "Expect" header set to "100-continue". Defaults to `nil` which
287
+ # disables this behaviour. This value can safely be set per
288
+ # request on the session.
289
+ #
290
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
291
+ # HTTP debug output will be sent to the `:logger`.
292
+ #
293
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
294
+ # SSL peer certificates are verified when establishing a
295
+ # connection.
296
+ #
297
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
298
+ # certificate authority bundle file that should be used when
299
+ # verifying peer certificates. If you do not pass
300
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
301
+ # will be used if available.
302
+ #
303
+ # @option options [String] :ssl_ca_directory Full path of the
304
+ # directory that contains the unbundled SSL certificate
305
+ # authority files for verifying peer certificates. If you do
306
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
307
+ # system default will be used if available.
308
+ #
309
+ def initialize(*args)
310
+ super
311
+ end
312
+
313
+ # @!group API Operations
314
+
315
+ # Performs GetChannel on multiple ARNs simultaneously.
316
+ #
317
+ # @option params [required, Array<String>] :arns
318
+ # Array of ARNs, one per channel.
319
+ #
320
+ # @return [Types::BatchGetChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
321
+ #
322
+ # * {Types::BatchGetChannelResponse#channels #channels} => Array&lt;Types::Channel&gt;
323
+ # * {Types::BatchGetChannelResponse#errors #errors} => Array&lt;Types::BatchError&gt;
324
+ #
325
+ # @example Request syntax with placeholder values
326
+ #
327
+ # resp = client.batch_get_channel({
328
+ # arns: ["ChannelArn"], # required
329
+ # })
330
+ #
331
+ # @example Response structure
332
+ #
333
+ # resp.channels #=> Array
334
+ # resp.channels[0].arn #=> String
335
+ # resp.channels[0].name #=> String
336
+ # resp.channels[0].latency_mode #=> String, one of "NORMAL", "LOW"
337
+ # resp.channels[0].type #=> String, one of "BASIC", "STANDARD"
338
+ # resp.channels[0].ingest_endpoint #=> String
339
+ # resp.channels[0].playback_url #=> String
340
+ # resp.channels[0].tags #=> Hash
341
+ # resp.channels[0].tags["TagKey"] #=> String
342
+ # resp.errors #=> Array
343
+ # resp.errors[0].arn #=> String
344
+ # resp.errors[0].code #=> String
345
+ # resp.errors[0].message #=> String
346
+ #
347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/BatchGetChannel AWS API Documentation
348
+ #
349
+ # @overload batch_get_channel(params = {})
350
+ # @param [Hash] params ({})
351
+ def batch_get_channel(params = {}, options = {})
352
+ req = build_request(:batch_get_channel, params)
353
+ req.send_request(options)
354
+ end
355
+
356
+ # Performs GetStreamKey on multiple ARNs simultaneously.
357
+ #
358
+ # @option params [required, Array<String>] :arns
359
+ # Array of ARNs, one per channel.
360
+ #
361
+ # @return [Types::BatchGetStreamKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
362
+ #
363
+ # * {Types::BatchGetStreamKeyResponse#stream_keys #stream_keys} => Array&lt;Types::StreamKey&gt;
364
+ # * {Types::BatchGetStreamKeyResponse#errors #errors} => Array&lt;Types::BatchError&gt;
365
+ #
366
+ # @example Request syntax with placeholder values
367
+ #
368
+ # resp = client.batch_get_stream_key({
369
+ # arns: ["StreamKeyArn"], # required
370
+ # })
371
+ #
372
+ # @example Response structure
373
+ #
374
+ # resp.stream_keys #=> Array
375
+ # resp.stream_keys[0].arn #=> String
376
+ # resp.stream_keys[0].value #=> String
377
+ # resp.stream_keys[0].channel_arn #=> String
378
+ # resp.stream_keys[0].tags #=> Hash
379
+ # resp.stream_keys[0].tags["TagKey"] #=> String
380
+ # resp.errors #=> Array
381
+ # resp.errors[0].arn #=> String
382
+ # resp.errors[0].code #=> String
383
+ # resp.errors[0].message #=> String
384
+ #
385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/BatchGetStreamKey AWS API Documentation
386
+ #
387
+ # @overload batch_get_stream_key(params = {})
388
+ # @param [Hash] params ({})
389
+ def batch_get_stream_key(params = {}, options = {})
390
+ req = build_request(:batch_get_stream_key, params)
391
+ req.send_request(options)
392
+ end
393
+
394
+ # Creates a new channel and an associated stream key to start streaming.
395
+ #
396
+ # @option params [String] :name
397
+ # Channel name.
398
+ #
399
+ # @option params [String] :latency_mode
400
+ # Channel latency mode. Default: `LOW`.
401
+ #
402
+ # @option params [String] :type
403
+ # Channel type, which determines the allowable resolution and bitrate.
404
+ # `STANDARD`\: The stream is transcoded; resolution (width, in landscape
405
+ # orientation) can be up to 1080p or the input source resolution,
406
+ # whichever is lower; and bitrate can be up to 8.5 Mbps. `BASIC`\: The
407
+ # stream is transfixed; resolution can be up to 480p; and bitrate can be
408
+ # up to 1.5 Mbps. Default: `STANDARD`.
409
+ #
410
+ # @option params [Hash<String,String>] :tags
411
+ # See Channel$tags.
412
+ #
413
+ # @return [Types::CreateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
414
+ #
415
+ # * {Types::CreateChannelResponse#channel #channel} => Types::Channel
416
+ # * {Types::CreateChannelResponse#stream_key #stream_key} => Types::StreamKey
417
+ #
418
+ # @example Request syntax with placeholder values
419
+ #
420
+ # resp = client.create_channel({
421
+ # name: "ChannelName",
422
+ # latency_mode: "NORMAL", # accepts NORMAL, LOW
423
+ # type: "BASIC", # accepts BASIC, STANDARD
424
+ # tags: {
425
+ # "TagKey" => "TagValue",
426
+ # },
427
+ # })
428
+ #
429
+ # @example Response structure
430
+ #
431
+ # resp.channel.arn #=> String
432
+ # resp.channel.name #=> String
433
+ # resp.channel.latency_mode #=> String, one of "NORMAL", "LOW"
434
+ # resp.channel.type #=> String, one of "BASIC", "STANDARD"
435
+ # resp.channel.ingest_endpoint #=> String
436
+ # resp.channel.playback_url #=> String
437
+ # resp.channel.tags #=> Hash
438
+ # resp.channel.tags["TagKey"] #=> String
439
+ # resp.stream_key.arn #=> String
440
+ # resp.stream_key.value #=> String
441
+ # resp.stream_key.channel_arn #=> String
442
+ # resp.stream_key.tags #=> Hash
443
+ # resp.stream_key.tags["TagKey"] #=> String
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateChannel AWS API Documentation
446
+ #
447
+ # @overload create_channel(params = {})
448
+ # @param [Hash] params ({})
449
+ def create_channel(params = {}, options = {})
450
+ req = build_request(:create_channel, params)
451
+ req.send_request(options)
452
+ end
453
+
454
+ # Creates a stream key, used to initiate a stream, for a specified
455
+ # channel ARN.
456
+ #
457
+ # Note that CreateChannel creates a stream key. If you subsequently use
458
+ # CreateStreamKey on the same channel, it will fail because a stream key
459
+ # already exists and there is a limit of 1 stream key per channel. To
460
+ # reset the stream key on a channel, use DeleteStreamKey and then
461
+ # CreateStreamKey.
462
+ #
463
+ # @option params [required, String] :channel_arn
464
+ # ARN of the channel for which to create the stream key.
465
+ #
466
+ # @option params [Hash<String,String>] :tags
467
+ # See Channel$tags.
468
+ #
469
+ # @return [Types::CreateStreamKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
470
+ #
471
+ # * {Types::CreateStreamKeyResponse#stream_key #stream_key} => Types::StreamKey
472
+ #
473
+ # @example Request syntax with placeholder values
474
+ #
475
+ # resp = client.create_stream_key({
476
+ # channel_arn: "ChannelArn", # required
477
+ # tags: {
478
+ # "TagKey" => "TagValue",
479
+ # },
480
+ # })
481
+ #
482
+ # @example Response structure
483
+ #
484
+ # resp.stream_key.arn #=> String
485
+ # resp.stream_key.value #=> String
486
+ # resp.stream_key.channel_arn #=> String
487
+ # resp.stream_key.tags #=> Hash
488
+ # resp.stream_key.tags["TagKey"] #=> String
489
+ #
490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateStreamKey AWS API Documentation
491
+ #
492
+ # @overload create_stream_key(params = {})
493
+ # @param [Hash] params ({})
494
+ def create_stream_key(params = {}, options = {})
495
+ req = build_request(:create_stream_key, params)
496
+ req.send_request(options)
497
+ end
498
+
499
+ # Deletes a specified channel and its associated stream keys.
500
+ #
501
+ # @option params [required, String] :arn
502
+ # ARN of the channel to be deleted.
503
+ #
504
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
505
+ #
506
+ # @example Request syntax with placeholder values
507
+ #
508
+ # resp = client.delete_channel({
509
+ # arn: "ChannelArn", # required
510
+ # })
511
+ #
512
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteChannel AWS API Documentation
513
+ #
514
+ # @overload delete_channel(params = {})
515
+ # @param [Hash] params ({})
516
+ def delete_channel(params = {}, options = {})
517
+ req = build_request(:delete_channel, params)
518
+ req.send_request(options)
519
+ end
520
+
521
+ # Deletes the stream key for a specified ARN, so it can no longer be
522
+ # used to stream.
523
+ #
524
+ # @option params [required, String] :arn
525
+ # ARN of the stream key to be deleted.
526
+ #
527
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
528
+ #
529
+ # @example Request syntax with placeholder values
530
+ #
531
+ # resp = client.delete_stream_key({
532
+ # arn: "StreamKeyArn", # required
533
+ # })
534
+ #
535
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteStreamKey AWS API Documentation
536
+ #
537
+ # @overload delete_stream_key(params = {})
538
+ # @param [Hash] params ({})
539
+ def delete_stream_key(params = {}, options = {})
540
+ req = build_request(:delete_stream_key, params)
541
+ req.send_request(options)
542
+ end
543
+
544
+ # Gets the channel configuration for a specified channel ARN. See also
545
+ # BatchGetChannel.
546
+ #
547
+ # @option params [required, String] :arn
548
+ # ARN of the channel for which the configuration is to be retrieved.
549
+ #
550
+ # @return [Types::GetChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
551
+ #
552
+ # * {Types::GetChannelResponse#channel #channel} => Types::Channel
553
+ #
554
+ # @example Request syntax with placeholder values
555
+ #
556
+ # resp = client.get_channel({
557
+ # arn: "ChannelArn", # required
558
+ # })
559
+ #
560
+ # @example Response structure
561
+ #
562
+ # resp.channel.arn #=> String
563
+ # resp.channel.name #=> String
564
+ # resp.channel.latency_mode #=> String, one of "NORMAL", "LOW"
565
+ # resp.channel.type #=> String, one of "BASIC", "STANDARD"
566
+ # resp.channel.ingest_endpoint #=> String
567
+ # resp.channel.playback_url #=> String
568
+ # resp.channel.tags #=> Hash
569
+ # resp.channel.tags["TagKey"] #=> String
570
+ #
571
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetChannel AWS API Documentation
572
+ #
573
+ # @overload get_channel(params = {})
574
+ # @param [Hash] params ({})
575
+ def get_channel(params = {}, options = {})
576
+ req = build_request(:get_channel, params)
577
+ req.send_request(options)
578
+ end
579
+
580
+ # Gets information about the active (live) stream on a specified
581
+ # channel.
582
+ #
583
+ # @option params [required, String] :channel_arn
584
+ # Channel ARN for stream to be accessed.
585
+ #
586
+ # @return [Types::GetStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
587
+ #
588
+ # * {Types::GetStreamResponse#stream #stream} => Types::Stream
589
+ #
590
+ # @example Request syntax with placeholder values
591
+ #
592
+ # resp = client.get_stream({
593
+ # channel_arn: "ChannelArn", # required
594
+ # })
595
+ #
596
+ # @example Response structure
597
+ #
598
+ # resp.stream.channel_arn #=> String
599
+ # resp.stream.playback_url #=> String
600
+ # resp.stream.start_time #=> Time
601
+ # resp.stream.state #=> String, one of "LIVE", "OFFLINE"
602
+ # resp.stream.health #=> String, one of "HEALTHY", "STARVING", "UNKNOWN"
603
+ # resp.stream.viewer_count #=> Integer
604
+ #
605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStream AWS API Documentation
606
+ #
607
+ # @overload get_stream(params = {})
608
+ # @param [Hash] params ({})
609
+ def get_stream(params = {}, options = {})
610
+ req = build_request(:get_stream, params)
611
+ req.send_request(options)
612
+ end
613
+
614
+ # Gets stream-key information for a specified ARN.
615
+ #
616
+ # @option params [required, String] :arn
617
+ # ARN for the stream key to be retrieved.
618
+ #
619
+ # @return [Types::GetStreamKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
620
+ #
621
+ # * {Types::GetStreamKeyResponse#stream_key #stream_key} => Types::StreamKey
622
+ #
623
+ # @example Request syntax with placeholder values
624
+ #
625
+ # resp = client.get_stream_key({
626
+ # arn: "StreamKeyArn", # required
627
+ # })
628
+ #
629
+ # @example Response structure
630
+ #
631
+ # resp.stream_key.arn #=> String
632
+ # resp.stream_key.value #=> String
633
+ # resp.stream_key.channel_arn #=> String
634
+ # resp.stream_key.tags #=> Hash
635
+ # resp.stream_key.tags["TagKey"] #=> String
636
+ #
637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamKey AWS API Documentation
638
+ #
639
+ # @overload get_stream_key(params = {})
640
+ # @param [Hash] params ({})
641
+ def get_stream_key(params = {}, options = {})
642
+ req = build_request(:get_stream_key, params)
643
+ req.send_request(options)
644
+ end
645
+
646
+ # Gets summary information about channels. This list can be filtered to
647
+ # match a specified string.
648
+ #
649
+ # @option params [String] :filter_by_name
650
+ # Filters the channel list to match the specified name.
651
+ #
652
+ # @option params [String] :next_token
653
+ # The first channel to retrieve. This is used for pagination; see the
654
+ # `nextToken` response field.
655
+ #
656
+ # @option params [Integer] :max_results
657
+ # Maximum number of channels to return.
658
+ #
659
+ # @return [Types::ListChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
660
+ #
661
+ # * {Types::ListChannelsResponse#channels #channels} => Array&lt;Types::ChannelSummary&gt;
662
+ # * {Types::ListChannelsResponse#next_token #next_token} => String
663
+ #
664
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
665
+ #
666
+ # @example Request syntax with placeholder values
667
+ #
668
+ # resp = client.list_channels({
669
+ # filter_by_name: "ChannelName",
670
+ # next_token: "PaginationToken",
671
+ # max_results: 1,
672
+ # })
673
+ #
674
+ # @example Response structure
675
+ #
676
+ # resp.channels #=> Array
677
+ # resp.channels[0].arn #=> String
678
+ # resp.channels[0].name #=> String
679
+ # resp.channels[0].latency_mode #=> String, one of "NORMAL", "LOW"
680
+ # resp.channels[0].tags #=> Hash
681
+ # resp.channels[0].tags["TagKey"] #=> String
682
+ # resp.next_token #=> String
683
+ #
684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListChannels AWS API Documentation
685
+ #
686
+ # @overload list_channels(params = {})
687
+ # @param [Hash] params ({})
688
+ def list_channels(params = {}, options = {})
689
+ req = build_request(:list_channels, params)
690
+ req.send_request(options)
691
+ end
692
+
693
+ # Gets summary information about stream keys. The list can be filtered
694
+ # to a particular channel.
695
+ #
696
+ # @option params [required, String] :channel_arn
697
+ # Channel ARN used to filter the list.
698
+ #
699
+ # @option params [String] :next_token
700
+ # The first stream key to retrieve. This is used for pagination; see the
701
+ # `nextToken` response field.
702
+ #
703
+ # @option params [Integer] :max_results
704
+ # Maximum number of streamKeys to return.
705
+ #
706
+ # @return [Types::ListStreamKeysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
707
+ #
708
+ # * {Types::ListStreamKeysResponse#stream_keys #stream_keys} => Array&lt;Types::StreamKeySummary&gt;
709
+ # * {Types::ListStreamKeysResponse#next_token #next_token} => String
710
+ #
711
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
712
+ #
713
+ # @example Request syntax with placeholder values
714
+ #
715
+ # resp = client.list_stream_keys({
716
+ # channel_arn: "ChannelArn", # required
717
+ # next_token: "PaginationToken",
718
+ # max_results: 1,
719
+ # })
720
+ #
721
+ # @example Response structure
722
+ #
723
+ # resp.stream_keys #=> Array
724
+ # resp.stream_keys[0].arn #=> String
725
+ # resp.stream_keys[0].channel_arn #=> String
726
+ # resp.stream_keys[0].tags #=> Hash
727
+ # resp.stream_keys[0].tags["TagKey"] #=> String
728
+ # resp.next_token #=> String
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamKeys AWS API Documentation
731
+ #
732
+ # @overload list_stream_keys(params = {})
733
+ # @param [Hash] params ({})
734
+ def list_stream_keys(params = {}, options = {})
735
+ req = build_request(:list_stream_keys, params)
736
+ req.send_request(options)
737
+ end
738
+
739
+ # Gets summary information about live streams.
740
+ #
741
+ # @option params [String] :next_token
742
+ # The first stream to retrieve. This is used for pagination; see the
743
+ # `nextToken` response field.
744
+ #
745
+ # @option params [Integer] :max_results
746
+ # Maximum number of streams to return.
747
+ #
748
+ # @return [Types::ListStreamsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
749
+ #
750
+ # * {Types::ListStreamsResponse#streams #streams} => Array&lt;Types::StreamSummary&gt;
751
+ # * {Types::ListStreamsResponse#next_token #next_token} => String
752
+ #
753
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
754
+ #
755
+ # @example Request syntax with placeholder values
756
+ #
757
+ # resp = client.list_streams({
758
+ # next_token: "PaginationToken",
759
+ # max_results: 1,
760
+ # })
761
+ #
762
+ # @example Response structure
763
+ #
764
+ # resp.streams #=> Array
765
+ # resp.streams[0].channel_arn #=> String
766
+ # resp.streams[0].state #=> String, one of "LIVE", "OFFLINE"
767
+ # resp.streams[0].health #=> String, one of "HEALTHY", "STARVING", "UNKNOWN"
768
+ # resp.streams[0].viewer_count #=> Integer
769
+ # resp.streams[0].start_time #=> Time
770
+ # resp.next_token #=> String
771
+ #
772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreams AWS API Documentation
773
+ #
774
+ # @overload list_streams(params = {})
775
+ # @param [Hash] params ({})
776
+ def list_streams(params = {}, options = {})
777
+ req = build_request(:list_streams, params)
778
+ req.send_request(options)
779
+ end
780
+
781
+ # Gets information about the tags for a specified ARN.
782
+ #
783
+ # @option params [required, String] :resource_arn
784
+ # The ARN of the resource to be retrieved.
785
+ #
786
+ # @option params [String] :next_token
787
+ # The first tag to retrieve. This is used for pagination; see the
788
+ # `nextToken` response field.
789
+ #
790
+ # @option params [Integer] :max_results
791
+ # Maximum number of tags to return.
792
+ #
793
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
794
+ #
795
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
796
+ # * {Types::ListTagsForResourceResponse#next_token #next_token} => String
797
+ #
798
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
799
+ #
800
+ # @example Request syntax with placeholder values
801
+ #
802
+ # resp = client.list_tags_for_resource({
803
+ # resource_arn: "ResourceArn", # required
804
+ # next_token: "String",
805
+ # max_results: 1,
806
+ # })
807
+ #
808
+ # @example Response structure
809
+ #
810
+ # resp.tags #=> Hash
811
+ # resp.tags["TagKey"] #=> String
812
+ # resp.next_token #=> String
813
+ #
814
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListTagsForResource AWS API Documentation
815
+ #
816
+ # @overload list_tags_for_resource(params = {})
817
+ # @param [Hash] params ({})
818
+ def list_tags_for_resource(params = {}, options = {})
819
+ req = build_request(:list_tags_for_resource, params)
820
+ req.send_request(options)
821
+ end
822
+
823
+ # Inserts metadata into an RTMP stream for a specified channel. A
824
+ # maximum of 5 requests per second per channel is allowed, each with a
825
+ # maximum 1KB payload.
826
+ #
827
+ # @option params [required, String] :channel_arn
828
+ # ARN of the channel into which metadata is inserted. This channel must
829
+ # have an active stream.
830
+ #
831
+ # @option params [required, String] :metadata
832
+ # Metadata to insert into the stream. Maximum: 1 KB per request.
833
+ #
834
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
835
+ #
836
+ # @example Request syntax with placeholder values
837
+ #
838
+ # resp = client.put_metadata({
839
+ # channel_arn: "ChannelArn", # required
840
+ # metadata: "StreamMetadata", # required
841
+ # })
842
+ #
843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/PutMetadata AWS API Documentation
844
+ #
845
+ # @overload put_metadata(params = {})
846
+ # @param [Hash] params ({})
847
+ def put_metadata(params = {}, options = {})
848
+ req = build_request(:put_metadata, params)
849
+ req.send_request(options)
850
+ end
851
+
852
+ # Disconnects the stream for the specified channel. This disconnects the
853
+ # incoming RTMP stream from the client. Can be used in conjunction with
854
+ # DeleteStreamKey to prevent further streaming to a channel.
855
+ #
856
+ # <note markdown="1"> Many streaming client-software libraries automatically reconnect a
857
+ # dropped RTMP session, so to stop the stream permanently, you may want
858
+ # to first revoke the `streamKey` attached to the channel.
859
+ #
860
+ # </note>
861
+ #
862
+ # @option params [required, String] :channel_arn
863
+ # ARN of the channel for which the stream is to be stopped.
864
+ #
865
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
866
+ #
867
+ # @example Request syntax with placeholder values
868
+ #
869
+ # resp = client.stop_stream({
870
+ # channel_arn: "ChannelArn", # required
871
+ # })
872
+ #
873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StopStream AWS API Documentation
874
+ #
875
+ # @overload stop_stream(params = {})
876
+ # @param [Hash] params ({})
877
+ def stop_stream(params = {}, options = {})
878
+ req = build_request(:stop_stream, params)
879
+ req.send_request(options)
880
+ end
881
+
882
+ # Adds or updates tags for a resource with a specified ARN.
883
+ #
884
+ # @option params [required, String] :resource_arn
885
+ # ARN of the resource for which tags are to be added or updated.
886
+ #
887
+ # @option params [required, Hash<String,String>] :tags
888
+ # Array of tags to be added or updated.
889
+ #
890
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
891
+ #
892
+ # @example Request syntax with placeholder values
893
+ #
894
+ # resp = client.tag_resource({
895
+ # resource_arn: "ResourceArn", # required
896
+ # tags: { # required
897
+ # "TagKey" => "TagValue",
898
+ # },
899
+ # })
900
+ #
901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/TagResource AWS API Documentation
902
+ #
903
+ # @overload tag_resource(params = {})
904
+ # @param [Hash] params ({})
905
+ def tag_resource(params = {}, options = {})
906
+ req = build_request(:tag_resource, params)
907
+ req.send_request(options)
908
+ end
909
+
910
+ # Removes tags for a resource with a specified ARN.
911
+ #
912
+ # @option params [required, String] :resource_arn
913
+ # ARN of the resource for which tags are to be removed.
914
+ #
915
+ # @option params [required, Array<String>] :tag_keys
916
+ # Array of tags to be removed.
917
+ #
918
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
919
+ #
920
+ # @example Request syntax with placeholder values
921
+ #
922
+ # resp = client.untag_resource({
923
+ # resource_arn: "ResourceArn", # required
924
+ # tag_keys: ["TagKey"], # required
925
+ # })
926
+ #
927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/UntagResource AWS API Documentation
928
+ #
929
+ # @overload untag_resource(params = {})
930
+ # @param [Hash] params ({})
931
+ def untag_resource(params = {}, options = {})
932
+ req = build_request(:untag_resource, params)
933
+ req.send_request(options)
934
+ end
935
+
936
+ # Updates a channel's configuration. This does not affect an ongoing
937
+ # stream of this channel. You must stop and restart the stream for the
938
+ # changes to take effect.
939
+ #
940
+ # @option params [required, String] :arn
941
+ # ARN of the channel to be updated.
942
+ #
943
+ # @option params [String] :name
944
+ # Channel name.
945
+ #
946
+ # @option params [String] :latency_mode
947
+ # Channel latency mode. Default: `LOW`.
948
+ #
949
+ # @option params [String] :type
950
+ # Channel type, which determines the allowable resolution and bitrate.
951
+ # `STANDARD`\: The stream is transcoded; resolution (width, in landscape
952
+ # orientation) can be up to 1080p or the input source resolution,
953
+ # whichever is lower; and bitrate can be up to 8.5 Mbps. `BASIC`\: The
954
+ # stream is transfixed; resolution can be up to 480p; and bitrate can be
955
+ # up to 1.5 Mbps. Default `STANDARD`.
956
+ #
957
+ # @return [Types::UpdateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
958
+ #
959
+ # * {Types::UpdateChannelResponse#channel #channel} => Types::Channel
960
+ #
961
+ # @example Request syntax with placeholder values
962
+ #
963
+ # resp = client.update_channel({
964
+ # arn: "ChannelArn", # required
965
+ # name: "ChannelName",
966
+ # latency_mode: "NORMAL", # accepts NORMAL, LOW
967
+ # type: "BASIC", # accepts BASIC, STANDARD
968
+ # })
969
+ #
970
+ # @example Response structure
971
+ #
972
+ # resp.channel.arn #=> String
973
+ # resp.channel.name #=> String
974
+ # resp.channel.latency_mode #=> String, one of "NORMAL", "LOW"
975
+ # resp.channel.type #=> String, one of "BASIC", "STANDARD"
976
+ # resp.channel.ingest_endpoint #=> String
977
+ # resp.channel.playback_url #=> String
978
+ # resp.channel.tags #=> Hash
979
+ # resp.channel.tags["TagKey"] #=> String
980
+ #
981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/UpdateChannel AWS API Documentation
982
+ #
983
+ # @overload update_channel(params = {})
984
+ # @param [Hash] params ({})
985
+ def update_channel(params = {}, options = {})
986
+ req = build_request(:update_channel, params)
987
+ req.send_request(options)
988
+ end
989
+
990
+ # @!endgroup
991
+
992
+ # @param params ({})
993
+ # @api private
994
+ def build_request(operation_name, params = {})
995
+ handlers = @handlers.for(operation_name)
996
+ context = Seahorse::Client::RequestContext.new(
997
+ operation_name: operation_name,
998
+ operation: config.api.operation(operation_name),
999
+ client: self,
1000
+ params: params,
1001
+ config: config)
1002
+ context[:gem_name] = 'aws-sdk-ivs'
1003
+ context[:gem_version] = '1.0.0'
1004
+ Seahorse::Client::Request.new(handlers, context)
1005
+ end
1006
+
1007
+ # @api private
1008
+ # @deprecated
1009
+ def waiter_names
1010
+ []
1011
+ end
1012
+
1013
+ class << self
1014
+
1015
+ # @api private
1016
+ attr_reader :identifier
1017
+
1018
+ # @api private
1019
+ def errors_module
1020
+ Errors
1021
+ end
1022
+
1023
+ end
1024
+ end
1025
+ end