aws-sdk-mediaconnect 1.29.0 → 1.34.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: 797cd96008574d9ecfde3ecf50cba69d9cf7645c80a7d56410cd8e4709a5d835
4
- data.tar.gz: d300975280b3690f59468b4d696c6d298f00ecb4e31bdf3d01eb12402e36259d
3
+ metadata.gz: cd1cb61b902309ab5844bced94e0af61a1fe8393ceb76e3083d5ede52bed85cc
4
+ data.tar.gz: 04a41071ac52d1184cecf31c4817ba1ee330b08f27c1354ea34db1ce1915d4ab
5
5
  SHA512:
6
- metadata.gz: 33c681963afbb36bdf1827504501d38fa86ea69986af3f5645ce235a5179b90225666b19d94eed07487e1f6063638043457b7f1cbb698ce3705f02975eec7283
7
- data.tar.gz: 82fd6aaccb8e277569eb4e57b3fa553812bd6ee76a31c656ed38c828b6af567c816d3b014ff6160d099511ddd1080f0b40b3f69748617beb5d940526e3418807
6
+ metadata.gz: 8938f37262a6436dea1f8cd73a74b33f2d6e5bee7a48ccce8b97a1bda1bdfdb3f70a4a35ff45b11564f0d33d99f146b2ea43ae5f8c4c9d9f725ec52b6a817edc
7
+ data.tar.gz: dc9fa2091f02aad936ee46178f657d8db2db6c4556e790ef22c917f74e03b687407b9676c6518bf4e0553a39796d969227d16467820f39f1d498dd123cc89397
data/CHANGELOG.md ADDED
@@ -0,0 +1,183 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.34.0 (2021-06-11)
5
+ ------------------
6
+
7
+ * Feature - When you enable source failover, you can now designate one of two sources as the primary source. You can choose between two failover modes to prevent any disruption to the video stream. Merge combines the sources into a single stream. Failover allows switching between a primary and a backup stream.
8
+
9
+ 1.33.0 (2021-05-17)
10
+ ------------------
11
+
12
+ * Feature - MediaConnect now supports JPEG XS for AWS Cloud Digital Interface (AWS CDI) uncompressed workflows, allowing you to establish a bridge between your on-premises live video network and the AWS Cloud.
13
+
14
+ 1.32.0 (2021-04-14)
15
+ ------------------
16
+
17
+ * Feature - For flows that use Listener protocols, you can now easily locate an output's outbound IP address for a private internet. Additionally, MediaConnect now supports the Waiters feature that makes it easier to poll for the status of a flow until it reaches its desired state.
18
+
19
+ 1.31.0 (2021-03-16)
20
+ ------------------
21
+
22
+ * Feature - This release adds support for the SRT-listener protocol on sources and outputs.
23
+
24
+ 1.30.0 (2021-03-10)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ 1.29.0 (2021-02-02)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.28.0 (2020-09-30)
35
+ ------------------
36
+
37
+ * Feature - MediaConnect now supports reservations to provide a discounted rate for a specific outbound bandwidth over a period of time.
38
+
39
+ 1.27.0 (2020-09-15)
40
+ ------------------
41
+
42
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
43
+
44
+ 1.26.0 (2020-08-25)
45
+ ------------------
46
+
47
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
48
+
49
+ 1.25.0 (2020-07-24)
50
+ ------------------
51
+
52
+ * Feature - You can now disable an entitlement to stop streaming content to the subscriber's flow temporarily. When you are ready to allow content to start streaming to the subscriber's flow again, you can enable the entitlement.
53
+
54
+ 1.24.0 (2020-06-23)
55
+ ------------------
56
+
57
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
58
+
59
+ 1.23.1 (2020-06-11)
60
+ ------------------
61
+
62
+ * Issue - Republish previous version with correct dependency on `aws-sdk-core`.
63
+
64
+ 1.23.0 (2020-06-10)
65
+ ------------------
66
+
67
+ * Issue - This version has been yanked. (#2327).
68
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
69
+
70
+ 1.22.0 (2020-05-28)
71
+ ------------------
72
+
73
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
74
+
75
+ 1.21.0 (2020-05-07)
76
+ ------------------
77
+
78
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
79
+
80
+ 1.20.0 (2020-04-07)
81
+ ------------------
82
+
83
+ * Feature - You can now send content from your MediaConnect flow to your virtual private cloud (VPC) without going over the public internet.
84
+
85
+ 1.19.0 (2020-04-01)
86
+ ------------------
87
+
88
+ * Feature - You can now send content from your virtual private cloud (VPC) to your MediaConnect flow without going over the public internet.
89
+
90
+ 1.18.0 (2020-03-18)
91
+ ------------------
92
+
93
+ * Feature - Feature adds the ability for a flow to have multiple redundant sources that provides resiliency to a source failing. The new APIs added to enable the feature are, AddFlowSources, RemoveFlowSource and UpdateFlow.
94
+
95
+ 1.17.0 (2020-03-09)
96
+ ------------------
97
+
98
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
99
+
100
+ 1.16.0 (2019-10-23)
101
+ ------------------
102
+
103
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
104
+
105
+ 1.15.0 (2019-09-19)
106
+ ------------------
107
+
108
+ * Feature - When you grant an entitlement, you can now specify the percentage of the entitlement data transfer that you want the subscriber to be responsible for.
109
+
110
+ 1.14.0 (2019-09-11)
111
+ ------------------
112
+
113
+ * Feature - This release adds support for the RIST protocol on sources and outputs.
114
+
115
+ 1.13.0 (2019-07-26)
116
+ ------------------
117
+
118
+ * Feature - This release adds support for the Zixi pull protocol on outputs.
119
+
120
+ 1.12.0 (2019-07-25)
121
+ ------------------
122
+
123
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
124
+
125
+ 1.11.0 (2019-07-01)
126
+ ------------------
127
+
128
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
129
+
130
+ 1.10.0 (2019-06-17)
131
+ ------------------
132
+
133
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
134
+
135
+ 1.9.0 (2019-06-06)
136
+ ------------------
137
+
138
+ * Feature - This release adds support for encrypting entitlements using Secure Packager and Encoder Key Exchange (SPEKE).
139
+
140
+ 1.8.0 (2019-05-21)
141
+ ------------------
142
+
143
+ * Feature - API update.
144
+
145
+ 1.7.0 (2019-05-15)
146
+ ------------------
147
+
148
+ * Feature - API update.
149
+
150
+ 1.6.0 (2019-05-14)
151
+ ------------------
152
+
153
+ * Feature - API update.
154
+
155
+ 1.5.0 (2019-04-24)
156
+ ------------------
157
+
158
+ * Feature - API update.
159
+
160
+ 1.4.0 (2019-03-21)
161
+ ------------------
162
+
163
+ * Feature - API update.
164
+
165
+ 1.3.0 (2019-03-18)
166
+ ------------------
167
+
168
+ * Feature - API update.
169
+
170
+ 1.2.0 (2019-03-14)
171
+ ------------------
172
+
173
+ * Feature - API update.
174
+
175
+ 1.1.0 (2019-01-25)
176
+ ------------------
177
+
178
+ * Feature - API update.
179
+
180
+ 1.0.0 (2018-11-28)
181
+ ------------------
182
+
183
+ * Feature - Initial release of `aws-sdk-mediaconnect`.
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.34.0
@@ -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
 
@@ -15,6 +15,7 @@ require_relative 'aws-sdk-mediaconnect/types'
15
15
  require_relative 'aws-sdk-mediaconnect/client_api'
16
16
  require_relative 'aws-sdk-mediaconnect/client'
17
17
  require_relative 'aws-sdk-mediaconnect/errors'
18
+ require_relative 'aws-sdk-mediaconnect/waiters'
18
19
  require_relative 'aws-sdk-mediaconnect/resource'
19
20
  require_relative 'aws-sdk-mediaconnect/customizations'
20
21
 
@@ -28,7 +29,7 @@ require_relative 'aws-sdk-mediaconnect/customizations'
28
29
  # structure.
29
30
  #
30
31
  # media_connect = Aws::MediaConnect::Client.new
31
- # resp = media_connect.add_flow_outputs(params)
32
+ # resp = media_connect.add_flow_media_streams(params)
32
33
  #
33
34
  # See {Client} for more information.
34
35
  #
@@ -48,6 +49,6 @@ require_relative 'aws-sdk-mediaconnect/customizations'
48
49
  # @!group service
49
50
  module Aws::MediaConnect
50
51
 
51
- GEM_VERSION = '1.29.0'
52
+ GEM_VERSION = '1.34.0'
52
53
 
53
54
  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
 
@@ -327,6 +327,77 @@ module Aws::MediaConnect
327
327
 
328
328
  # @!group API Operations
329
329
 
330
+ # Adds media streams to an existing flow. After you add a media stream
331
+ # to a flow, you can associate it with a source and/or an output that
332
+ # uses the ST 2110 JPEG XS or CDI protocol.
333
+ #
334
+ # @option params [required, String] :flow_arn
335
+ #
336
+ # @option params [required, Array<Types::AddMediaStreamRequest>] :media_streams
337
+ # The media streams that you want to add to the flow.
338
+ #
339
+ # @return [Types::AddFlowMediaStreamsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
340
+ #
341
+ # * {Types::AddFlowMediaStreamsResponse#flow_arn #flow_arn} => String
342
+ # * {Types::AddFlowMediaStreamsResponse#media_streams #media_streams} => Array&lt;Types::MediaStream&gt;
343
+ #
344
+ # @example Request syntax with placeholder values
345
+ #
346
+ # resp = client.add_flow_media_streams({
347
+ # flow_arn: "__string", # required
348
+ # media_streams: [ # required
349
+ # {
350
+ # attributes: {
351
+ # fmtp: {
352
+ # channel_order: "__string",
353
+ # colorimetry: "BT601", # accepts BT601, BT709, BT2020, BT2100, ST2065-1, ST2065-3, XYZ
354
+ # exact_framerate: "__string",
355
+ # par: "__string",
356
+ # range: "NARROW", # accepts NARROW, FULL, FULLPROTECT
357
+ # scan_mode: "progressive", # accepts progressive, interlace, progressive-segmented-frame
358
+ # tcs: "SDR", # accepts SDR, PQ, HLG, LINEAR, BT2100LINPQ, BT2100LINHLG, ST2065-1, ST428-1, DENSITY
359
+ # },
360
+ # lang: "__string",
361
+ # },
362
+ # clock_rate: 1,
363
+ # description: "__string",
364
+ # media_stream_id: 1, # required
365
+ # media_stream_name: "__string", # required
366
+ # media_stream_type: "video", # required, accepts video, audio, ancillary-data
367
+ # video_format: "__string",
368
+ # },
369
+ # ],
370
+ # })
371
+ #
372
+ # @example Response structure
373
+ #
374
+ # resp.flow_arn #=> String
375
+ # resp.media_streams #=> Array
376
+ # resp.media_streams[0].attributes.fmtp.channel_order #=> String
377
+ # resp.media_streams[0].attributes.fmtp.colorimetry #=> String, one of "BT601", "BT709", "BT2020", "BT2100", "ST2065-1", "ST2065-3", "XYZ"
378
+ # resp.media_streams[0].attributes.fmtp.exact_framerate #=> String
379
+ # resp.media_streams[0].attributes.fmtp.par #=> String
380
+ # resp.media_streams[0].attributes.fmtp.range #=> String, one of "NARROW", "FULL", "FULLPROTECT"
381
+ # resp.media_streams[0].attributes.fmtp.scan_mode #=> String, one of "progressive", "interlace", "progressive-segmented-frame"
382
+ # resp.media_streams[0].attributes.fmtp.tcs #=> String, one of "SDR", "PQ", "HLG", "LINEAR", "BT2100LINPQ", "BT2100LINHLG", "ST2065-1", "ST428-1", "DENSITY"
383
+ # resp.media_streams[0].attributes.lang #=> String
384
+ # resp.media_streams[0].clock_rate #=> Integer
385
+ # resp.media_streams[0].description #=> String
386
+ # resp.media_streams[0].fmt #=> Integer
387
+ # resp.media_streams[0].media_stream_id #=> Integer
388
+ # resp.media_streams[0].media_stream_name #=> String
389
+ # resp.media_streams[0].media_stream_type #=> String, one of "video", "audio", "ancillary-data"
390
+ # resp.media_streams[0].video_format #=> String
391
+ #
392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowMediaStreams AWS API Documentation
393
+ #
394
+ # @overload add_flow_media_streams(params = {})
395
+ # @param [Hash] params ({})
396
+ def add_flow_media_streams(params = {}, options = {})
397
+ req = build_request(:add_flow_media_streams, params)
398
+ req.send_request(options)
399
+ end
400
+
330
401
  # Adds outputs to an existing flow. You can create up to 50 outputs per
331
402
  # flow.
332
403
  #
@@ -350,10 +421,10 @@ module Aws::MediaConnect
350
421
  # description: "__string",
351
422
  # destination: "__string",
352
423
  # encryption: {
353
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
424
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
354
425
  # constant_initialization_vector: "__string",
355
426
  # device_id: "__string",
356
- # key_type: "speke", # accepts speke, static-key
427
+ # key_type: "speke", # accepts speke, static-key, srt-password
357
428
  # region: "__string",
358
429
  # resource_id: "__string",
359
430
  # role_arn: "__string", # required
@@ -361,9 +432,29 @@ module Aws::MediaConnect
361
432
  # url: "__string",
362
433
  # },
363
434
  # max_latency: 1,
435
+ # media_stream_output_configurations: [
436
+ # {
437
+ # destination_configurations: [
438
+ # {
439
+ # destination_ip: "__string", # required
440
+ # destination_port: 1, # required
441
+ # interface: { # required
442
+ # name: "__string", # required
443
+ # },
444
+ # },
445
+ # ],
446
+ # encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
447
+ # encoding_parameters: {
448
+ # compression_factor: 1.0, # required
449
+ # encoder_profile: "main", # required, accepts main, high
450
+ # },
451
+ # media_stream_name: "__string", # required
452
+ # },
453
+ # ],
454
+ # min_latency: 1,
364
455
  # name: "__string",
365
456
  # port: 1,
366
- # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
457
+ # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
367
458
  # remote_id: "__string",
368
459
  # smoothing_latency: 1,
369
460
  # stream_id: "__string",
@@ -384,14 +475,25 @@ module Aws::MediaConnect
384
475
  # resp.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
385
476
  # resp.outputs[0].encryption.constant_initialization_vector #=> String
386
477
  # resp.outputs[0].encryption.device_id #=> String
387
- # resp.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
478
+ # resp.outputs[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
388
479
  # resp.outputs[0].encryption.region #=> String
389
480
  # resp.outputs[0].encryption.resource_id #=> String
390
481
  # resp.outputs[0].encryption.role_arn #=> String
391
482
  # resp.outputs[0].encryption.secret_arn #=> String
392
483
  # resp.outputs[0].encryption.url #=> String
393
484
  # resp.outputs[0].entitlement_arn #=> String
485
+ # resp.outputs[0].listener_address #=> String
394
486
  # resp.outputs[0].media_live_input_arn #=> String
487
+ # resp.outputs[0].media_stream_output_configurations #=> Array
488
+ # resp.outputs[0].media_stream_output_configurations[0].destination_configurations #=> Array
489
+ # resp.outputs[0].media_stream_output_configurations[0].destination_configurations[0].destination_ip #=> String
490
+ # resp.outputs[0].media_stream_output_configurations[0].destination_configurations[0].destination_port #=> Integer
491
+ # resp.outputs[0].media_stream_output_configurations[0].destination_configurations[0].interface.name #=> String
492
+ # resp.outputs[0].media_stream_output_configurations[0].destination_configurations[0].outbound_ip #=> String
493
+ # resp.outputs[0].media_stream_output_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
494
+ # resp.outputs[0].media_stream_output_configurations[0].encoding_parameters.compression_factor #=> Float
495
+ # resp.outputs[0].media_stream_output_configurations[0].encoding_parameters.encoder_profile #=> String, one of "main", "high"
496
+ # resp.outputs[0].media_stream_output_configurations[0].media_stream_name #=> String
395
497
  # resp.outputs[0].name #=> String
396
498
  # resp.outputs[0].output_arn #=> String
397
499
  # resp.outputs[0].port #=> Integer
@@ -399,7 +501,9 @@ module Aws::MediaConnect
399
501
  # resp.outputs[0].transport.cidr_allow_list[0] #=> String
400
502
  # resp.outputs[0].transport.max_bitrate #=> Integer
401
503
  # resp.outputs[0].transport.max_latency #=> Integer
402
- # resp.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
504
+ # resp.outputs[0].transport.max_sync_buffer #=> Integer
505
+ # resp.outputs[0].transport.min_latency #=> Integer
506
+ # resp.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
403
507
  # resp.outputs[0].transport.remote_id #=> String
404
508
  # resp.outputs[0].transport.smoothing_latency #=> Integer
405
509
  # resp.outputs[0].transport.stream_id #=> String
@@ -433,10 +537,10 @@ module Aws::MediaConnect
433
537
  # sources: [ # required
434
538
  # {
435
539
  # decryption: {
436
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
540
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
437
541
  # constant_initialization_vector: "__string",
438
542
  # device_id: "__string",
439
- # key_type: "speke", # accepts speke, static-key
543
+ # key_type: "speke", # accepts speke, static-key, srt-password
440
544
  # region: "__string",
441
545
  # resource_id: "__string",
442
546
  # role_arn: "__string", # required
@@ -448,8 +552,24 @@ module Aws::MediaConnect
448
552
  # ingest_port: 1,
449
553
  # max_bitrate: 1,
450
554
  # max_latency: 1,
555
+ # max_sync_buffer: 1,
556
+ # media_stream_source_configurations: [
557
+ # {
558
+ # encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
559
+ # input_configurations: [
560
+ # {
561
+ # input_port: 1, # required
562
+ # interface: { # required
563
+ # name: "__string", # required
564
+ # },
565
+ # },
566
+ # ],
567
+ # media_stream_name: "__string", # required
568
+ # },
569
+ # ],
570
+ # min_latency: 1,
451
571
  # name: "__string",
452
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
572
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
453
573
  # stream_id: "__string",
454
574
  # vpc_interface_name: "__string",
455
575
  # whitelist_cidr: "__string",
@@ -465,7 +585,7 @@ module Aws::MediaConnect
465
585
  # resp.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
466
586
  # resp.sources[0].decryption.constant_initialization_vector #=> String
467
587
  # resp.sources[0].decryption.device_id #=> String
468
- # resp.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
588
+ # resp.sources[0].decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
469
589
  # resp.sources[0].decryption.region #=> String
470
590
  # resp.sources[0].decryption.resource_id #=> String
471
591
  # resp.sources[0].decryption.role_arn #=> String
@@ -475,13 +595,22 @@ module Aws::MediaConnect
475
595
  # resp.sources[0].entitlement_arn #=> String
476
596
  # resp.sources[0].ingest_ip #=> String
477
597
  # resp.sources[0].ingest_port #=> Integer
598
+ # resp.sources[0].media_stream_source_configurations #=> Array
599
+ # resp.sources[0].media_stream_source_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
600
+ # resp.sources[0].media_stream_source_configurations[0].input_configurations #=> Array
601
+ # resp.sources[0].media_stream_source_configurations[0].input_configurations[0].input_ip #=> String
602
+ # resp.sources[0].media_stream_source_configurations[0].input_configurations[0].input_port #=> Integer
603
+ # resp.sources[0].media_stream_source_configurations[0].input_configurations[0].interface.name #=> String
604
+ # resp.sources[0].media_stream_source_configurations[0].media_stream_name #=> String
478
605
  # resp.sources[0].name #=> String
479
606
  # resp.sources[0].source_arn #=> String
480
607
  # resp.sources[0].transport.cidr_allow_list #=> Array
481
608
  # resp.sources[0].transport.cidr_allow_list[0] #=> String
482
609
  # resp.sources[0].transport.max_bitrate #=> Integer
483
610
  # resp.sources[0].transport.max_latency #=> Integer
484
- # resp.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
611
+ # resp.sources[0].transport.max_sync_buffer #=> Integer
612
+ # resp.sources[0].transport.min_latency #=> Integer
613
+ # resp.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
485
614
  # resp.sources[0].transport.remote_id #=> String
486
615
  # resp.sources[0].transport.smoothing_latency #=> Integer
487
616
  # resp.sources[0].transport.stream_id #=> String
@@ -516,6 +645,7 @@ module Aws::MediaConnect
516
645
  # vpc_interfaces: [ # required
517
646
  # {
518
647
  # name: "__string", # required
648
+ # network_interface_type: "ena", # accepts ena, efa
519
649
  # role_arn: "__string", # required
520
650
  # security_group_ids: ["__string"], # required
521
651
  # subnet_id: "__string", # required
@@ -530,6 +660,7 @@ module Aws::MediaConnect
530
660
  # resp.vpc_interfaces[0].name #=> String
531
661
  # resp.vpc_interfaces[0].network_interface_ids #=> Array
532
662
  # resp.vpc_interfaces[0].network_interface_ids[0] #=> String
663
+ # resp.vpc_interfaces[0].network_interface_type #=> String, one of "ena", "efa"
533
664
  # resp.vpc_interfaces[0].role_arn #=> String
534
665
  # resp.vpc_interfaces[0].security_group_ids #=> Array
535
666
  # resp.vpc_interfaces[0].security_group_ids[0] #=> String
@@ -555,6 +686,10 @@ module Aws::MediaConnect
555
686
  # @option params [Array<Types::GrantEntitlementRequest>] :entitlements
556
687
  # The entitlements that you want to grant on a flow.
557
688
  #
689
+ # @option params [Array<Types::AddMediaStreamRequest>] :media_streams
690
+ # The media streams that you want to add to the flow. You can associate
691
+ # these media streams with sources and outputs on the flow.
692
+ #
558
693
  # @option params [required, String] :name
559
694
  # The name of the flow.
560
695
  #
@@ -585,10 +720,10 @@ module Aws::MediaConnect
585
720
  # data_transfer_subscriber_fee_percent: 1,
586
721
  # description: "__string",
587
722
  # encryption: {
588
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
723
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
589
724
  # constant_initialization_vector: "__string",
590
725
  # device_id: "__string",
591
- # key_type: "speke", # accepts speke, static-key
726
+ # key_type: "speke", # accepts speke, static-key, srt-password
592
727
  # region: "__string",
593
728
  # resource_id: "__string",
594
729
  # role_arn: "__string", # required
@@ -600,6 +735,28 @@ module Aws::MediaConnect
600
735
  # subscribers: ["__string"], # required
601
736
  # },
602
737
  # ],
738
+ # media_streams: [
739
+ # {
740
+ # attributes: {
741
+ # fmtp: {
742
+ # channel_order: "__string",
743
+ # colorimetry: "BT601", # accepts BT601, BT709, BT2020, BT2100, ST2065-1, ST2065-3, XYZ
744
+ # exact_framerate: "__string",
745
+ # par: "__string",
746
+ # range: "NARROW", # accepts NARROW, FULL, FULLPROTECT
747
+ # scan_mode: "progressive", # accepts progressive, interlace, progressive-segmented-frame
748
+ # tcs: "SDR", # accepts SDR, PQ, HLG, LINEAR, BT2100LINPQ, BT2100LINHLG, ST2065-1, ST428-1, DENSITY
749
+ # },
750
+ # lang: "__string",
751
+ # },
752
+ # clock_rate: 1,
753
+ # description: "__string",
754
+ # media_stream_id: 1, # required
755
+ # media_stream_name: "__string", # required
756
+ # media_stream_type: "video", # required, accepts video, audio, ancillary-data
757
+ # video_format: "__string",
758
+ # },
759
+ # ],
603
760
  # name: "__string", # required
604
761
  # outputs: [
605
762
  # {
@@ -607,10 +764,10 @@ module Aws::MediaConnect
607
764
  # description: "__string",
608
765
  # destination: "__string",
609
766
  # encryption: {
610
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
767
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
611
768
  # constant_initialization_vector: "__string",
612
769
  # device_id: "__string",
613
- # key_type: "speke", # accepts speke, static-key
770
+ # key_type: "speke", # accepts speke, static-key, srt-password
614
771
  # region: "__string",
615
772
  # resource_id: "__string",
616
773
  # role_arn: "__string", # required
@@ -618,9 +775,29 @@ module Aws::MediaConnect
618
775
  # url: "__string",
619
776
  # },
620
777
  # max_latency: 1,
778
+ # media_stream_output_configurations: [
779
+ # {
780
+ # destination_configurations: [
781
+ # {
782
+ # destination_ip: "__string", # required
783
+ # destination_port: 1, # required
784
+ # interface: { # required
785
+ # name: "__string", # required
786
+ # },
787
+ # },
788
+ # ],
789
+ # encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
790
+ # encoding_parameters: {
791
+ # compression_factor: 1.0, # required
792
+ # encoder_profile: "main", # required, accepts main, high
793
+ # },
794
+ # media_stream_name: "__string", # required
795
+ # },
796
+ # ],
797
+ # min_latency: 1,
621
798
  # name: "__string",
622
799
  # port: 1,
623
- # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
800
+ # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
624
801
  # remote_id: "__string",
625
802
  # smoothing_latency: 1,
626
803
  # stream_id: "__string",
@@ -631,10 +808,10 @@ module Aws::MediaConnect
631
808
  # ],
632
809
  # source: {
633
810
  # decryption: {
634
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
811
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
635
812
  # constant_initialization_vector: "__string",
636
813
  # device_id: "__string",
637
- # key_type: "speke", # accepts speke, static-key
814
+ # key_type: "speke", # accepts speke, static-key, srt-password
638
815
  # region: "__string",
639
816
  # resource_id: "__string",
640
817
  # role_arn: "__string", # required
@@ -646,23 +823,43 @@ module Aws::MediaConnect
646
823
  # ingest_port: 1,
647
824
  # max_bitrate: 1,
648
825
  # max_latency: 1,
826
+ # max_sync_buffer: 1,
827
+ # media_stream_source_configurations: [
828
+ # {
829
+ # encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
830
+ # input_configurations: [
831
+ # {
832
+ # input_port: 1, # required
833
+ # interface: { # required
834
+ # name: "__string", # required
835
+ # },
836
+ # },
837
+ # ],
838
+ # media_stream_name: "__string", # required
839
+ # },
840
+ # ],
841
+ # min_latency: 1,
649
842
  # name: "__string",
650
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
843
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
651
844
  # stream_id: "__string",
652
845
  # vpc_interface_name: "__string",
653
846
  # whitelist_cidr: "__string",
654
847
  # },
655
848
  # source_failover_config: {
849
+ # failover_mode: "MERGE", # accepts MERGE, FAILOVER
656
850
  # recovery_window: 1,
851
+ # source_priority: {
852
+ # primary_source: "__string",
853
+ # },
657
854
  # state: "ENABLED", # accepts ENABLED, DISABLED
658
855
  # },
659
856
  # sources: [
660
857
  # {
661
858
  # decryption: {
662
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
859
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
663
860
  # constant_initialization_vector: "__string",
664
861
  # device_id: "__string",
665
- # key_type: "speke", # accepts speke, static-key
862
+ # key_type: "speke", # accepts speke, static-key, srt-password
666
863
  # region: "__string",
667
864
  # resource_id: "__string",
668
865
  # role_arn: "__string", # required
@@ -674,8 +871,24 @@ module Aws::MediaConnect
674
871
  # ingest_port: 1,
675
872
  # max_bitrate: 1,
676
873
  # max_latency: 1,
874
+ # max_sync_buffer: 1,
875
+ # media_stream_source_configurations: [
876
+ # {
877
+ # encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
878
+ # input_configurations: [
879
+ # {
880
+ # input_port: 1, # required
881
+ # interface: { # required
882
+ # name: "__string", # required
883
+ # },
884
+ # },
885
+ # ],
886
+ # media_stream_name: "__string", # required
887
+ # },
888
+ # ],
889
+ # min_latency: 1,
677
890
  # name: "__string",
678
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
891
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
679
892
  # stream_id: "__string",
680
893
  # vpc_interface_name: "__string",
681
894
  # whitelist_cidr: "__string",
@@ -684,6 +897,7 @@ module Aws::MediaConnect
684
897
  # vpc_interfaces: [
685
898
  # {
686
899
  # name: "__string", # required
900
+ # network_interface_type: "ena", # accepts ena, efa
687
901
  # role_arn: "__string", # required
688
902
  # security_group_ids: ["__string"], # required
689
903
  # subnet_id: "__string", # required
@@ -702,7 +916,7 @@ module Aws::MediaConnect
702
916
  # resp.flow.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
703
917
  # resp.flow.entitlements[0].encryption.constant_initialization_vector #=> String
704
918
  # resp.flow.entitlements[0].encryption.device_id #=> String
705
- # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
919
+ # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
706
920
  # resp.flow.entitlements[0].encryption.region #=> String
707
921
  # resp.flow.entitlements[0].encryption.resource_id #=> String
708
922
  # resp.flow.entitlements[0].encryption.role_arn #=> String
@@ -714,6 +928,22 @@ module Aws::MediaConnect
714
928
  # resp.flow.entitlements[0].subscribers #=> Array
715
929
  # resp.flow.entitlements[0].subscribers[0] #=> String
716
930
  # resp.flow.flow_arn #=> String
931
+ # resp.flow.media_streams #=> Array
932
+ # resp.flow.media_streams[0].attributes.fmtp.channel_order #=> String
933
+ # resp.flow.media_streams[0].attributes.fmtp.colorimetry #=> String, one of "BT601", "BT709", "BT2020", "BT2100", "ST2065-1", "ST2065-3", "XYZ"
934
+ # resp.flow.media_streams[0].attributes.fmtp.exact_framerate #=> String
935
+ # resp.flow.media_streams[0].attributes.fmtp.par #=> String
936
+ # resp.flow.media_streams[0].attributes.fmtp.range #=> String, one of "NARROW", "FULL", "FULLPROTECT"
937
+ # resp.flow.media_streams[0].attributes.fmtp.scan_mode #=> String, one of "progressive", "interlace", "progressive-segmented-frame"
938
+ # resp.flow.media_streams[0].attributes.fmtp.tcs #=> String, one of "SDR", "PQ", "HLG", "LINEAR", "BT2100LINPQ", "BT2100LINHLG", "ST2065-1", "ST428-1", "DENSITY"
939
+ # resp.flow.media_streams[0].attributes.lang #=> String
940
+ # resp.flow.media_streams[0].clock_rate #=> Integer
941
+ # resp.flow.media_streams[0].description #=> String
942
+ # resp.flow.media_streams[0].fmt #=> Integer
943
+ # resp.flow.media_streams[0].media_stream_id #=> Integer
944
+ # resp.flow.media_streams[0].media_stream_name #=> String
945
+ # resp.flow.media_streams[0].media_stream_type #=> String, one of "video", "audio", "ancillary-data"
946
+ # resp.flow.media_streams[0].video_format #=> String
717
947
  # resp.flow.name #=> String
718
948
  # resp.flow.outputs #=> Array
719
949
  # resp.flow.outputs[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -722,14 +952,25 @@ module Aws::MediaConnect
722
952
  # resp.flow.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
723
953
  # resp.flow.outputs[0].encryption.constant_initialization_vector #=> String
724
954
  # resp.flow.outputs[0].encryption.device_id #=> String
725
- # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
955
+ # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
726
956
  # resp.flow.outputs[0].encryption.region #=> String
727
957
  # resp.flow.outputs[0].encryption.resource_id #=> String
728
958
  # resp.flow.outputs[0].encryption.role_arn #=> String
729
959
  # resp.flow.outputs[0].encryption.secret_arn #=> String
730
960
  # resp.flow.outputs[0].encryption.url #=> String
731
961
  # resp.flow.outputs[0].entitlement_arn #=> String
962
+ # resp.flow.outputs[0].listener_address #=> String
732
963
  # resp.flow.outputs[0].media_live_input_arn #=> String
964
+ # resp.flow.outputs[0].media_stream_output_configurations #=> Array
965
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations #=> Array
966
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].destination_ip #=> String
967
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].destination_port #=> Integer
968
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].interface.name #=> String
969
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].outbound_ip #=> String
970
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
971
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_parameters.compression_factor #=> Float
972
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_parameters.encoder_profile #=> String, one of "main", "high"
973
+ # resp.flow.outputs[0].media_stream_output_configurations[0].media_stream_name #=> String
733
974
  # resp.flow.outputs[0].name #=> String
734
975
  # resp.flow.outputs[0].output_arn #=> String
735
976
  # resp.flow.outputs[0].port #=> Integer
@@ -737,7 +978,9 @@ module Aws::MediaConnect
737
978
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
738
979
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
739
980
  # resp.flow.outputs[0].transport.max_latency #=> Integer
740
- # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
981
+ # resp.flow.outputs[0].transport.max_sync_buffer #=> Integer
982
+ # resp.flow.outputs[0].transport.min_latency #=> Integer
983
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
741
984
  # resp.flow.outputs[0].transport.remote_id #=> String
742
985
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
743
986
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -746,7 +989,7 @@ module Aws::MediaConnect
746
989
  # resp.flow.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
747
990
  # resp.flow.source.decryption.constant_initialization_vector #=> String
748
991
  # resp.flow.source.decryption.device_id #=> String
749
- # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key"
992
+ # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
750
993
  # resp.flow.source.decryption.region #=> String
751
994
  # resp.flow.source.decryption.resource_id #=> String
752
995
  # resp.flow.source.decryption.role_arn #=> String
@@ -756,26 +999,37 @@ module Aws::MediaConnect
756
999
  # resp.flow.source.entitlement_arn #=> String
757
1000
  # resp.flow.source.ingest_ip #=> String
758
1001
  # resp.flow.source.ingest_port #=> Integer
1002
+ # resp.flow.source.media_stream_source_configurations #=> Array
1003
+ # resp.flow.source.media_stream_source_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
1004
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations #=> Array
1005
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].input_ip #=> String
1006
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].input_port #=> Integer
1007
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].interface.name #=> String
1008
+ # resp.flow.source.media_stream_source_configurations[0].media_stream_name #=> String
759
1009
  # resp.flow.source.name #=> String
760
1010
  # resp.flow.source.source_arn #=> String
761
1011
  # resp.flow.source.transport.cidr_allow_list #=> Array
762
1012
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
763
1013
  # resp.flow.source.transport.max_bitrate #=> Integer
764
1014
  # resp.flow.source.transport.max_latency #=> Integer
765
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1015
+ # resp.flow.source.transport.max_sync_buffer #=> Integer
1016
+ # resp.flow.source.transport.min_latency #=> Integer
1017
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
766
1018
  # resp.flow.source.transport.remote_id #=> String
767
1019
  # resp.flow.source.transport.smoothing_latency #=> Integer
768
1020
  # resp.flow.source.transport.stream_id #=> String
769
1021
  # resp.flow.source.vpc_interface_name #=> String
770
1022
  # resp.flow.source.whitelist_cidr #=> String
1023
+ # resp.flow.source_failover_config.failover_mode #=> String, one of "MERGE", "FAILOVER"
771
1024
  # resp.flow.source_failover_config.recovery_window #=> Integer
1025
+ # resp.flow.source_failover_config.source_priority.primary_source #=> String
772
1026
  # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
773
1027
  # resp.flow.sources #=> Array
774
1028
  # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
775
1029
  # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
776
1030
  # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
777
1031
  # resp.flow.sources[0].decryption.device_id #=> String
778
- # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
1032
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
779
1033
  # resp.flow.sources[0].decryption.region #=> String
780
1034
  # resp.flow.sources[0].decryption.resource_id #=> String
781
1035
  # resp.flow.sources[0].decryption.role_arn #=> String
@@ -785,13 +1039,22 @@ module Aws::MediaConnect
785
1039
  # resp.flow.sources[0].entitlement_arn #=> String
786
1040
  # resp.flow.sources[0].ingest_ip #=> String
787
1041
  # resp.flow.sources[0].ingest_port #=> Integer
1042
+ # resp.flow.sources[0].media_stream_source_configurations #=> Array
1043
+ # resp.flow.sources[0].media_stream_source_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
1044
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations #=> Array
1045
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].input_ip #=> String
1046
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].input_port #=> Integer
1047
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].interface.name #=> String
1048
+ # resp.flow.sources[0].media_stream_source_configurations[0].media_stream_name #=> String
788
1049
  # resp.flow.sources[0].name #=> String
789
1050
  # resp.flow.sources[0].source_arn #=> String
790
1051
  # resp.flow.sources[0].transport.cidr_allow_list #=> Array
791
1052
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
792
1053
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
793
1054
  # resp.flow.sources[0].transport.max_latency #=> Integer
794
- # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1055
+ # resp.flow.sources[0].transport.max_sync_buffer #=> Integer
1056
+ # resp.flow.sources[0].transport.min_latency #=> Integer
1057
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
795
1058
  # resp.flow.sources[0].transport.remote_id #=> String
796
1059
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
797
1060
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -802,6 +1065,7 @@ module Aws::MediaConnect
802
1065
  # resp.flow.vpc_interfaces[0].name #=> String
803
1066
  # resp.flow.vpc_interfaces[0].network_interface_ids #=> Array
804
1067
  # resp.flow.vpc_interfaces[0].network_interface_ids[0] #=> String
1068
+ # resp.flow.vpc_interfaces[0].network_interface_type #=> String, one of "ena", "efa"
805
1069
  # resp.flow.vpc_interfaces[0].role_arn #=> String
806
1070
  # resp.flow.vpc_interfaces[0].security_group_ids #=> Array
807
1071
  # resp.flow.vpc_interfaces[0].security_group_ids[0] #=> String
@@ -873,7 +1137,7 @@ module Aws::MediaConnect
873
1137
  # resp.flow.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
874
1138
  # resp.flow.entitlements[0].encryption.constant_initialization_vector #=> String
875
1139
  # resp.flow.entitlements[0].encryption.device_id #=> String
876
- # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
1140
+ # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
877
1141
  # resp.flow.entitlements[0].encryption.region #=> String
878
1142
  # resp.flow.entitlements[0].encryption.resource_id #=> String
879
1143
  # resp.flow.entitlements[0].encryption.role_arn #=> String
@@ -885,6 +1149,22 @@ module Aws::MediaConnect
885
1149
  # resp.flow.entitlements[0].subscribers #=> Array
886
1150
  # resp.flow.entitlements[0].subscribers[0] #=> String
887
1151
  # resp.flow.flow_arn #=> String
1152
+ # resp.flow.media_streams #=> Array
1153
+ # resp.flow.media_streams[0].attributes.fmtp.channel_order #=> String
1154
+ # resp.flow.media_streams[0].attributes.fmtp.colorimetry #=> String, one of "BT601", "BT709", "BT2020", "BT2100", "ST2065-1", "ST2065-3", "XYZ"
1155
+ # resp.flow.media_streams[0].attributes.fmtp.exact_framerate #=> String
1156
+ # resp.flow.media_streams[0].attributes.fmtp.par #=> String
1157
+ # resp.flow.media_streams[0].attributes.fmtp.range #=> String, one of "NARROW", "FULL", "FULLPROTECT"
1158
+ # resp.flow.media_streams[0].attributes.fmtp.scan_mode #=> String, one of "progressive", "interlace", "progressive-segmented-frame"
1159
+ # resp.flow.media_streams[0].attributes.fmtp.tcs #=> String, one of "SDR", "PQ", "HLG", "LINEAR", "BT2100LINPQ", "BT2100LINHLG", "ST2065-1", "ST428-1", "DENSITY"
1160
+ # resp.flow.media_streams[0].attributes.lang #=> String
1161
+ # resp.flow.media_streams[0].clock_rate #=> Integer
1162
+ # resp.flow.media_streams[0].description #=> String
1163
+ # resp.flow.media_streams[0].fmt #=> Integer
1164
+ # resp.flow.media_streams[0].media_stream_id #=> Integer
1165
+ # resp.flow.media_streams[0].media_stream_name #=> String
1166
+ # resp.flow.media_streams[0].media_stream_type #=> String, one of "video", "audio", "ancillary-data"
1167
+ # resp.flow.media_streams[0].video_format #=> String
888
1168
  # resp.flow.name #=> String
889
1169
  # resp.flow.outputs #=> Array
890
1170
  # resp.flow.outputs[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -893,14 +1173,25 @@ module Aws::MediaConnect
893
1173
  # resp.flow.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
894
1174
  # resp.flow.outputs[0].encryption.constant_initialization_vector #=> String
895
1175
  # resp.flow.outputs[0].encryption.device_id #=> String
896
- # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
1176
+ # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
897
1177
  # resp.flow.outputs[0].encryption.region #=> String
898
1178
  # resp.flow.outputs[0].encryption.resource_id #=> String
899
1179
  # resp.flow.outputs[0].encryption.role_arn #=> String
900
1180
  # resp.flow.outputs[0].encryption.secret_arn #=> String
901
1181
  # resp.flow.outputs[0].encryption.url #=> String
902
1182
  # resp.flow.outputs[0].entitlement_arn #=> String
1183
+ # resp.flow.outputs[0].listener_address #=> String
903
1184
  # resp.flow.outputs[0].media_live_input_arn #=> String
1185
+ # resp.flow.outputs[0].media_stream_output_configurations #=> Array
1186
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations #=> Array
1187
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].destination_ip #=> String
1188
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].destination_port #=> Integer
1189
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].interface.name #=> String
1190
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].outbound_ip #=> String
1191
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
1192
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_parameters.compression_factor #=> Float
1193
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_parameters.encoder_profile #=> String, one of "main", "high"
1194
+ # resp.flow.outputs[0].media_stream_output_configurations[0].media_stream_name #=> String
904
1195
  # resp.flow.outputs[0].name #=> String
905
1196
  # resp.flow.outputs[0].output_arn #=> String
906
1197
  # resp.flow.outputs[0].port #=> Integer
@@ -908,7 +1199,9 @@ module Aws::MediaConnect
908
1199
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
909
1200
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
910
1201
  # resp.flow.outputs[0].transport.max_latency #=> Integer
911
- # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1202
+ # resp.flow.outputs[0].transport.max_sync_buffer #=> Integer
1203
+ # resp.flow.outputs[0].transport.min_latency #=> Integer
1204
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
912
1205
  # resp.flow.outputs[0].transport.remote_id #=> String
913
1206
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
914
1207
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -917,7 +1210,7 @@ module Aws::MediaConnect
917
1210
  # resp.flow.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
918
1211
  # resp.flow.source.decryption.constant_initialization_vector #=> String
919
1212
  # resp.flow.source.decryption.device_id #=> String
920
- # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key"
1213
+ # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
921
1214
  # resp.flow.source.decryption.region #=> String
922
1215
  # resp.flow.source.decryption.resource_id #=> String
923
1216
  # resp.flow.source.decryption.role_arn #=> String
@@ -927,26 +1220,37 @@ module Aws::MediaConnect
927
1220
  # resp.flow.source.entitlement_arn #=> String
928
1221
  # resp.flow.source.ingest_ip #=> String
929
1222
  # resp.flow.source.ingest_port #=> Integer
1223
+ # resp.flow.source.media_stream_source_configurations #=> Array
1224
+ # resp.flow.source.media_stream_source_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
1225
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations #=> Array
1226
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].input_ip #=> String
1227
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].input_port #=> Integer
1228
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].interface.name #=> String
1229
+ # resp.flow.source.media_stream_source_configurations[0].media_stream_name #=> String
930
1230
  # resp.flow.source.name #=> String
931
1231
  # resp.flow.source.source_arn #=> String
932
1232
  # resp.flow.source.transport.cidr_allow_list #=> Array
933
1233
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
934
1234
  # resp.flow.source.transport.max_bitrate #=> Integer
935
1235
  # resp.flow.source.transport.max_latency #=> Integer
936
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1236
+ # resp.flow.source.transport.max_sync_buffer #=> Integer
1237
+ # resp.flow.source.transport.min_latency #=> Integer
1238
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
937
1239
  # resp.flow.source.transport.remote_id #=> String
938
1240
  # resp.flow.source.transport.smoothing_latency #=> Integer
939
1241
  # resp.flow.source.transport.stream_id #=> String
940
1242
  # resp.flow.source.vpc_interface_name #=> String
941
1243
  # resp.flow.source.whitelist_cidr #=> String
1244
+ # resp.flow.source_failover_config.failover_mode #=> String, one of "MERGE", "FAILOVER"
942
1245
  # resp.flow.source_failover_config.recovery_window #=> Integer
1246
+ # resp.flow.source_failover_config.source_priority.primary_source #=> String
943
1247
  # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
944
1248
  # resp.flow.sources #=> Array
945
1249
  # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
946
1250
  # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
947
1251
  # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
948
1252
  # resp.flow.sources[0].decryption.device_id #=> String
949
- # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
1253
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
950
1254
  # resp.flow.sources[0].decryption.region #=> String
951
1255
  # resp.flow.sources[0].decryption.resource_id #=> String
952
1256
  # resp.flow.sources[0].decryption.role_arn #=> String
@@ -956,13 +1260,22 @@ module Aws::MediaConnect
956
1260
  # resp.flow.sources[0].entitlement_arn #=> String
957
1261
  # resp.flow.sources[0].ingest_ip #=> String
958
1262
  # resp.flow.sources[0].ingest_port #=> Integer
1263
+ # resp.flow.sources[0].media_stream_source_configurations #=> Array
1264
+ # resp.flow.sources[0].media_stream_source_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
1265
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations #=> Array
1266
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].input_ip #=> String
1267
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].input_port #=> Integer
1268
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].interface.name #=> String
1269
+ # resp.flow.sources[0].media_stream_source_configurations[0].media_stream_name #=> String
959
1270
  # resp.flow.sources[0].name #=> String
960
1271
  # resp.flow.sources[0].source_arn #=> String
961
1272
  # resp.flow.sources[0].transport.cidr_allow_list #=> Array
962
1273
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
963
1274
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
964
1275
  # resp.flow.sources[0].transport.max_latency #=> Integer
965
- # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1276
+ # resp.flow.sources[0].transport.max_sync_buffer #=> Integer
1277
+ # resp.flow.sources[0].transport.min_latency #=> Integer
1278
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
966
1279
  # resp.flow.sources[0].transport.remote_id #=> String
967
1280
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
968
1281
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -973,6 +1286,7 @@ module Aws::MediaConnect
973
1286
  # resp.flow.vpc_interfaces[0].name #=> String
974
1287
  # resp.flow.vpc_interfaces[0].network_interface_ids #=> Array
975
1288
  # resp.flow.vpc_interfaces[0].network_interface_ids[0] #=> String
1289
+ # resp.flow.vpc_interfaces[0].network_interface_type #=> String, one of "ena", "efa"
976
1290
  # resp.flow.vpc_interfaces[0].role_arn #=> String
977
1291
  # resp.flow.vpc_interfaces[0].security_group_ids #=> Array
978
1292
  # resp.flow.vpc_interfaces[0].security_group_ids[0] #=> String
@@ -980,6 +1294,13 @@ module Aws::MediaConnect
980
1294
  # resp.messages.errors #=> Array
981
1295
  # resp.messages.errors[0] #=> String
982
1296
  #
1297
+ #
1298
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1299
+ #
1300
+ # * flow_active
1301
+ # * flow_deleted
1302
+ # * flow_standby
1303
+ #
983
1304
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeFlow AWS API Documentation
984
1305
  #
985
1306
  # @overload describe_flow(params = {})
@@ -1089,10 +1410,10 @@ module Aws::MediaConnect
1089
1410
  # data_transfer_subscriber_fee_percent: 1,
1090
1411
  # description: "__string",
1091
1412
  # encryption: {
1092
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
1413
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
1093
1414
  # constant_initialization_vector: "__string",
1094
1415
  # device_id: "__string",
1095
- # key_type: "speke", # accepts speke, static-key
1416
+ # key_type: "speke", # accepts speke, static-key, srt-password
1096
1417
  # region: "__string",
1097
1418
  # resource_id: "__string",
1098
1419
  # role_arn: "__string", # required
@@ -1115,7 +1436,7 @@ module Aws::MediaConnect
1115
1436
  # resp.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1116
1437
  # resp.entitlements[0].encryption.constant_initialization_vector #=> String
1117
1438
  # resp.entitlements[0].encryption.device_id #=> String
1118
- # resp.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
1439
+ # resp.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1119
1440
  # resp.entitlements[0].encryption.region #=> String
1120
1441
  # resp.entitlements[0].encryption.resource_id #=> String
1121
1442
  # resp.entitlements[0].encryption.role_arn #=> String
@@ -1395,6 +1716,39 @@ module Aws::MediaConnect
1395
1716
  req.send_request(options)
1396
1717
  end
1397
1718
 
1719
+ # Removes a media stream from a flow. This action is only available if
1720
+ # the media stream is not associated with a source or output.
1721
+ #
1722
+ # @option params [required, String] :flow_arn
1723
+ #
1724
+ # @option params [required, String] :media_stream_name
1725
+ #
1726
+ # @return [Types::RemoveFlowMediaStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1727
+ #
1728
+ # * {Types::RemoveFlowMediaStreamResponse#flow_arn #flow_arn} => String
1729
+ # * {Types::RemoveFlowMediaStreamResponse#media_stream_name #media_stream_name} => String
1730
+ #
1731
+ # @example Request syntax with placeholder values
1732
+ #
1733
+ # resp = client.remove_flow_media_stream({
1734
+ # flow_arn: "__string", # required
1735
+ # media_stream_name: "__string", # required
1736
+ # })
1737
+ #
1738
+ # @example Response structure
1739
+ #
1740
+ # resp.flow_arn #=> String
1741
+ # resp.media_stream_name #=> String
1742
+ #
1743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowMediaStream AWS API Documentation
1744
+ #
1745
+ # @overload remove_flow_media_stream(params = {})
1746
+ # @param [Hash] params ({})
1747
+ def remove_flow_media_stream(params = {}, options = {})
1748
+ req = build_request(:remove_flow_media_stream, params)
1749
+ req.send_request(options)
1750
+ end
1751
+
1398
1752
  # Removes an output from an existing flow. This request can be made only
1399
1753
  # on an output that does not have an entitlement associated with it. If
1400
1754
  # the output has an entitlement, you must revoke the entitlement
@@ -1667,7 +2021,11 @@ module Aws::MediaConnect
1667
2021
  # resp = client.update_flow({
1668
2022
  # flow_arn: "__string", # required
1669
2023
  # source_failover_config: {
2024
+ # failover_mode: "MERGE", # accepts MERGE, FAILOVER
1670
2025
  # recovery_window: 1,
2026
+ # source_priority: {
2027
+ # primary_source: "__string",
2028
+ # },
1671
2029
  # state: "ENABLED", # accepts ENABLED, DISABLED
1672
2030
  # },
1673
2031
  # })
@@ -1683,7 +2041,7 @@ module Aws::MediaConnect
1683
2041
  # resp.flow.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1684
2042
  # resp.flow.entitlements[0].encryption.constant_initialization_vector #=> String
1685
2043
  # resp.flow.entitlements[0].encryption.device_id #=> String
1686
- # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
2044
+ # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1687
2045
  # resp.flow.entitlements[0].encryption.region #=> String
1688
2046
  # resp.flow.entitlements[0].encryption.resource_id #=> String
1689
2047
  # resp.flow.entitlements[0].encryption.role_arn #=> String
@@ -1695,6 +2053,22 @@ module Aws::MediaConnect
1695
2053
  # resp.flow.entitlements[0].subscribers #=> Array
1696
2054
  # resp.flow.entitlements[0].subscribers[0] #=> String
1697
2055
  # resp.flow.flow_arn #=> String
2056
+ # resp.flow.media_streams #=> Array
2057
+ # resp.flow.media_streams[0].attributes.fmtp.channel_order #=> String
2058
+ # resp.flow.media_streams[0].attributes.fmtp.colorimetry #=> String, one of "BT601", "BT709", "BT2020", "BT2100", "ST2065-1", "ST2065-3", "XYZ"
2059
+ # resp.flow.media_streams[0].attributes.fmtp.exact_framerate #=> String
2060
+ # resp.flow.media_streams[0].attributes.fmtp.par #=> String
2061
+ # resp.flow.media_streams[0].attributes.fmtp.range #=> String, one of "NARROW", "FULL", "FULLPROTECT"
2062
+ # resp.flow.media_streams[0].attributes.fmtp.scan_mode #=> String, one of "progressive", "interlace", "progressive-segmented-frame"
2063
+ # resp.flow.media_streams[0].attributes.fmtp.tcs #=> String, one of "SDR", "PQ", "HLG", "LINEAR", "BT2100LINPQ", "BT2100LINHLG", "ST2065-1", "ST428-1", "DENSITY"
2064
+ # resp.flow.media_streams[0].attributes.lang #=> String
2065
+ # resp.flow.media_streams[0].clock_rate #=> Integer
2066
+ # resp.flow.media_streams[0].description #=> String
2067
+ # resp.flow.media_streams[0].fmt #=> Integer
2068
+ # resp.flow.media_streams[0].media_stream_id #=> Integer
2069
+ # resp.flow.media_streams[0].media_stream_name #=> String
2070
+ # resp.flow.media_streams[0].media_stream_type #=> String, one of "video", "audio", "ancillary-data"
2071
+ # resp.flow.media_streams[0].video_format #=> String
1698
2072
  # resp.flow.name #=> String
1699
2073
  # resp.flow.outputs #=> Array
1700
2074
  # resp.flow.outputs[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -1703,14 +2077,25 @@ module Aws::MediaConnect
1703
2077
  # resp.flow.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1704
2078
  # resp.flow.outputs[0].encryption.constant_initialization_vector #=> String
1705
2079
  # resp.flow.outputs[0].encryption.device_id #=> String
1706
- # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
2080
+ # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1707
2081
  # resp.flow.outputs[0].encryption.region #=> String
1708
2082
  # resp.flow.outputs[0].encryption.resource_id #=> String
1709
2083
  # resp.flow.outputs[0].encryption.role_arn #=> String
1710
2084
  # resp.flow.outputs[0].encryption.secret_arn #=> String
1711
2085
  # resp.flow.outputs[0].encryption.url #=> String
1712
2086
  # resp.flow.outputs[0].entitlement_arn #=> String
2087
+ # resp.flow.outputs[0].listener_address #=> String
1713
2088
  # resp.flow.outputs[0].media_live_input_arn #=> String
2089
+ # resp.flow.outputs[0].media_stream_output_configurations #=> Array
2090
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations #=> Array
2091
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].destination_ip #=> String
2092
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].destination_port #=> Integer
2093
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].interface.name #=> String
2094
+ # resp.flow.outputs[0].media_stream_output_configurations[0].destination_configurations[0].outbound_ip #=> String
2095
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
2096
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_parameters.compression_factor #=> Float
2097
+ # resp.flow.outputs[0].media_stream_output_configurations[0].encoding_parameters.encoder_profile #=> String, one of "main", "high"
2098
+ # resp.flow.outputs[0].media_stream_output_configurations[0].media_stream_name #=> String
1714
2099
  # resp.flow.outputs[0].name #=> String
1715
2100
  # resp.flow.outputs[0].output_arn #=> String
1716
2101
  # resp.flow.outputs[0].port #=> Integer
@@ -1718,7 +2103,9 @@ module Aws::MediaConnect
1718
2103
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
1719
2104
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
1720
2105
  # resp.flow.outputs[0].transport.max_latency #=> Integer
1721
- # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
2106
+ # resp.flow.outputs[0].transport.max_sync_buffer #=> Integer
2107
+ # resp.flow.outputs[0].transport.min_latency #=> Integer
2108
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
1722
2109
  # resp.flow.outputs[0].transport.remote_id #=> String
1723
2110
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
1724
2111
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -1727,7 +2114,7 @@ module Aws::MediaConnect
1727
2114
  # resp.flow.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1728
2115
  # resp.flow.source.decryption.constant_initialization_vector #=> String
1729
2116
  # resp.flow.source.decryption.device_id #=> String
1730
- # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key"
2117
+ # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1731
2118
  # resp.flow.source.decryption.region #=> String
1732
2119
  # resp.flow.source.decryption.resource_id #=> String
1733
2120
  # resp.flow.source.decryption.role_arn #=> String
@@ -1737,26 +2124,37 @@ module Aws::MediaConnect
1737
2124
  # resp.flow.source.entitlement_arn #=> String
1738
2125
  # resp.flow.source.ingest_ip #=> String
1739
2126
  # resp.flow.source.ingest_port #=> Integer
2127
+ # resp.flow.source.media_stream_source_configurations #=> Array
2128
+ # resp.flow.source.media_stream_source_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
2129
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations #=> Array
2130
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].input_ip #=> String
2131
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].input_port #=> Integer
2132
+ # resp.flow.source.media_stream_source_configurations[0].input_configurations[0].interface.name #=> String
2133
+ # resp.flow.source.media_stream_source_configurations[0].media_stream_name #=> String
1740
2134
  # resp.flow.source.name #=> String
1741
2135
  # resp.flow.source.source_arn #=> String
1742
2136
  # resp.flow.source.transport.cidr_allow_list #=> Array
1743
2137
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
1744
2138
  # resp.flow.source.transport.max_bitrate #=> Integer
1745
2139
  # resp.flow.source.transport.max_latency #=> Integer
1746
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
2140
+ # resp.flow.source.transport.max_sync_buffer #=> Integer
2141
+ # resp.flow.source.transport.min_latency #=> Integer
2142
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
1747
2143
  # resp.flow.source.transport.remote_id #=> String
1748
2144
  # resp.flow.source.transport.smoothing_latency #=> Integer
1749
2145
  # resp.flow.source.transport.stream_id #=> String
1750
2146
  # resp.flow.source.vpc_interface_name #=> String
1751
2147
  # resp.flow.source.whitelist_cidr #=> String
2148
+ # resp.flow.source_failover_config.failover_mode #=> String, one of "MERGE", "FAILOVER"
1752
2149
  # resp.flow.source_failover_config.recovery_window #=> Integer
2150
+ # resp.flow.source_failover_config.source_priority.primary_source #=> String
1753
2151
  # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
1754
2152
  # resp.flow.sources #=> Array
1755
2153
  # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
1756
2154
  # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1757
2155
  # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
1758
2156
  # resp.flow.sources[0].decryption.device_id #=> String
1759
- # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
2157
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1760
2158
  # resp.flow.sources[0].decryption.region #=> String
1761
2159
  # resp.flow.sources[0].decryption.resource_id #=> String
1762
2160
  # resp.flow.sources[0].decryption.role_arn #=> String
@@ -1766,13 +2164,22 @@ module Aws::MediaConnect
1766
2164
  # resp.flow.sources[0].entitlement_arn #=> String
1767
2165
  # resp.flow.sources[0].ingest_ip #=> String
1768
2166
  # resp.flow.sources[0].ingest_port #=> Integer
2167
+ # resp.flow.sources[0].media_stream_source_configurations #=> Array
2168
+ # resp.flow.sources[0].media_stream_source_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
2169
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations #=> Array
2170
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].input_ip #=> String
2171
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].input_port #=> Integer
2172
+ # resp.flow.sources[0].media_stream_source_configurations[0].input_configurations[0].interface.name #=> String
2173
+ # resp.flow.sources[0].media_stream_source_configurations[0].media_stream_name #=> String
1769
2174
  # resp.flow.sources[0].name #=> String
1770
2175
  # resp.flow.sources[0].source_arn #=> String
1771
2176
  # resp.flow.sources[0].transport.cidr_allow_list #=> Array
1772
2177
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
1773
2178
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
1774
2179
  # resp.flow.sources[0].transport.max_latency #=> Integer
1775
- # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
2180
+ # resp.flow.sources[0].transport.max_sync_buffer #=> Integer
2181
+ # resp.flow.sources[0].transport.min_latency #=> Integer
2182
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
1776
2183
  # resp.flow.sources[0].transport.remote_id #=> String
1777
2184
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
1778
2185
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -1783,6 +2190,7 @@ module Aws::MediaConnect
1783
2190
  # resp.flow.vpc_interfaces[0].name #=> String
1784
2191
  # resp.flow.vpc_interfaces[0].network_interface_ids #=> Array
1785
2192
  # resp.flow.vpc_interfaces[0].network_interface_ids[0] #=> String
2193
+ # resp.flow.vpc_interfaces[0].network_interface_type #=> String, one of "ena", "efa"
1786
2194
  # resp.flow.vpc_interfaces[0].role_arn #=> String
1787
2195
  # resp.flow.vpc_interfaces[0].security_group_ids #=> Array
1788
2196
  # resp.flow.vpc_interfaces[0].security_group_ids[0] #=> String
@@ -1838,7 +2246,7 @@ module Aws::MediaConnect
1838
2246
  # algorithm: "aes128", # accepts aes128, aes192, aes256
1839
2247
  # constant_initialization_vector: "__string",
1840
2248
  # device_id: "__string",
1841
- # key_type: "speke", # accepts speke, static-key
2249
+ # key_type: "speke", # accepts speke, static-key, srt-password
1842
2250
  # region: "__string",
1843
2251
  # resource_id: "__string",
1844
2252
  # role_arn: "__string",
@@ -1858,7 +2266,7 @@ module Aws::MediaConnect
1858
2266
  # resp.entitlement.encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1859
2267
  # resp.entitlement.encryption.constant_initialization_vector #=> String
1860
2268
  # resp.entitlement.encryption.device_id #=> String
1861
- # resp.entitlement.encryption.key_type #=> String, one of "speke", "static-key"
2269
+ # resp.entitlement.encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1862
2270
  # resp.entitlement.encryption.region #=> String
1863
2271
  # resp.entitlement.encryption.resource_id #=> String
1864
2272
  # resp.entitlement.encryption.role_arn #=> String
@@ -1880,6 +2288,85 @@ module Aws::MediaConnect
1880
2288
  req.send_request(options)
1881
2289
  end
1882
2290
 
2291
+ # Updates an existing media stream.
2292
+ #
2293
+ # @option params [Types::MediaStreamAttributesRequest] :attributes
2294
+ # The attributes that you want to assign to the media stream.
2295
+ #
2296
+ # @option params [Integer] :clock_rate
2297
+ # The sample rate (in Hz) for the stream. If the media stream type is
2298
+ # video or ancillary data, set this value to 90000. If the media stream
2299
+ # type is audio, set this value to either 48000 or 96000.
2300
+ #
2301
+ # @option params [String] :description
2302
+ # Description
2303
+ #
2304
+ # @option params [required, String] :flow_arn
2305
+ #
2306
+ # @option params [required, String] :media_stream_name
2307
+ #
2308
+ # @option params [String] :media_stream_type
2309
+ # The type of media stream.
2310
+ #
2311
+ # @option params [String] :video_format
2312
+ # The resolution of the video.
2313
+ #
2314
+ # @return [Types::UpdateFlowMediaStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2315
+ #
2316
+ # * {Types::UpdateFlowMediaStreamResponse#flow_arn #flow_arn} => String
2317
+ # * {Types::UpdateFlowMediaStreamResponse#media_stream #media_stream} => Types::MediaStream
2318
+ #
2319
+ # @example Request syntax with placeholder values
2320
+ #
2321
+ # resp = client.update_flow_media_stream({
2322
+ # attributes: {
2323
+ # fmtp: {
2324
+ # channel_order: "__string",
2325
+ # colorimetry: "BT601", # accepts BT601, BT709, BT2020, BT2100, ST2065-1, ST2065-3, XYZ
2326
+ # exact_framerate: "__string",
2327
+ # par: "__string",
2328
+ # range: "NARROW", # accepts NARROW, FULL, FULLPROTECT
2329
+ # scan_mode: "progressive", # accepts progressive, interlace, progressive-segmented-frame
2330
+ # tcs: "SDR", # accepts SDR, PQ, HLG, LINEAR, BT2100LINPQ, BT2100LINHLG, ST2065-1, ST428-1, DENSITY
2331
+ # },
2332
+ # lang: "__string",
2333
+ # },
2334
+ # clock_rate: 1,
2335
+ # description: "__string",
2336
+ # flow_arn: "__string", # required
2337
+ # media_stream_name: "__string", # required
2338
+ # media_stream_type: "video", # accepts video, audio, ancillary-data
2339
+ # video_format: "__string",
2340
+ # })
2341
+ #
2342
+ # @example Response structure
2343
+ #
2344
+ # resp.flow_arn #=> String
2345
+ # resp.media_stream.attributes.fmtp.channel_order #=> String
2346
+ # resp.media_stream.attributes.fmtp.colorimetry #=> String, one of "BT601", "BT709", "BT2020", "BT2100", "ST2065-1", "ST2065-3", "XYZ"
2347
+ # resp.media_stream.attributes.fmtp.exact_framerate #=> String
2348
+ # resp.media_stream.attributes.fmtp.par #=> String
2349
+ # resp.media_stream.attributes.fmtp.range #=> String, one of "NARROW", "FULL", "FULLPROTECT"
2350
+ # resp.media_stream.attributes.fmtp.scan_mode #=> String, one of "progressive", "interlace", "progressive-segmented-frame"
2351
+ # resp.media_stream.attributes.fmtp.tcs #=> String, one of "SDR", "PQ", "HLG", "LINEAR", "BT2100LINPQ", "BT2100LINHLG", "ST2065-1", "ST428-1", "DENSITY"
2352
+ # resp.media_stream.attributes.lang #=> String
2353
+ # resp.media_stream.clock_rate #=> Integer
2354
+ # resp.media_stream.description #=> String
2355
+ # resp.media_stream.fmt #=> Integer
2356
+ # resp.media_stream.media_stream_id #=> Integer
2357
+ # resp.media_stream.media_stream_name #=> String
2358
+ # resp.media_stream.media_stream_type #=> String, one of "video", "audio", "ancillary-data"
2359
+ # resp.media_stream.video_format #=> String
2360
+ #
2361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowMediaStream AWS API Documentation
2362
+ #
2363
+ # @overload update_flow_media_stream(params = {})
2364
+ # @param [Hash] params ({})
2365
+ def update_flow_media_stream(params = {}, options = {})
2366
+ req = build_request(:update_flow_media_stream, params)
2367
+ req.send_request(options)
2368
+ end
2369
+
1883
2370
  # Updates an existing flow output.
1884
2371
  #
1885
2372
  # @option params [Array<String>] :cidr_allow_list
@@ -1903,6 +2390,18 @@ module Aws::MediaConnect
1903
2390
  # @option params [Integer] :max_latency
1904
2391
  # The maximum latency in milliseconds for Zixi-based streams.
1905
2392
  #
2393
+ # @option params [Array<Types::MediaStreamOutputConfigurationRequest>] :media_stream_output_configurations
2394
+ # The media streams that are associated with the output, and the
2395
+ # parameters for those associations.
2396
+ #
2397
+ # @option params [Integer] :min_latency
2398
+ # The minimum latency in milliseconds for SRT-based streams. In streams
2399
+ # that use the SRT protocol, this value that you set on your
2400
+ # MediaConnect source or output represents the minimal potential latency
2401
+ # of that connection. The latency of the stream is set to the highest
2402
+ # number between the sender’s minimum latency and the receiver’s minimum
2403
+ # latency.
2404
+ #
1906
2405
  # @option params [required, String] :output_arn
1907
2406
  #
1908
2407
  # @option params [Integer] :port
@@ -1940,7 +2439,7 @@ module Aws::MediaConnect
1940
2439
  # algorithm: "aes128", # accepts aes128, aes192, aes256
1941
2440
  # constant_initialization_vector: "__string",
1942
2441
  # device_id: "__string",
1943
- # key_type: "speke", # accepts speke, static-key
2442
+ # key_type: "speke", # accepts speke, static-key, srt-password
1944
2443
  # region: "__string",
1945
2444
  # resource_id: "__string",
1946
2445
  # role_arn: "__string",
@@ -1949,9 +2448,29 @@ module Aws::MediaConnect
1949
2448
  # },
1950
2449
  # flow_arn: "__string", # required
1951
2450
  # max_latency: 1,
2451
+ # media_stream_output_configurations: [
2452
+ # {
2453
+ # destination_configurations: [
2454
+ # {
2455
+ # destination_ip: "__string", # required
2456
+ # destination_port: 1, # required
2457
+ # interface: { # required
2458
+ # name: "__string", # required
2459
+ # },
2460
+ # },
2461
+ # ],
2462
+ # encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
2463
+ # encoding_parameters: {
2464
+ # compression_factor: 1.0, # required
2465
+ # encoder_profile: "main", # required, accepts main, high
2466
+ # },
2467
+ # media_stream_name: "__string", # required
2468
+ # },
2469
+ # ],
2470
+ # min_latency: 1,
1952
2471
  # output_arn: "__string", # required
1953
2472
  # port: 1,
1954
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
2473
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
1955
2474
  # remote_id: "__string",
1956
2475
  # smoothing_latency: 1,
1957
2476
  # stream_id: "__string",
@@ -1969,14 +2488,25 @@ module Aws::MediaConnect
1969
2488
  # resp.output.encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1970
2489
  # resp.output.encryption.constant_initialization_vector #=> String
1971
2490
  # resp.output.encryption.device_id #=> String
1972
- # resp.output.encryption.key_type #=> String, one of "speke", "static-key"
2491
+ # resp.output.encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1973
2492
  # resp.output.encryption.region #=> String
1974
2493
  # resp.output.encryption.resource_id #=> String
1975
2494
  # resp.output.encryption.role_arn #=> String
1976
2495
  # resp.output.encryption.secret_arn #=> String
1977
2496
  # resp.output.encryption.url #=> String
1978
2497
  # resp.output.entitlement_arn #=> String
2498
+ # resp.output.listener_address #=> String
1979
2499
  # resp.output.media_live_input_arn #=> String
2500
+ # resp.output.media_stream_output_configurations #=> Array
2501
+ # resp.output.media_stream_output_configurations[0].destination_configurations #=> Array
2502
+ # resp.output.media_stream_output_configurations[0].destination_configurations[0].destination_ip #=> String
2503
+ # resp.output.media_stream_output_configurations[0].destination_configurations[0].destination_port #=> Integer
2504
+ # resp.output.media_stream_output_configurations[0].destination_configurations[0].interface.name #=> String
2505
+ # resp.output.media_stream_output_configurations[0].destination_configurations[0].outbound_ip #=> String
2506
+ # resp.output.media_stream_output_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
2507
+ # resp.output.media_stream_output_configurations[0].encoding_parameters.compression_factor #=> Float
2508
+ # resp.output.media_stream_output_configurations[0].encoding_parameters.encoder_profile #=> String, one of "main", "high"
2509
+ # resp.output.media_stream_output_configurations[0].media_stream_name #=> String
1980
2510
  # resp.output.name #=> String
1981
2511
  # resp.output.output_arn #=> String
1982
2512
  # resp.output.port #=> Integer
@@ -1984,7 +2514,9 @@ module Aws::MediaConnect
1984
2514
  # resp.output.transport.cidr_allow_list[0] #=> String
1985
2515
  # resp.output.transport.max_bitrate #=> Integer
1986
2516
  # resp.output.transport.max_latency #=> Integer
1987
- # resp.output.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
2517
+ # resp.output.transport.max_sync_buffer #=> Integer
2518
+ # resp.output.transport.min_latency #=> Integer
2519
+ # resp.output.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
1988
2520
  # resp.output.transport.remote_id #=> String
1989
2521
  # resp.output.transport.smoothing_latency #=> Integer
1990
2522
  # resp.output.transport.stream_id #=> String
@@ -2025,6 +2557,22 @@ module Aws::MediaConnect
2025
2557
  # The maximum latency in milliseconds. This parameter applies only to
2026
2558
  # RIST-based and Zixi-based streams.
2027
2559
  #
2560
+ # @option params [Integer] :max_sync_buffer
2561
+ # The size of the buffer (in milliseconds) to use to sync incoming
2562
+ # source data.
2563
+ #
2564
+ # @option params [Array<Types::MediaStreamSourceConfigurationRequest>] :media_stream_source_configurations
2565
+ # The media streams that are associated with the source, and the
2566
+ # parameters for those associations.
2567
+ #
2568
+ # @option params [Integer] :min_latency
2569
+ # The minimum latency in milliseconds for SRT-based streams. In streams
2570
+ # that use the SRT protocol, this value that you set on your
2571
+ # MediaConnect source or output represents the minimal potential latency
2572
+ # of that connection. The latency of the stream is set to the highest
2573
+ # number between the sender’s minimum latency and the receiver’s minimum
2574
+ # latency.
2575
+ #
2028
2576
  # @option params [String] :protocol
2029
2577
  # The protocol that is used by the source.
2030
2578
  #
@@ -2035,7 +2583,7 @@ module Aws::MediaConnect
2035
2583
  # applies only to Zixi-based streams.
2036
2584
  #
2037
2585
  # @option params [String] :vpc_interface_name
2038
- # The name of the VPC Interface to configure this Source with.
2586
+ # The name of the VPC interface to use for this source.
2039
2587
  #
2040
2588
  # @option params [String] :whitelist_cidr
2041
2589
  # The range of IP addresses that should be allowed to contribute content
@@ -2054,7 +2602,7 @@ module Aws::MediaConnect
2054
2602
  # algorithm: "aes128", # accepts aes128, aes192, aes256
2055
2603
  # constant_initialization_vector: "__string",
2056
2604
  # device_id: "__string",
2057
- # key_type: "speke", # accepts speke, static-key
2605
+ # key_type: "speke", # accepts speke, static-key, srt-password
2058
2606
  # region: "__string",
2059
2607
  # resource_id: "__string",
2060
2608
  # role_arn: "__string",
@@ -2067,7 +2615,23 @@ module Aws::MediaConnect
2067
2615
  # ingest_port: 1,
2068
2616
  # max_bitrate: 1,
2069
2617
  # max_latency: 1,
2070
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
2618
+ # max_sync_buffer: 1,
2619
+ # media_stream_source_configurations: [
2620
+ # {
2621
+ # encoding_name: "jxsv", # required, accepts jxsv, raw, smpte291, pcm
2622
+ # input_configurations: [
2623
+ # {
2624
+ # input_port: 1, # required
2625
+ # interface: { # required
2626
+ # name: "__string", # required
2627
+ # },
2628
+ # },
2629
+ # ],
2630
+ # media_stream_name: "__string", # required
2631
+ # },
2632
+ # ],
2633
+ # min_latency: 1,
2634
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
2071
2635
  # source_arn: "__string", # required
2072
2636
  # stream_id: "__string",
2073
2637
  # vpc_interface_name: "__string",
@@ -2081,7 +2645,7 @@ module Aws::MediaConnect
2081
2645
  # resp.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
2082
2646
  # resp.source.decryption.constant_initialization_vector #=> String
2083
2647
  # resp.source.decryption.device_id #=> String
2084
- # resp.source.decryption.key_type #=> String, one of "speke", "static-key"
2648
+ # resp.source.decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
2085
2649
  # resp.source.decryption.region #=> String
2086
2650
  # resp.source.decryption.resource_id #=> String
2087
2651
  # resp.source.decryption.role_arn #=> String
@@ -2091,13 +2655,22 @@ module Aws::MediaConnect
2091
2655
  # resp.source.entitlement_arn #=> String
2092
2656
  # resp.source.ingest_ip #=> String
2093
2657
  # resp.source.ingest_port #=> Integer
2658
+ # resp.source.media_stream_source_configurations #=> Array
2659
+ # resp.source.media_stream_source_configurations[0].encoding_name #=> String, one of "jxsv", "raw", "smpte291", "pcm"
2660
+ # resp.source.media_stream_source_configurations[0].input_configurations #=> Array
2661
+ # resp.source.media_stream_source_configurations[0].input_configurations[0].input_ip #=> String
2662
+ # resp.source.media_stream_source_configurations[0].input_configurations[0].input_port #=> Integer
2663
+ # resp.source.media_stream_source_configurations[0].input_configurations[0].interface.name #=> String
2664
+ # resp.source.media_stream_source_configurations[0].media_stream_name #=> String
2094
2665
  # resp.source.name #=> String
2095
2666
  # resp.source.source_arn #=> String
2096
2667
  # resp.source.transport.cidr_allow_list #=> Array
2097
2668
  # resp.source.transport.cidr_allow_list[0] #=> String
2098
2669
  # resp.source.transport.max_bitrate #=> Integer
2099
2670
  # resp.source.transport.max_latency #=> Integer
2100
- # resp.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
2671
+ # resp.source.transport.max_sync_buffer #=> Integer
2672
+ # resp.source.transport.min_latency #=> Integer
2673
+ # resp.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
2101
2674
  # resp.source.transport.remote_id #=> String
2102
2675
  # resp.source.transport.smoothing_latency #=> Integer
2103
2676
  # resp.source.transport.stream_id #=> String
@@ -2126,14 +2699,131 @@ module Aws::MediaConnect
2126
2699
  params: params,
2127
2700
  config: config)
2128
2701
  context[:gem_name] = 'aws-sdk-mediaconnect'
2129
- context[:gem_version] = '1.29.0'
2702
+ context[:gem_version] = '1.34.0'
2130
2703
  Seahorse::Client::Request.new(handlers, context)
2131
2704
  end
2132
2705
 
2706
+ # Polls an API operation until a resource enters a desired state.
2707
+ #
2708
+ # ## Basic Usage
2709
+ #
2710
+ # A waiter will call an API operation until:
2711
+ #
2712
+ # * It is successful
2713
+ # * It enters a terminal state
2714
+ # * It makes the maximum number of attempts
2715
+ #
2716
+ # In between attempts, the waiter will sleep.
2717
+ #
2718
+ # # polls in a loop, sleeping between attempts
2719
+ # client.wait_until(waiter_name, params)
2720
+ #
2721
+ # ## Configuration
2722
+ #
2723
+ # You can configure the maximum number of polling attempts, and the
2724
+ # delay (in seconds) between each polling attempt. You can pass
2725
+ # configuration as the final arguments hash.
2726
+ #
2727
+ # # poll for ~25 seconds
2728
+ # client.wait_until(waiter_name, params, {
2729
+ # max_attempts: 5,
2730
+ # delay: 5,
2731
+ # })
2732
+ #
2733
+ # ## Callbacks
2734
+ #
2735
+ # You can be notified before each polling attempt and before each
2736
+ # delay. If you throw `:success` or `:failure` from these callbacks,
2737
+ # it will terminate the waiter.
2738
+ #
2739
+ # started_at = Time.now
2740
+ # client.wait_until(waiter_name, params, {
2741
+ #
2742
+ # # disable max attempts
2743
+ # max_attempts: nil,
2744
+ #
2745
+ # # poll for 1 hour, instead of a number of attempts
2746
+ # before_wait: -> (attempts, response) do
2747
+ # throw :failure if Time.now - started_at > 3600
2748
+ # end
2749
+ # })
2750
+ #
2751
+ # ## Handling Errors
2752
+ #
2753
+ # When a waiter is unsuccessful, it will raise an error.
2754
+ # All of the failure errors extend from
2755
+ # {Aws::Waiters::Errors::WaiterFailed}.
2756
+ #
2757
+ # begin
2758
+ # client.wait_until(...)
2759
+ # rescue Aws::Waiters::Errors::WaiterFailed
2760
+ # # resource did not enter the desired state in time
2761
+ # end
2762
+ #
2763
+ # ## Valid Waiters
2764
+ #
2765
+ # The following table lists the valid waiter names, the operations they call,
2766
+ # and the default `:delay` and `:max_attempts` values.
2767
+ #
2768
+ # | waiter_name | params | :delay | :max_attempts |
2769
+ # | ------------ | ---------------------- | -------- | ------------- |
2770
+ # | flow_active | {Client#describe_flow} | 3 | 40 |
2771
+ # | flow_deleted | {Client#describe_flow} | 3 | 40 |
2772
+ # | flow_standby | {Client#describe_flow} | 3 | 40 |
2773
+ #
2774
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
2775
+ # because the waiter has entered a state that it will not transition
2776
+ # out of, preventing success.
2777
+ #
2778
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
2779
+ # maximum number of attempts have been made, and the waiter is not
2780
+ # yet successful.
2781
+ #
2782
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
2783
+ # while polling for a resource that is not expected.
2784
+ #
2785
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
2786
+ # for an unknown state.
2787
+ #
2788
+ # @return [Boolean] Returns `true` if the waiter was successful.
2789
+ # @param [Symbol] waiter_name
2790
+ # @param [Hash] params ({})
2791
+ # @param [Hash] options ({})
2792
+ # @option options [Integer] :max_attempts
2793
+ # @option options [Integer] :delay
2794
+ # @option options [Proc] :before_attempt
2795
+ # @option options [Proc] :before_wait
2796
+ def wait_until(waiter_name, params = {}, options = {})
2797
+ w = waiter(waiter_name, options)
2798
+ yield(w.waiter) if block_given? # deprecated
2799
+ w.wait(params)
2800
+ end
2801
+
2133
2802
  # @api private
2134
2803
  # @deprecated
2135
2804
  def waiter_names
2136
- []
2805
+ waiters.keys
2806
+ end
2807
+
2808
+ private
2809
+
2810
+ # @param [Symbol] waiter_name
2811
+ # @param [Hash] options ({})
2812
+ def waiter(waiter_name, options = {})
2813
+ waiter_class = waiters[waiter_name]
2814
+ if waiter_class
2815
+ waiter_class.new(options.merge(client: self))
2816
+ else
2817
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
2818
+ end
2819
+ end
2820
+
2821
+ def waiters
2822
+ {
2823
+ flow_active: Waiters::FlowActive,
2824
+ flow_deleted: Waiters::FlowDeleted,
2825
+ flow_standby: Waiters::FlowStandby
2826
+ }
2137
2827
  end
2138
2828
 
2139
2829
  class << self