aws-sdk-ivs 1.4.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65e89d3faf443c8fcd5f67c55f549d126b55704b3538187bd9d215fe202d8e40
4
- data.tar.gz: 9264bfc0504ea220dc60d7eddd432f0118ff00ac8a21a87f4f3b72c5a9b53c8e
3
+ metadata.gz: 4471811332b704f302ddabc731c4081333a9138538ab43d3caf6f8323f0d0db8
4
+ data.tar.gz: 761804e9c54aec158217094e300942006342d9838e55fd4abbfd23bfe949061d
5
5
  SHA512:
6
- metadata.gz: edff7fc0ff4e6a36ae6e3606d9f5aa3287c5eab6d9fd600be7634990c0d2eb6450b7e2c5e080879215c227a27161057f226afd9638ba0f8cfd888101792435a5
7
- data.tar.gz: ee47671567279211f8c274451d780ee853e7483ce1bda29c079f76a284c8c4f2c7281427bb25b703b777e7e8550ebff17df762280c6d6a72fc1cdbc4346f7340
6
+ metadata.gz: 408d77158ed7b73c1d745cae1a2bd4db00c334ce0c6e03ce253b5f5a538852d1047bd8060f3c7c3e03f65115ab928c1df9a593242481c29b43f790635f6b3c67
7
+ data.tar.gz: 1f42521764d672d190106814ae41bee9c841aceeb5631c3759dc9891c28accf4735ea092206a480db113212f56b68c0ffb36947f7a7c3adcac4b4dc06d85b440
data/CHANGELOG.md ADDED
@@ -0,0 +1,53 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.9.0 (2021-04-07)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for the Auto-Record to S3 feature. Amazon IVS now enables you to save your live video to Amazon S3.
8
+
9
+ 1.8.0 (2021-03-10)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.7.0 (2021-02-08)
15
+ ------------------
16
+
17
+ * Feature - Fixed an issue where StreamStartTime could not be unmarshalled from response. Changed DeleteChannel and DeleteStreamKey response codes to 204.
18
+
19
+ 1.6.0 (2021-02-02)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.5.0 (2020-09-30)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ 1.4.0 (2020-09-15)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.3.0 (2020-08-25)
35
+ ------------------
36
+
37
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
38
+
39
+ 1.2.0 (2020-08-19)
40
+ ------------------
41
+
42
+ * Feature - Amazon Interactive Video Service (IVS) now offers customers the ability to create private channels, allowing customers to restrict their streams by channel or viewer.
43
+
44
+ 1.1.0 (2020-07-28)
45
+ ------------------
46
+
47
+ * Feature - Added a new error code, PendingVerification, to differentiate between errors caused by insufficient IAM permissions and errors caused by account verification.
48
+
49
+ 1.0.0 (2020-07-15)
50
+ ------------------
51
+
52
+ * Feature - Initial release of `aws-sdk-ivs`.
53
+
data/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.9.0
data/lib/aws-sdk-ivs.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-ivs/customizations'
48
48
  # @!group service
49
49
  module Aws::IVS
50
50
 
51
- GEM_VERSION = '1.4.0'
51
+ GEM_VERSION = '1.9.0'
52
52
 
53
53
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -350,6 +350,7 @@ module Aws::IVS
350
350
  # resp.channels[0].name #=> String
351
351
  # resp.channels[0].latency_mode #=> String, one of "NORMAL", "LOW"
352
352
  # resp.channels[0].type #=> String, one of "BASIC", "STANDARD"
353
+ # resp.channels[0].recording_configuration_arn #=> String
353
354
  # resp.channels[0].ingest_endpoint #=> String
354
355
  # resp.channels[0].playback_url #=> String
355
356
  # resp.channels[0].authorized #=> Boolean
@@ -413,12 +414,16 @@ module Aws::IVS
413
414
  # Channel name.
414
415
  #
415
416
  # @option params [String] :latency_mode
416
- # Channel latency mode. Default: `LOW`.
417
+ # Channel latency mode. Use `NORMAL` to broadcast and deliver live video
418
+ # up to Full HD. Use `LOW` for near-real-time interaction with viewers.
419
+ # (Note: In the Amazon IVS console, `LOW` and `NORMAL` correspond to
420
+ # Ultra-low and Standard, respectively.) Default: `LOW`.
417
421
  #
418
422
  # @option params [String] :type
419
423
  # Channel type, which determines the allowable resolution and bitrate.
420
424
  # *If you exceed the allowable resolution or bitrate, the stream
421
- # probably will disconnect immediately.* Valid values:
425
+ # probably will disconnect immediately.* Default: `STANDARD`. Valid
426
+ # values:
422
427
  #
423
428
  # * `STANDARD`\: Multiple qualities are generated from the original
424
429
  # input, to automatically give viewers the best experience for their
@@ -430,13 +435,16 @@ module Aws::IVS
430
435
  # Vertical resolution can be up to 480 and bitrate can be up to 1.5
431
436
  # Mbps.
432
437
  #
433
- # Default: `STANDARD`.
434
- #
435
438
  # @option params [Boolean] :authorized
436
- # Whether the channel is authorized. Default: `false`.
439
+ # Whether the channel is private (enabled for playback authorization).
440
+ # Default: `false`.
441
+ #
442
+ # @option params [String] :recording_configuration_arn
443
+ # Recording-configuration ARN. Default: "" (empty string, recording is
444
+ # disabled).
437
445
  #
438
446
  # @option params [Hash<String,String>] :tags
439
- # See Channel$tags.
447
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
440
448
  #
441
449
  # @return [Types::CreateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
442
450
  #
@@ -450,6 +458,7 @@ module Aws::IVS
450
458
  # latency_mode: "NORMAL", # accepts NORMAL, LOW
451
459
  # type: "BASIC", # accepts BASIC, STANDARD
452
460
  # authorized: false,
461
+ # recording_configuration_arn: "ChannelRecordingConfigurationArn",
453
462
  # tags: {
454
463
  # "TagKey" => "TagValue",
455
464
  # },
@@ -461,6 +470,7 @@ module Aws::IVS
461
470
  # resp.channel.name #=> String
462
471
  # resp.channel.latency_mode #=> String, one of "NORMAL", "LOW"
463
472
  # resp.channel.type #=> String, one of "BASIC", "STANDARD"
473
+ # resp.channel.recording_configuration_arn #=> String
464
474
  # resp.channel.ingest_endpoint #=> String
465
475
  # resp.channel.playback_url #=> String
466
476
  # resp.channel.authorized #=> Boolean
@@ -481,6 +491,69 @@ module Aws::IVS
481
491
  req.send_request(options)
482
492
  end
483
493
 
494
+ # Creates a new recording configuration, used to enable recording to
495
+ # Amazon S3.
496
+ #
497
+ # **Known issue:** In the us-east-1 region, if you use the AWS CLI to
498
+ # create a recording configuration, it returns success even if the S3
499
+ # bucket is in a different region. In this case, the `state` of the
500
+ # recording configuration is `CREATE_FAILED` (instead of `ACTIVE`). (In
501
+ # other regions, the CLI correctly returns failure if the bucket is in a
502
+ # different region.)
503
+ #
504
+ # **Workaround:** Ensure that your S3 bucket is in the same region as
505
+ # the recording configuration. If you create a recording configuration
506
+ # in a different region as your S3 bucket, delete that recording
507
+ # configuration and create a new one with an S3 bucket from the correct
508
+ # region.
509
+ #
510
+ # @option params [String] :name
511
+ # An arbitrary string (a nickname) that helps the customer identify that
512
+ # resource. The value does not need to be unique.
513
+ #
514
+ # @option params [required, Types::DestinationConfiguration] :destination_configuration
515
+ # A complex type that contains a destination configuration for where
516
+ # recorded video will be stored.
517
+ #
518
+ # @option params [Hash<String,String>] :tags
519
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
520
+ #
521
+ # @return [Types::CreateRecordingConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
522
+ #
523
+ # * {Types::CreateRecordingConfigurationResponse#recording_configuration #recording_configuration} => Types::RecordingConfiguration
524
+ #
525
+ # @example Request syntax with placeholder values
526
+ #
527
+ # resp = client.create_recording_configuration({
528
+ # name: "RecordingConfigurationName",
529
+ # destination_configuration: { # required
530
+ # s3: {
531
+ # bucket_name: "S3DestinationBucketName", # required
532
+ # },
533
+ # },
534
+ # tags: {
535
+ # "TagKey" => "TagValue",
536
+ # },
537
+ # })
538
+ #
539
+ # @example Response structure
540
+ #
541
+ # resp.recording_configuration.arn #=> String
542
+ # resp.recording_configuration.name #=> String
543
+ # resp.recording_configuration.destination_configuration.s3.bucket_name #=> String
544
+ # resp.recording_configuration.state #=> String, one of "CREATING", "CREATE_FAILED", "ACTIVE"
545
+ # resp.recording_configuration.tags #=> Hash
546
+ # resp.recording_configuration.tags["TagKey"] #=> String
547
+ #
548
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateRecordingConfiguration AWS API Documentation
549
+ #
550
+ # @overload create_recording_configuration(params = {})
551
+ # @param [Hash] params ({})
552
+ def create_recording_configuration(params = {}, options = {})
553
+ req = build_request(:create_recording_configuration, params)
554
+ req.send_request(options)
555
+ end
556
+
484
557
  # Creates a stream key, used to initiate a stream, for the specified
485
558
  # channel ARN.
486
559
  #
@@ -494,7 +567,7 @@ module Aws::IVS
494
567
  # ARN of the channel for which to create the stream key.
495
568
  #
496
569
  # @option params [Hash<String,String>] :tags
497
- # See Channel$tags.
570
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
498
571
  #
499
572
  # @return [Types::CreateStreamKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
500
573
  #
@@ -528,6 +601,16 @@ module Aws::IVS
528
601
 
529
602
  # Deletes the specified channel and its associated stream keys.
530
603
  #
604
+ # If you try to delete a live channel, you will get an error (409
605
+ # ConflictException). To delete a channel that is live, call StopStream,
606
+ # wait for the Amazon EventBridge "Stream End" event (to verify that
607
+ # the stream's state was changed from Live to Offline), then call
608
+ # DeleteChannel. (See [ Using EventBridge with Amazon IVS][1].)
609
+ #
610
+ #
611
+ #
612
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/eventbridge.html
613
+ #
531
614
  # @option params [required, String] :arn
532
615
  # ARN of the channel to be deleted.
533
616
  #
@@ -549,7 +632,13 @@ module Aws::IVS
549
632
  end
550
633
 
551
634
  # Deletes a specified authorization key pair. This invalidates future
552
- # viewer tokens generated using the key pair’s `privateKey`.
635
+ # viewer tokens generated using the key pair’s `privateKey`. For more
636
+ # information, see [Setting Up Private Channels][1] in the *Amazon IVS
637
+ # User Guide*.
638
+ #
639
+ #
640
+ #
641
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html
553
642
  #
554
643
  # @option params [required, String] :arn
555
644
  # ARN of the key pair to be deleted.
@@ -571,6 +660,34 @@ module Aws::IVS
571
660
  req.send_request(options)
572
661
  end
573
662
 
663
+ # Deletes the recording configuration for the specified ARN.
664
+ #
665
+ # If you try to delete a recording configuration that is associated with
666
+ # a channel, you will get an error (409 ConflictException). To avoid
667
+ # this, for all channels that reference the recording configuration,
668
+ # first use UpdateChannel to set the `recordingConfigurationArn` field
669
+ # to an empty string, then use DeleteRecordingConfiguration.
670
+ #
671
+ # @option params [required, String] :arn
672
+ # ARN of the recording configuration to be deleted.
673
+ #
674
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
675
+ #
676
+ # @example Request syntax with placeholder values
677
+ #
678
+ # resp = client.delete_recording_configuration({
679
+ # arn: "RecordingConfigurationArn", # required
680
+ # })
681
+ #
682
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteRecordingConfiguration AWS API Documentation
683
+ #
684
+ # @overload delete_recording_configuration(params = {})
685
+ # @param [Hash] params ({})
686
+ def delete_recording_configuration(params = {}, options = {})
687
+ req = build_request(:delete_recording_configuration, params)
688
+ req.send_request(options)
689
+ end
690
+
574
691
  # Deletes the stream key for the specified ARN, so it can no longer be
575
692
  # used to stream.
576
693
  #
@@ -616,6 +733,7 @@ module Aws::IVS
616
733
  # resp.channel.name #=> String
617
734
  # resp.channel.latency_mode #=> String, one of "NORMAL", "LOW"
618
735
  # resp.channel.type #=> String, one of "BASIC", "STANDARD"
736
+ # resp.channel.recording_configuration_arn #=> String
619
737
  # resp.channel.ingest_endpoint #=> String
620
738
  # resp.channel.playback_url #=> String
621
739
  # resp.channel.authorized #=> Boolean
@@ -634,7 +752,12 @@ module Aws::IVS
634
752
  # Gets a specified playback authorization key pair and returns the `arn`
635
753
  # and `fingerprint`. The `privateKey` held by the caller can be used to
636
754
  # generate viewer authorization tokens, to grant viewers access to
637
- # authorized channels.
755
+ # private channels. For more information, see [Setting Up Private
756
+ # Channels][1] in the *Amazon IVS User Guide*.
757
+ #
758
+ #
759
+ #
760
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html
638
761
  #
639
762
  # @option params [required, String] :arn
640
763
  # ARN of the key pair to be returned.
@@ -666,6 +789,39 @@ module Aws::IVS
666
789
  req.send_request(options)
667
790
  end
668
791
 
792
+ # Gets the recording configuration for the specified ARN.
793
+ #
794
+ # @option params [required, String] :arn
795
+ # ARN of the recording configuration to be retrieved.
796
+ #
797
+ # @return [Types::GetRecordingConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
798
+ #
799
+ # * {Types::GetRecordingConfigurationResponse#recording_configuration #recording_configuration} => Types::RecordingConfiguration
800
+ #
801
+ # @example Request syntax with placeholder values
802
+ #
803
+ # resp = client.get_recording_configuration({
804
+ # arn: "RecordingConfigurationArn", # required
805
+ # })
806
+ #
807
+ # @example Response structure
808
+ #
809
+ # resp.recording_configuration.arn #=> String
810
+ # resp.recording_configuration.name #=> String
811
+ # resp.recording_configuration.destination_configuration.s3.bucket_name #=> String
812
+ # resp.recording_configuration.state #=> String, one of "CREATING", "CREATE_FAILED", "ACTIVE"
813
+ # resp.recording_configuration.tags #=> Hash
814
+ # resp.recording_configuration.tags["TagKey"] #=> String
815
+ #
816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetRecordingConfiguration AWS API Documentation
817
+ #
818
+ # @overload get_recording_configuration(params = {})
819
+ # @param [Hash] params ({})
820
+ def get_recording_configuration(params = {}, options = {})
821
+ req = build_request(:get_recording_configuration, params)
822
+ req.send_request(options)
823
+ end
824
+
669
825
  # Gets information about the active (live) stream on a specified
670
826
  # channel.
671
827
  #
@@ -734,7 +890,13 @@ module Aws::IVS
734
890
 
735
891
  # Imports the public portion of a new key pair and returns its `arn` and
736
892
  # `fingerprint`. The `privateKey` can then be used to generate viewer
737
- # authorization tokens, to grant viewers access to authorized channels.
893
+ # authorization tokens, to grant viewers access to private channels. For
894
+ # more information, see [Setting Up Private Channels][1] in the *Amazon
895
+ # IVS User Guide*.
896
+ #
897
+ #
898
+ #
899
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html
738
900
  #
739
901
  # @option params [required, String] :public_key_material
740
902
  # The public portion of a customer-generated key pair.
@@ -781,17 +943,23 @@ module Aws::IVS
781
943
 
782
944
  # Gets summary information about all channels in your account, in the
783
945
  # AWS region where the API request is processed. This list can be
784
- # filtered to match a specified string.
946
+ # filtered to match a specified name or recording-configuration ARN.
947
+ # Filters are mutually exclusive and cannot be used together. If you try
948
+ # to use both filters, you will get an error (409 ConflictException).
785
949
  #
786
950
  # @option params [String] :filter_by_name
787
951
  # Filters the channel list to match the specified name.
788
952
  #
953
+ # @option params [String] :filter_by_recording_configuration_arn
954
+ # Filters the channel list to match the specified
955
+ # recording-configuration ARN.
956
+ #
789
957
  # @option params [String] :next_token
790
958
  # The first channel to retrieve. This is used for pagination; see the
791
959
  # `nextToken` response field.
792
960
  #
793
961
  # @option params [Integer] :max_results
794
- # Maximum number of channels to return.
962
+ # Maximum number of channels to return. Default: 50.
795
963
  #
796
964
  # @return [Types::ListChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
797
965
  #
@@ -804,6 +972,7 @@ module Aws::IVS
804
972
  #
805
973
  # resp = client.list_channels({
806
974
  # filter_by_name: "ChannelName",
975
+ # filter_by_recording_configuration_arn: "ChannelRecordingConfigurationArn",
807
976
  # next_token: "PaginationToken",
808
977
  # max_results: 1,
809
978
  # })
@@ -815,6 +984,7 @@ module Aws::IVS
815
984
  # resp.channels[0].name #=> String
816
985
  # resp.channels[0].latency_mode #=> String, one of "NORMAL", "LOW"
817
986
  # resp.channels[0].authorized #=> Boolean
987
+ # resp.channels[0].recording_configuration_arn #=> String
818
988
  # resp.channels[0].tags #=> Hash
819
989
  # resp.channels[0].tags["TagKey"] #=> String
820
990
  # resp.next_token #=> String
@@ -828,14 +998,20 @@ module Aws::IVS
828
998
  req.send_request(options)
829
999
  end
830
1000
 
831
- # Gets summary information about playback key pairs.
1001
+ # Gets summary information about playback key pairs. For more
1002
+ # information, see [Setting Up Private Channels][1] in the *Amazon IVS
1003
+ # User Guide*.
1004
+ #
1005
+ #
1006
+ #
1007
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/private-channels.html
832
1008
  #
833
1009
  # @option params [String] :next_token
834
1010
  # Maximum number of key pairs to return.
835
1011
  #
836
1012
  # @option params [Integer] :max_results
837
1013
  # The first key pair to retrieve. This is used for pagination; see the
838
- # `nextToken` response field.
1014
+ # `nextToken` response field. Default: 50.
839
1015
  #
840
1016
  # @return [Types::ListPlaybackKeyPairsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
841
1017
  #
@@ -869,6 +1045,50 @@ module Aws::IVS
869
1045
  req.send_request(options)
870
1046
  end
871
1047
 
1048
+ # Gets summary information about all recording configurations in your
1049
+ # account, in the AWS region where the API request is processed.
1050
+ #
1051
+ # @option params [String] :next_token
1052
+ # The first recording configuration to retrieve. This is used for
1053
+ # pagination; see the `nextToken` response field.
1054
+ #
1055
+ # @option params [Integer] :max_results
1056
+ # Maximum number of recording configurations to return. Default: 50.
1057
+ #
1058
+ # @return [Types::ListRecordingConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1059
+ #
1060
+ # * {Types::ListRecordingConfigurationsResponse#recording_configurations #recording_configurations} => Array&lt;Types::RecordingConfigurationSummary&gt;
1061
+ # * {Types::ListRecordingConfigurationsResponse#next_token #next_token} => String
1062
+ #
1063
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1064
+ #
1065
+ # @example Request syntax with placeholder values
1066
+ #
1067
+ # resp = client.list_recording_configurations({
1068
+ # next_token: "PaginationToken",
1069
+ # max_results: 1,
1070
+ # })
1071
+ #
1072
+ # @example Response structure
1073
+ #
1074
+ # resp.recording_configurations #=> Array
1075
+ # resp.recording_configurations[0].arn #=> String
1076
+ # resp.recording_configurations[0].name #=> String
1077
+ # resp.recording_configurations[0].destination_configuration.s3.bucket_name #=> String
1078
+ # resp.recording_configurations[0].state #=> String, one of "CREATING", "CREATE_FAILED", "ACTIVE"
1079
+ # resp.recording_configurations[0].tags #=> Hash
1080
+ # resp.recording_configurations[0].tags["TagKey"] #=> String
1081
+ # resp.next_token #=> String
1082
+ #
1083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListRecordingConfigurations AWS API Documentation
1084
+ #
1085
+ # @overload list_recording_configurations(params = {})
1086
+ # @param [Hash] params ({})
1087
+ def list_recording_configurations(params = {}, options = {})
1088
+ req = build_request(:list_recording_configurations, params)
1089
+ req.send_request(options)
1090
+ end
1091
+
872
1092
  # Gets summary information about stream keys for the specified channel.
873
1093
  #
874
1094
  # @option params [required, String] :channel_arn
@@ -879,7 +1099,7 @@ module Aws::IVS
879
1099
  # `nextToken` response field.
880
1100
  #
881
1101
  # @option params [Integer] :max_results
882
- # Maximum number of streamKeys to return.
1102
+ # Maximum number of streamKeys to return. Default: 50.
883
1103
  #
884
1104
  # @return [Types::ListStreamKeysResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
885
1105
  #
@@ -922,7 +1142,7 @@ module Aws::IVS
922
1142
  # `nextToken` response field.
923
1143
  #
924
1144
  # @option params [Integer] :max_results
925
- # Maximum number of streams to return.
1145
+ # Maximum number of streams to return. Default: 50.
926
1146
  #
927
1147
  # @return [Types::ListStreamsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
928
1148
  #
@@ -967,7 +1187,7 @@ module Aws::IVS
967
1187
  # `nextToken` response field.
968
1188
  #
969
1189
  # @option params [Integer] :max_results
970
- # Maximum number of tags to return.
1190
+ # Maximum number of tags to return. Default: 50.
971
1191
  #
972
1192
  # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
973
1193
  #
@@ -999,9 +1219,16 @@ module Aws::IVS
999
1219
  req.send_request(options)
1000
1220
  end
1001
1221
 
1002
- # Inserts metadata into an RTMPS stream for the specified channel. A
1222
+ # Inserts metadata into the active stream of the specified channel. A
1003
1223
  # maximum of 5 requests per second per channel is allowed, each with a
1004
- # maximum 1KB payload.
1224
+ # maximum 1 KB payload. (If 5 TPS is not sufficient for your needs, we
1225
+ # recommend batching your data into a single PutMetadata call.) Also see
1226
+ # [Embedding Metadata within a Video Stream][1] in the *Amazon IVS User
1227
+ # Guide*.
1228
+ #
1229
+ #
1230
+ #
1231
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/metadata.html
1005
1232
  #
1006
1233
  # @option params [required, String] :channel_arn
1007
1234
  # ARN of the channel into which metadata is inserted. This channel must
@@ -1123,12 +1350,15 @@ module Aws::IVS
1123
1350
  # Channel name.
1124
1351
  #
1125
1352
  # @option params [String] :latency_mode
1126
- # Channel latency mode. Default: `LOW`.
1353
+ # Channel latency mode. Use `NORMAL` to broadcast and deliver live video
1354
+ # up to Full HD. Use `LOW` for near-real-time interaction with viewers.
1355
+ # (Note: In the Amazon IVS console, `LOW` and `NORMAL` correspond to
1356
+ # Ultra-low and Standard, respectively.)
1127
1357
  #
1128
1358
  # @option params [String] :type
1129
1359
  # Channel type, which determines the allowable resolution and bitrate.
1130
1360
  # *If you exceed the allowable resolution or bitrate, the stream
1131
- # probably will disconnect immediately.* Valid values:
1361
+ # probably will disconnect immediately*. Valid values:
1132
1362
  #
1133
1363
  # * `STANDARD`\: Multiple qualities are generated from the original
1134
1364
  # input, to automatically give viewers the best experience for their
@@ -1140,10 +1370,13 @@ module Aws::IVS
1140
1370
  # Vertical resolution can be up to 480 and bitrate can be up to 1.5
1141
1371
  # Mbps.
1142
1372
  #
1143
- # Default: `STANDARD`.
1144
- #
1145
1373
  # @option params [Boolean] :authorized
1146
- # Whether the channel is authorized. Default: `false`.
1374
+ # Whether the channel is private (enabled for playback authorization).
1375
+ #
1376
+ # @option params [String] :recording_configuration_arn
1377
+ # Recording-configuration ARN. If this is set to an empty string,
1378
+ # recording is disabled. A value other than an empty string indicates
1379
+ # that recording is enabled
1147
1380
  #
1148
1381
  # @return [Types::UpdateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1149
1382
  #
@@ -1157,6 +1390,7 @@ module Aws::IVS
1157
1390
  # latency_mode: "NORMAL", # accepts NORMAL, LOW
1158
1391
  # type: "BASIC", # accepts BASIC, STANDARD
1159
1392
  # authorized: false,
1393
+ # recording_configuration_arn: "ChannelRecordingConfigurationArn",
1160
1394
  # })
1161
1395
  #
1162
1396
  # @example Response structure
@@ -1165,6 +1399,7 @@ module Aws::IVS
1165
1399
  # resp.channel.name #=> String
1166
1400
  # resp.channel.latency_mode #=> String, one of "NORMAL", "LOW"
1167
1401
  # resp.channel.type #=> String, one of "BASIC", "STANDARD"
1402
+ # resp.channel.recording_configuration_arn #=> String
1168
1403
  # resp.channel.ingest_endpoint #=> String
1169
1404
  # resp.channel.playback_url #=> String
1170
1405
  # resp.channel.authorized #=> Boolean
@@ -1193,7 +1428,7 @@ module Aws::IVS
1193
1428
  params: params,
1194
1429
  config: config)
1195
1430
  context[:gem_name] = 'aws-sdk-ivs'
1196
- context[:gem_version] = '1.4.0'
1431
+ context[:gem_version] = '1.9.0'
1197
1432
  Seahorse::Client::Request.new(handlers, context)
1198
1433
  end
1199
1434