aws-sdk-mediaconnect 1.27.0 → 1.32.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: bb1c59517e123e1ebfbabd46e603bf9648bfc93ec380acf2cd917e611458e4f6
4
- data.tar.gz: '06990869e8816e6c682328ee6aeeb93ebbbb9422bede9f4a64dca51d77746cd7'
3
+ metadata.gz: 39c490d1bcd7ec754aaf25179fb8546eb531c5929782506541dd45a528fcef01
4
+ data.tar.gz: 1416cc4a3c334889bc2872369113f5796e3035019b84f3c5768229bc933c35d0
5
5
  SHA512:
6
- metadata.gz: 39af8168dca71d80c854f2d3e3b0ddb1c55318766841cc04b852f5a9b1cbfd092ecb6d58a8a1825d45a6472d223deb9df5c3a3cc2eaab2b4e108c867256d4db9
7
- data.tar.gz: 922945e3355f50c5574fb3df4dd5a2dfd23ed35b3b876c1056ea78d54f7ed3b060801a68e6a00ed90f523e411e300a8be36e7a8714eec18842444ca5a2330ebf
6
+ metadata.gz: 15d6243c41e5adfd772ca9dc98f616cd620ede4c46433a86b651c40ab550d429480ec115f12c29820b47e6e76f07c96102fe963e0d71b180b14d086b8eee5634
7
+ data.tar.gz: 7da2bd25fd4d69a3547a450b6023810801b4a747e2ef60e5f14096227b5ef95e09d7bc7852321d4b5ca0e6df1d7e512028cb7bf805fa86a0a22205d1256a3e2b
data/CHANGELOG.md ADDED
@@ -0,0 +1,173 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.32.0 (2021-04-14)
5
+ ------------------
6
+
7
+ * 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.
8
+
9
+ 1.31.0 (2021-03-16)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for the SRT-listener protocol on sources and outputs.
13
+
14
+ 1.30.0 (2021-03-10)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.29.0 (2021-02-02)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.28.0 (2020-09-30)
25
+ ------------------
26
+
27
+ * Feature - MediaConnect now supports reservations to provide a discounted rate for a specific outbound bandwidth over a period of time.
28
+
29
+ 1.27.0 (2020-09-15)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.26.0 (2020-08-25)
35
+ ------------------
36
+
37
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
38
+
39
+ 1.25.0 (2020-07-24)
40
+ ------------------
41
+
42
+ * 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.
43
+
44
+ 1.24.0 (2020-06-23)
45
+ ------------------
46
+
47
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
48
+
49
+ 1.23.1 (2020-06-11)
50
+ ------------------
51
+
52
+ * Issue - Republish previous version with correct dependency on `aws-sdk-core`.
53
+
54
+ 1.23.0 (2020-06-10)
55
+ ------------------
56
+
57
+ * Issue - This version has been yanked. (#2327).
58
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
59
+
60
+ 1.22.0 (2020-05-28)
61
+ ------------------
62
+
63
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
64
+
65
+ 1.21.0 (2020-05-07)
66
+ ------------------
67
+
68
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
69
+
70
+ 1.20.0 (2020-04-07)
71
+ ------------------
72
+
73
+ * Feature - You can now send content from your MediaConnect flow to your virtual private cloud (VPC) without going over the public internet.
74
+
75
+ 1.19.0 (2020-04-01)
76
+ ------------------
77
+
78
+ * Feature - You can now send content from your virtual private cloud (VPC) to your MediaConnect flow without going over the public internet.
79
+
80
+ 1.18.0 (2020-03-18)
81
+ ------------------
82
+
83
+ * 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.
84
+
85
+ 1.17.0 (2020-03-09)
86
+ ------------------
87
+
88
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
89
+
90
+ 1.16.0 (2019-10-23)
91
+ ------------------
92
+
93
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
94
+
95
+ 1.15.0 (2019-09-19)
96
+ ------------------
97
+
98
+ * 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.
99
+
100
+ 1.14.0 (2019-09-11)
101
+ ------------------
102
+
103
+ * Feature - This release adds support for the RIST protocol on sources and outputs.
104
+
105
+ 1.13.0 (2019-07-26)
106
+ ------------------
107
+
108
+ * Feature - This release adds support for the Zixi pull protocol on outputs.
109
+
110
+ 1.12.0 (2019-07-25)
111
+ ------------------
112
+
113
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
114
+
115
+ 1.11.0 (2019-07-01)
116
+ ------------------
117
+
118
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
119
+
120
+ 1.10.0 (2019-06-17)
121
+ ------------------
122
+
123
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
124
+
125
+ 1.9.0 (2019-06-06)
126
+ ------------------
127
+
128
+ * Feature - This release adds support for encrypting entitlements using Secure Packager and Encoder Key Exchange (SPEKE).
129
+
130
+ 1.8.0 (2019-05-21)
131
+ ------------------
132
+
133
+ * Feature - API update.
134
+
135
+ 1.7.0 (2019-05-15)
136
+ ------------------
137
+
138
+ * Feature - API update.
139
+
140
+ 1.6.0 (2019-05-14)
141
+ ------------------
142
+
143
+ * Feature - API update.
144
+
145
+ 1.5.0 (2019-04-24)
146
+ ------------------
147
+
148
+ * Feature - API update.
149
+
150
+ 1.4.0 (2019-03-21)
151
+ ------------------
152
+
153
+ * Feature - API update.
154
+
155
+ 1.3.0 (2019-03-18)
156
+ ------------------
157
+
158
+ * Feature - API update.
159
+
160
+ 1.2.0 (2019-03-14)
161
+ ------------------
162
+
163
+ * Feature - API update.
164
+
165
+ 1.1.0 (2019-01-25)
166
+ ------------------
167
+
168
+ * Feature - API update.
169
+
170
+ 1.0.0 (2018-11-28)
171
+ ------------------
172
+
173
+ * 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.32.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
 
@@ -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.27.0'
52
+ GEM_VERSION = '1.32.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
 
@@ -350,10 +350,10 @@ module Aws::MediaConnect
350
350
  # description: "__string",
351
351
  # destination: "__string",
352
352
  # encryption: {
353
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
353
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
354
354
  # constant_initialization_vector: "__string",
355
355
  # device_id: "__string",
356
- # key_type: "speke", # accepts speke, static-key
356
+ # key_type: "speke", # accepts speke, static-key, srt-password
357
357
  # region: "__string",
358
358
  # resource_id: "__string",
359
359
  # role_arn: "__string", # required
@@ -361,9 +361,10 @@ module Aws::MediaConnect
361
361
  # url: "__string",
362
362
  # },
363
363
  # max_latency: 1,
364
+ # min_latency: 1,
364
365
  # name: "__string",
365
366
  # port: 1,
366
- # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
367
+ # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
367
368
  # remote_id: "__string",
368
369
  # smoothing_latency: 1,
369
370
  # stream_id: "__string",
@@ -384,13 +385,14 @@ module Aws::MediaConnect
384
385
  # resp.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
385
386
  # resp.outputs[0].encryption.constant_initialization_vector #=> String
386
387
  # resp.outputs[0].encryption.device_id #=> String
387
- # resp.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
388
+ # resp.outputs[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
388
389
  # resp.outputs[0].encryption.region #=> String
389
390
  # resp.outputs[0].encryption.resource_id #=> String
390
391
  # resp.outputs[0].encryption.role_arn #=> String
391
392
  # resp.outputs[0].encryption.secret_arn #=> String
392
393
  # resp.outputs[0].encryption.url #=> String
393
394
  # resp.outputs[0].entitlement_arn #=> String
395
+ # resp.outputs[0].listener_address #=> String
394
396
  # resp.outputs[0].media_live_input_arn #=> String
395
397
  # resp.outputs[0].name #=> String
396
398
  # resp.outputs[0].output_arn #=> String
@@ -399,7 +401,8 @@ module Aws::MediaConnect
399
401
  # resp.outputs[0].transport.cidr_allow_list[0] #=> String
400
402
  # resp.outputs[0].transport.max_bitrate #=> Integer
401
403
  # resp.outputs[0].transport.max_latency #=> Integer
402
- # resp.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
404
+ # resp.outputs[0].transport.min_latency #=> Integer
405
+ # resp.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
403
406
  # resp.outputs[0].transport.remote_id #=> String
404
407
  # resp.outputs[0].transport.smoothing_latency #=> Integer
405
408
  # resp.outputs[0].transport.stream_id #=> String
@@ -433,10 +436,10 @@ module Aws::MediaConnect
433
436
  # sources: [ # required
434
437
  # {
435
438
  # decryption: {
436
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
439
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
437
440
  # constant_initialization_vector: "__string",
438
441
  # device_id: "__string",
439
- # key_type: "speke", # accepts speke, static-key
442
+ # key_type: "speke", # accepts speke, static-key, srt-password
440
443
  # region: "__string",
441
444
  # resource_id: "__string",
442
445
  # role_arn: "__string", # required
@@ -448,8 +451,9 @@ module Aws::MediaConnect
448
451
  # ingest_port: 1,
449
452
  # max_bitrate: 1,
450
453
  # max_latency: 1,
454
+ # min_latency: 1,
451
455
  # name: "__string",
452
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
456
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
453
457
  # stream_id: "__string",
454
458
  # vpc_interface_name: "__string",
455
459
  # whitelist_cidr: "__string",
@@ -465,7 +469,7 @@ module Aws::MediaConnect
465
469
  # resp.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
466
470
  # resp.sources[0].decryption.constant_initialization_vector #=> String
467
471
  # resp.sources[0].decryption.device_id #=> String
468
- # resp.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
472
+ # resp.sources[0].decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
469
473
  # resp.sources[0].decryption.region #=> String
470
474
  # resp.sources[0].decryption.resource_id #=> String
471
475
  # resp.sources[0].decryption.role_arn #=> String
@@ -481,7 +485,8 @@ module Aws::MediaConnect
481
485
  # resp.sources[0].transport.cidr_allow_list[0] #=> String
482
486
  # resp.sources[0].transport.max_bitrate #=> Integer
483
487
  # resp.sources[0].transport.max_latency #=> Integer
484
- # resp.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
488
+ # resp.sources[0].transport.min_latency #=> Integer
489
+ # resp.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
485
490
  # resp.sources[0].transport.remote_id #=> String
486
491
  # resp.sources[0].transport.smoothing_latency #=> Integer
487
492
  # resp.sources[0].transport.stream_id #=> String
@@ -585,10 +590,10 @@ module Aws::MediaConnect
585
590
  # data_transfer_subscriber_fee_percent: 1,
586
591
  # description: "__string",
587
592
  # encryption: {
588
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
593
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
589
594
  # constant_initialization_vector: "__string",
590
595
  # device_id: "__string",
591
- # key_type: "speke", # accepts speke, static-key
596
+ # key_type: "speke", # accepts speke, static-key, srt-password
592
597
  # region: "__string",
593
598
  # resource_id: "__string",
594
599
  # role_arn: "__string", # required
@@ -607,10 +612,10 @@ module Aws::MediaConnect
607
612
  # description: "__string",
608
613
  # destination: "__string",
609
614
  # encryption: {
610
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
615
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
611
616
  # constant_initialization_vector: "__string",
612
617
  # device_id: "__string",
613
- # key_type: "speke", # accepts speke, static-key
618
+ # key_type: "speke", # accepts speke, static-key, srt-password
614
619
  # region: "__string",
615
620
  # resource_id: "__string",
616
621
  # role_arn: "__string", # required
@@ -618,9 +623,10 @@ module Aws::MediaConnect
618
623
  # url: "__string",
619
624
  # },
620
625
  # max_latency: 1,
626
+ # min_latency: 1,
621
627
  # name: "__string",
622
628
  # port: 1,
623
- # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
629
+ # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
624
630
  # remote_id: "__string",
625
631
  # smoothing_latency: 1,
626
632
  # stream_id: "__string",
@@ -631,10 +637,10 @@ module Aws::MediaConnect
631
637
  # ],
632
638
  # source: {
633
639
  # decryption: {
634
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
640
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
635
641
  # constant_initialization_vector: "__string",
636
642
  # device_id: "__string",
637
- # key_type: "speke", # accepts speke, static-key
643
+ # key_type: "speke", # accepts speke, static-key, srt-password
638
644
  # region: "__string",
639
645
  # resource_id: "__string",
640
646
  # role_arn: "__string", # required
@@ -646,8 +652,9 @@ module Aws::MediaConnect
646
652
  # ingest_port: 1,
647
653
  # max_bitrate: 1,
648
654
  # max_latency: 1,
655
+ # min_latency: 1,
649
656
  # name: "__string",
650
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
657
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
651
658
  # stream_id: "__string",
652
659
  # vpc_interface_name: "__string",
653
660
  # whitelist_cidr: "__string",
@@ -659,10 +666,10 @@ module Aws::MediaConnect
659
666
  # sources: [
660
667
  # {
661
668
  # decryption: {
662
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
669
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
663
670
  # constant_initialization_vector: "__string",
664
671
  # device_id: "__string",
665
- # key_type: "speke", # accepts speke, static-key
672
+ # key_type: "speke", # accepts speke, static-key, srt-password
666
673
  # region: "__string",
667
674
  # resource_id: "__string",
668
675
  # role_arn: "__string", # required
@@ -674,8 +681,9 @@ module Aws::MediaConnect
674
681
  # ingest_port: 1,
675
682
  # max_bitrate: 1,
676
683
  # max_latency: 1,
684
+ # min_latency: 1,
677
685
  # name: "__string",
678
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
686
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
679
687
  # stream_id: "__string",
680
688
  # vpc_interface_name: "__string",
681
689
  # whitelist_cidr: "__string",
@@ -702,7 +710,7 @@ module Aws::MediaConnect
702
710
  # resp.flow.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
703
711
  # resp.flow.entitlements[0].encryption.constant_initialization_vector #=> String
704
712
  # resp.flow.entitlements[0].encryption.device_id #=> String
705
- # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
713
+ # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
706
714
  # resp.flow.entitlements[0].encryption.region #=> String
707
715
  # resp.flow.entitlements[0].encryption.resource_id #=> String
708
716
  # resp.flow.entitlements[0].encryption.role_arn #=> String
@@ -722,13 +730,14 @@ module Aws::MediaConnect
722
730
  # resp.flow.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
723
731
  # resp.flow.outputs[0].encryption.constant_initialization_vector #=> String
724
732
  # resp.flow.outputs[0].encryption.device_id #=> String
725
- # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
733
+ # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
726
734
  # resp.flow.outputs[0].encryption.region #=> String
727
735
  # resp.flow.outputs[0].encryption.resource_id #=> String
728
736
  # resp.flow.outputs[0].encryption.role_arn #=> String
729
737
  # resp.flow.outputs[0].encryption.secret_arn #=> String
730
738
  # resp.flow.outputs[0].encryption.url #=> String
731
739
  # resp.flow.outputs[0].entitlement_arn #=> String
740
+ # resp.flow.outputs[0].listener_address #=> String
732
741
  # resp.flow.outputs[0].media_live_input_arn #=> String
733
742
  # resp.flow.outputs[0].name #=> String
734
743
  # resp.flow.outputs[0].output_arn #=> String
@@ -737,7 +746,8 @@ module Aws::MediaConnect
737
746
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
738
747
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
739
748
  # 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"
749
+ # resp.flow.outputs[0].transport.min_latency #=> Integer
750
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
741
751
  # resp.flow.outputs[0].transport.remote_id #=> String
742
752
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
743
753
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -746,7 +756,7 @@ module Aws::MediaConnect
746
756
  # resp.flow.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
747
757
  # resp.flow.source.decryption.constant_initialization_vector #=> String
748
758
  # resp.flow.source.decryption.device_id #=> String
749
- # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key"
759
+ # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
750
760
  # resp.flow.source.decryption.region #=> String
751
761
  # resp.flow.source.decryption.resource_id #=> String
752
762
  # resp.flow.source.decryption.role_arn #=> String
@@ -762,7 +772,8 @@ module Aws::MediaConnect
762
772
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
763
773
  # resp.flow.source.transport.max_bitrate #=> Integer
764
774
  # resp.flow.source.transport.max_latency #=> Integer
765
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
775
+ # resp.flow.source.transport.min_latency #=> Integer
776
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
766
777
  # resp.flow.source.transport.remote_id #=> String
767
778
  # resp.flow.source.transport.smoothing_latency #=> Integer
768
779
  # resp.flow.source.transport.stream_id #=> String
@@ -775,7 +786,7 @@ module Aws::MediaConnect
775
786
  # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
776
787
  # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
777
788
  # resp.flow.sources[0].decryption.device_id #=> String
778
- # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
789
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
779
790
  # resp.flow.sources[0].decryption.region #=> String
780
791
  # resp.flow.sources[0].decryption.resource_id #=> String
781
792
  # resp.flow.sources[0].decryption.role_arn #=> String
@@ -791,7 +802,8 @@ module Aws::MediaConnect
791
802
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
792
803
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
793
804
  # 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"
805
+ # resp.flow.sources[0].transport.min_latency #=> Integer
806
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
795
807
  # resp.flow.sources[0].transport.remote_id #=> String
796
808
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
797
809
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -873,7 +885,7 @@ module Aws::MediaConnect
873
885
  # resp.flow.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
874
886
  # resp.flow.entitlements[0].encryption.constant_initialization_vector #=> String
875
887
  # resp.flow.entitlements[0].encryption.device_id #=> String
876
- # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
888
+ # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
877
889
  # resp.flow.entitlements[0].encryption.region #=> String
878
890
  # resp.flow.entitlements[0].encryption.resource_id #=> String
879
891
  # resp.flow.entitlements[0].encryption.role_arn #=> String
@@ -893,13 +905,14 @@ module Aws::MediaConnect
893
905
  # resp.flow.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
894
906
  # resp.flow.outputs[0].encryption.constant_initialization_vector #=> String
895
907
  # resp.flow.outputs[0].encryption.device_id #=> String
896
- # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
908
+ # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
897
909
  # resp.flow.outputs[0].encryption.region #=> String
898
910
  # resp.flow.outputs[0].encryption.resource_id #=> String
899
911
  # resp.flow.outputs[0].encryption.role_arn #=> String
900
912
  # resp.flow.outputs[0].encryption.secret_arn #=> String
901
913
  # resp.flow.outputs[0].encryption.url #=> String
902
914
  # resp.flow.outputs[0].entitlement_arn #=> String
915
+ # resp.flow.outputs[0].listener_address #=> String
903
916
  # resp.flow.outputs[0].media_live_input_arn #=> String
904
917
  # resp.flow.outputs[0].name #=> String
905
918
  # resp.flow.outputs[0].output_arn #=> String
@@ -908,7 +921,8 @@ module Aws::MediaConnect
908
921
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
909
922
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
910
923
  # 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"
924
+ # resp.flow.outputs[0].transport.min_latency #=> Integer
925
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
912
926
  # resp.flow.outputs[0].transport.remote_id #=> String
913
927
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
914
928
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -917,7 +931,7 @@ module Aws::MediaConnect
917
931
  # resp.flow.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
918
932
  # resp.flow.source.decryption.constant_initialization_vector #=> String
919
933
  # resp.flow.source.decryption.device_id #=> String
920
- # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key"
934
+ # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
921
935
  # resp.flow.source.decryption.region #=> String
922
936
  # resp.flow.source.decryption.resource_id #=> String
923
937
  # resp.flow.source.decryption.role_arn #=> String
@@ -933,7 +947,8 @@ module Aws::MediaConnect
933
947
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
934
948
  # resp.flow.source.transport.max_bitrate #=> Integer
935
949
  # resp.flow.source.transport.max_latency #=> Integer
936
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
950
+ # resp.flow.source.transport.min_latency #=> Integer
951
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
937
952
  # resp.flow.source.transport.remote_id #=> String
938
953
  # resp.flow.source.transport.smoothing_latency #=> Integer
939
954
  # resp.flow.source.transport.stream_id #=> String
@@ -946,7 +961,7 @@ module Aws::MediaConnect
946
961
  # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
947
962
  # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
948
963
  # resp.flow.sources[0].decryption.device_id #=> String
949
- # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
964
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
950
965
  # resp.flow.sources[0].decryption.region #=> String
951
966
  # resp.flow.sources[0].decryption.resource_id #=> String
952
967
  # resp.flow.sources[0].decryption.role_arn #=> String
@@ -962,7 +977,8 @@ module Aws::MediaConnect
962
977
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
963
978
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
964
979
  # 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"
980
+ # resp.flow.sources[0].transport.min_latency #=> Integer
981
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
966
982
  # resp.flow.sources[0].transport.remote_id #=> String
967
983
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
968
984
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -980,6 +996,13 @@ module Aws::MediaConnect
980
996
  # resp.messages.errors #=> Array
981
997
  # resp.messages.errors[0] #=> String
982
998
  #
999
+ #
1000
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1001
+ #
1002
+ # * flow_active
1003
+ # * flow_deleted
1004
+ # * flow_standby
1005
+ #
983
1006
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeFlow AWS API Documentation
984
1007
  #
985
1008
  # @overload describe_flow(params = {})
@@ -989,6 +1012,86 @@ module Aws::MediaConnect
989
1012
  req.send_request(options)
990
1013
  end
991
1014
 
1015
+ # Displays the details of an offering. The response includes the
1016
+ # offering description, duration, outbound bandwidth, price, and Amazon
1017
+ # Resource Name (ARN).
1018
+ #
1019
+ # @option params [required, String] :offering_arn
1020
+ #
1021
+ # @return [Types::DescribeOfferingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1022
+ #
1023
+ # * {Types::DescribeOfferingResponse#offering #offering} => Types::Offering
1024
+ #
1025
+ # @example Request syntax with placeholder values
1026
+ #
1027
+ # resp = client.describe_offering({
1028
+ # offering_arn: "__string", # required
1029
+ # })
1030
+ #
1031
+ # @example Response structure
1032
+ #
1033
+ # resp.offering.currency_code #=> String
1034
+ # resp.offering.duration #=> Integer
1035
+ # resp.offering.duration_units #=> String, one of "MONTHS"
1036
+ # resp.offering.offering_arn #=> String
1037
+ # resp.offering.offering_description #=> String
1038
+ # resp.offering.price_per_unit #=> String
1039
+ # resp.offering.price_units #=> String, one of "HOURLY"
1040
+ # resp.offering.resource_specification.reserved_bitrate #=> Integer
1041
+ # resp.offering.resource_specification.resource_type #=> String, one of "Mbps_Outbound_Bandwidth"
1042
+ #
1043
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeOffering AWS API Documentation
1044
+ #
1045
+ # @overload describe_offering(params = {})
1046
+ # @param [Hash] params ({})
1047
+ def describe_offering(params = {}, options = {})
1048
+ req = build_request(:describe_offering, params)
1049
+ req.send_request(options)
1050
+ end
1051
+
1052
+ # Displays the details of a reservation. The response includes the
1053
+ # reservation name, state, start date and time, and the details of the
1054
+ # offering that make up the rest of the reservation (such as price,
1055
+ # duration, and outbound bandwidth).
1056
+ #
1057
+ # @option params [required, String] :reservation_arn
1058
+ #
1059
+ # @return [Types::DescribeReservationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1060
+ #
1061
+ # * {Types::DescribeReservationResponse#reservation #reservation} => Types::Reservation
1062
+ #
1063
+ # @example Request syntax with placeholder values
1064
+ #
1065
+ # resp = client.describe_reservation({
1066
+ # reservation_arn: "__string", # required
1067
+ # })
1068
+ #
1069
+ # @example Response structure
1070
+ #
1071
+ # resp.reservation.currency_code #=> String
1072
+ # resp.reservation.duration #=> Integer
1073
+ # resp.reservation.duration_units #=> String, one of "MONTHS"
1074
+ # resp.reservation.end #=> String
1075
+ # resp.reservation.offering_arn #=> String
1076
+ # resp.reservation.offering_description #=> String
1077
+ # resp.reservation.price_per_unit #=> String
1078
+ # resp.reservation.price_units #=> String, one of "HOURLY"
1079
+ # resp.reservation.reservation_arn #=> String
1080
+ # resp.reservation.reservation_name #=> String
1081
+ # resp.reservation.reservation_state #=> String, one of "ACTIVE", "EXPIRED", "PROCESSING", "CANCELED"
1082
+ # resp.reservation.resource_specification.reserved_bitrate #=> Integer
1083
+ # resp.reservation.resource_specification.resource_type #=> String, one of "Mbps_Outbound_Bandwidth"
1084
+ # resp.reservation.start #=> String
1085
+ #
1086
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeReservation AWS API Documentation
1087
+ #
1088
+ # @overload describe_reservation(params = {})
1089
+ # @param [Hash] params ({})
1090
+ def describe_reservation(params = {}, options = {})
1091
+ req = build_request(:describe_reservation, params)
1092
+ req.send_request(options)
1093
+ end
1094
+
992
1095
  # Grants entitlements to an existing flow.
993
1096
  #
994
1097
  # @option params [required, Array<Types::GrantEntitlementRequest>] :entitlements
@@ -1009,10 +1112,10 @@ module Aws::MediaConnect
1009
1112
  # data_transfer_subscriber_fee_percent: 1,
1010
1113
  # description: "__string",
1011
1114
  # encryption: {
1012
- # algorithm: "aes128", # required, accepts aes128, aes192, aes256
1115
+ # algorithm: "aes128", # accepts aes128, aes192, aes256
1013
1116
  # constant_initialization_vector: "__string",
1014
1117
  # device_id: "__string",
1015
- # key_type: "speke", # accepts speke, static-key
1118
+ # key_type: "speke", # accepts speke, static-key, srt-password
1016
1119
  # region: "__string",
1017
1120
  # resource_id: "__string",
1018
1121
  # role_arn: "__string", # required
@@ -1035,7 +1138,7 @@ module Aws::MediaConnect
1035
1138
  # resp.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1036
1139
  # resp.entitlements[0].encryption.constant_initialization_vector #=> String
1037
1140
  # resp.entitlements[0].encryption.device_id #=> String
1038
- # resp.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
1141
+ # resp.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1039
1142
  # resp.entitlements[0].encryption.region #=> String
1040
1143
  # resp.entitlements[0].encryption.resource_id #=> String
1041
1144
  # resp.entitlements[0].encryption.role_arn #=> String
@@ -1136,6 +1239,102 @@ module Aws::MediaConnect
1136
1239
  req.send_request(options)
1137
1240
  end
1138
1241
 
1242
+ # Displays a list of all offerings that are available to this account in
1243
+ # the current AWS Region. If you have an active reservation (which means
1244
+ # you've purchased an offering that has already started and hasn't
1245
+ # expired yet), your account isn't eligible for other offerings.
1246
+ #
1247
+ # @option params [Integer] :max_results
1248
+ #
1249
+ # @option params [String] :next_token
1250
+ #
1251
+ # @return [Types::ListOfferingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1252
+ #
1253
+ # * {Types::ListOfferingsResponse#next_token #next_token} => String
1254
+ # * {Types::ListOfferingsResponse#offerings #offerings} => Array&lt;Types::Offering&gt;
1255
+ #
1256
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1257
+ #
1258
+ # @example Request syntax with placeholder values
1259
+ #
1260
+ # resp = client.list_offerings({
1261
+ # max_results: 1,
1262
+ # next_token: "__string",
1263
+ # })
1264
+ #
1265
+ # @example Response structure
1266
+ #
1267
+ # resp.next_token #=> String
1268
+ # resp.offerings #=> Array
1269
+ # resp.offerings[0].currency_code #=> String
1270
+ # resp.offerings[0].duration #=> Integer
1271
+ # resp.offerings[0].duration_units #=> String, one of "MONTHS"
1272
+ # resp.offerings[0].offering_arn #=> String
1273
+ # resp.offerings[0].offering_description #=> String
1274
+ # resp.offerings[0].price_per_unit #=> String
1275
+ # resp.offerings[0].price_units #=> String, one of "HOURLY"
1276
+ # resp.offerings[0].resource_specification.reserved_bitrate #=> Integer
1277
+ # resp.offerings[0].resource_specification.resource_type #=> String, one of "Mbps_Outbound_Bandwidth"
1278
+ #
1279
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListOfferings AWS API Documentation
1280
+ #
1281
+ # @overload list_offerings(params = {})
1282
+ # @param [Hash] params ({})
1283
+ def list_offerings(params = {}, options = {})
1284
+ req = build_request(:list_offerings, params)
1285
+ req.send_request(options)
1286
+ end
1287
+
1288
+ # Displays a list of all reservations that have been purchased by this
1289
+ # account in the current AWS Region. This list includes all reservations
1290
+ # in all states (such as active and expired).
1291
+ #
1292
+ # @option params [Integer] :max_results
1293
+ #
1294
+ # @option params [String] :next_token
1295
+ #
1296
+ # @return [Types::ListReservationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1297
+ #
1298
+ # * {Types::ListReservationsResponse#next_token #next_token} => String
1299
+ # * {Types::ListReservationsResponse#reservations #reservations} => Array&lt;Types::Reservation&gt;
1300
+ #
1301
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1302
+ #
1303
+ # @example Request syntax with placeholder values
1304
+ #
1305
+ # resp = client.list_reservations({
1306
+ # max_results: 1,
1307
+ # next_token: "__string",
1308
+ # })
1309
+ #
1310
+ # @example Response structure
1311
+ #
1312
+ # resp.next_token #=> String
1313
+ # resp.reservations #=> Array
1314
+ # resp.reservations[0].currency_code #=> String
1315
+ # resp.reservations[0].duration #=> Integer
1316
+ # resp.reservations[0].duration_units #=> String, one of "MONTHS"
1317
+ # resp.reservations[0].end #=> String
1318
+ # resp.reservations[0].offering_arn #=> String
1319
+ # resp.reservations[0].offering_description #=> String
1320
+ # resp.reservations[0].price_per_unit #=> String
1321
+ # resp.reservations[0].price_units #=> String, one of "HOURLY"
1322
+ # resp.reservations[0].reservation_arn #=> String
1323
+ # resp.reservations[0].reservation_name #=> String
1324
+ # resp.reservations[0].reservation_state #=> String, one of "ACTIVE", "EXPIRED", "PROCESSING", "CANCELED"
1325
+ # resp.reservations[0].resource_specification.reserved_bitrate #=> Integer
1326
+ # resp.reservations[0].resource_specification.resource_type #=> String, one of "Mbps_Outbound_Bandwidth"
1327
+ # resp.reservations[0].start #=> String
1328
+ #
1329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ListReservations AWS API Documentation
1330
+ #
1331
+ # @overload list_reservations(params = {})
1332
+ # @param [Hash] params ({})
1333
+ def list_reservations(params = {}, options = {})
1334
+ req = build_request(:list_reservations, params)
1335
+ req.send_request(options)
1336
+ end
1337
+
1139
1338
  # List all tags on an AWS Elemental MediaConnect resource
1140
1339
  #
1141
1340
  # @option params [required, String] :resource_arn
@@ -1164,6 +1363,61 @@ module Aws::MediaConnect
1164
1363
  req.send_request(options)
1165
1364
  end
1166
1365
 
1366
+ # Submits a request to purchase an offering. If you already have an
1367
+ # active reservation, you can't purchase another offering.
1368
+ #
1369
+ # @option params [required, String] :offering_arn
1370
+ #
1371
+ # @option params [required, String] :reservation_name
1372
+ # The name that you want to use for the reservation.
1373
+ #
1374
+ # @option params [required, String] :start
1375
+ # The date and time that you want the reservation to begin, in
1376
+ # Coordinated Universal Time (UTC). You can specify any date and time
1377
+ # between 12:00am on the first day of the current month to the current
1378
+ # time on today's date, inclusive. Specify the start in a 24-hour
1379
+ # notation. Use the following format: YYYY-MM-DDTHH:mm:SSZ, where T and
1380
+ # Z are literal characters. For example, to specify 11:30pm on March 5,
1381
+ # 2020, enter 2020-03-05T23:30:00Z.
1382
+ #
1383
+ # @return [Types::PurchaseOfferingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1384
+ #
1385
+ # * {Types::PurchaseOfferingResponse#reservation #reservation} => Types::Reservation
1386
+ #
1387
+ # @example Request syntax with placeholder values
1388
+ #
1389
+ # resp = client.purchase_offering({
1390
+ # offering_arn: "__string", # required
1391
+ # reservation_name: "__string", # required
1392
+ # start: "__string", # required
1393
+ # })
1394
+ #
1395
+ # @example Response structure
1396
+ #
1397
+ # resp.reservation.currency_code #=> String
1398
+ # resp.reservation.duration #=> Integer
1399
+ # resp.reservation.duration_units #=> String, one of "MONTHS"
1400
+ # resp.reservation.end #=> String
1401
+ # resp.reservation.offering_arn #=> String
1402
+ # resp.reservation.offering_description #=> String
1403
+ # resp.reservation.price_per_unit #=> String
1404
+ # resp.reservation.price_units #=> String, one of "HOURLY"
1405
+ # resp.reservation.reservation_arn #=> String
1406
+ # resp.reservation.reservation_name #=> String
1407
+ # resp.reservation.reservation_state #=> String, one of "ACTIVE", "EXPIRED", "PROCESSING", "CANCELED"
1408
+ # resp.reservation.resource_specification.reserved_bitrate #=> Integer
1409
+ # resp.reservation.resource_specification.resource_type #=> String, one of "Mbps_Outbound_Bandwidth"
1410
+ # resp.reservation.start #=> String
1411
+ #
1412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/PurchaseOffering AWS API Documentation
1413
+ #
1414
+ # @overload purchase_offering(params = {})
1415
+ # @param [Hash] params ({})
1416
+ def purchase_offering(params = {}, options = {})
1417
+ req = build_request(:purchase_offering, params)
1418
+ req.send_request(options)
1419
+ end
1420
+
1167
1421
  # Removes an output from an existing flow. This request can be made only
1168
1422
  # on an output that does not have an entitlement associated with it. If
1169
1423
  # the output has an entitlement, you must revoke the entitlement
@@ -1452,7 +1706,7 @@ module Aws::MediaConnect
1452
1706
  # resp.flow.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1453
1707
  # resp.flow.entitlements[0].encryption.constant_initialization_vector #=> String
1454
1708
  # resp.flow.entitlements[0].encryption.device_id #=> String
1455
- # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
1709
+ # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1456
1710
  # resp.flow.entitlements[0].encryption.region #=> String
1457
1711
  # resp.flow.entitlements[0].encryption.resource_id #=> String
1458
1712
  # resp.flow.entitlements[0].encryption.role_arn #=> String
@@ -1472,13 +1726,14 @@ module Aws::MediaConnect
1472
1726
  # resp.flow.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1473
1727
  # resp.flow.outputs[0].encryption.constant_initialization_vector #=> String
1474
1728
  # resp.flow.outputs[0].encryption.device_id #=> String
1475
- # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
1729
+ # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1476
1730
  # resp.flow.outputs[0].encryption.region #=> String
1477
1731
  # resp.flow.outputs[0].encryption.resource_id #=> String
1478
1732
  # resp.flow.outputs[0].encryption.role_arn #=> String
1479
1733
  # resp.flow.outputs[0].encryption.secret_arn #=> String
1480
1734
  # resp.flow.outputs[0].encryption.url #=> String
1481
1735
  # resp.flow.outputs[0].entitlement_arn #=> String
1736
+ # resp.flow.outputs[0].listener_address #=> String
1482
1737
  # resp.flow.outputs[0].media_live_input_arn #=> String
1483
1738
  # resp.flow.outputs[0].name #=> String
1484
1739
  # resp.flow.outputs[0].output_arn #=> String
@@ -1487,7 +1742,8 @@ module Aws::MediaConnect
1487
1742
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
1488
1743
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
1489
1744
  # resp.flow.outputs[0].transport.max_latency #=> Integer
1490
- # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1745
+ # resp.flow.outputs[0].transport.min_latency #=> Integer
1746
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1491
1747
  # resp.flow.outputs[0].transport.remote_id #=> String
1492
1748
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
1493
1749
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -1496,7 +1752,7 @@ module Aws::MediaConnect
1496
1752
  # resp.flow.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1497
1753
  # resp.flow.source.decryption.constant_initialization_vector #=> String
1498
1754
  # resp.flow.source.decryption.device_id #=> String
1499
- # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key"
1755
+ # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1500
1756
  # resp.flow.source.decryption.region #=> String
1501
1757
  # resp.flow.source.decryption.resource_id #=> String
1502
1758
  # resp.flow.source.decryption.role_arn #=> String
@@ -1512,7 +1768,8 @@ module Aws::MediaConnect
1512
1768
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
1513
1769
  # resp.flow.source.transport.max_bitrate #=> Integer
1514
1770
  # resp.flow.source.transport.max_latency #=> Integer
1515
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1771
+ # resp.flow.source.transport.min_latency #=> Integer
1772
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1516
1773
  # resp.flow.source.transport.remote_id #=> String
1517
1774
  # resp.flow.source.transport.smoothing_latency #=> Integer
1518
1775
  # resp.flow.source.transport.stream_id #=> String
@@ -1525,7 +1782,7 @@ module Aws::MediaConnect
1525
1782
  # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1526
1783
  # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
1527
1784
  # resp.flow.sources[0].decryption.device_id #=> String
1528
- # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
1785
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1529
1786
  # resp.flow.sources[0].decryption.region #=> String
1530
1787
  # resp.flow.sources[0].decryption.resource_id #=> String
1531
1788
  # resp.flow.sources[0].decryption.role_arn #=> String
@@ -1541,7 +1798,8 @@ module Aws::MediaConnect
1541
1798
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
1542
1799
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
1543
1800
  # resp.flow.sources[0].transport.max_latency #=> Integer
1544
- # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1801
+ # resp.flow.sources[0].transport.min_latency #=> Integer
1802
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1545
1803
  # resp.flow.sources[0].transport.remote_id #=> String
1546
1804
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
1547
1805
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -1607,7 +1865,7 @@ module Aws::MediaConnect
1607
1865
  # algorithm: "aes128", # accepts aes128, aes192, aes256
1608
1866
  # constant_initialization_vector: "__string",
1609
1867
  # device_id: "__string",
1610
- # key_type: "speke", # accepts speke, static-key
1868
+ # key_type: "speke", # accepts speke, static-key, srt-password
1611
1869
  # region: "__string",
1612
1870
  # resource_id: "__string",
1613
1871
  # role_arn: "__string",
@@ -1627,7 +1885,7 @@ module Aws::MediaConnect
1627
1885
  # resp.entitlement.encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1628
1886
  # resp.entitlement.encryption.constant_initialization_vector #=> String
1629
1887
  # resp.entitlement.encryption.device_id #=> String
1630
- # resp.entitlement.encryption.key_type #=> String, one of "speke", "static-key"
1888
+ # resp.entitlement.encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1631
1889
  # resp.entitlement.encryption.region #=> String
1632
1890
  # resp.entitlement.encryption.resource_id #=> String
1633
1891
  # resp.entitlement.encryption.role_arn #=> String
@@ -1672,6 +1930,14 @@ module Aws::MediaConnect
1672
1930
  # @option params [Integer] :max_latency
1673
1931
  # The maximum latency in milliseconds for Zixi-based streams.
1674
1932
  #
1933
+ # @option params [Integer] :min_latency
1934
+ # The minimum latency in milliseconds for SRT-based streams. In streams
1935
+ # that use the SRT protocol, this value that you set on your
1936
+ # MediaConnect source or output represents the minimal potential latency
1937
+ # of that connection. The latency of the stream is set to the highest
1938
+ # number between the sender’s minimum latency and the receiver’s minimum
1939
+ # latency.
1940
+ #
1675
1941
  # @option params [required, String] :output_arn
1676
1942
  #
1677
1943
  # @option params [Integer] :port
@@ -1709,7 +1975,7 @@ module Aws::MediaConnect
1709
1975
  # algorithm: "aes128", # accepts aes128, aes192, aes256
1710
1976
  # constant_initialization_vector: "__string",
1711
1977
  # device_id: "__string",
1712
- # key_type: "speke", # accepts speke, static-key
1978
+ # key_type: "speke", # accepts speke, static-key, srt-password
1713
1979
  # region: "__string",
1714
1980
  # resource_id: "__string",
1715
1981
  # role_arn: "__string",
@@ -1718,9 +1984,10 @@ module Aws::MediaConnect
1718
1984
  # },
1719
1985
  # flow_arn: "__string", # required
1720
1986
  # max_latency: 1,
1987
+ # min_latency: 1,
1721
1988
  # output_arn: "__string", # required
1722
1989
  # port: 1,
1723
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
1990
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
1724
1991
  # remote_id: "__string",
1725
1992
  # smoothing_latency: 1,
1726
1993
  # stream_id: "__string",
@@ -1738,13 +2005,14 @@ module Aws::MediaConnect
1738
2005
  # resp.output.encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1739
2006
  # resp.output.encryption.constant_initialization_vector #=> String
1740
2007
  # resp.output.encryption.device_id #=> String
1741
- # resp.output.encryption.key_type #=> String, one of "speke", "static-key"
2008
+ # resp.output.encryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1742
2009
  # resp.output.encryption.region #=> String
1743
2010
  # resp.output.encryption.resource_id #=> String
1744
2011
  # resp.output.encryption.role_arn #=> String
1745
2012
  # resp.output.encryption.secret_arn #=> String
1746
2013
  # resp.output.encryption.url #=> String
1747
2014
  # resp.output.entitlement_arn #=> String
2015
+ # resp.output.listener_address #=> String
1748
2016
  # resp.output.media_live_input_arn #=> String
1749
2017
  # resp.output.name #=> String
1750
2018
  # resp.output.output_arn #=> String
@@ -1753,7 +2021,8 @@ module Aws::MediaConnect
1753
2021
  # resp.output.transport.cidr_allow_list[0] #=> String
1754
2022
  # resp.output.transport.max_bitrate #=> Integer
1755
2023
  # resp.output.transport.max_latency #=> Integer
1756
- # resp.output.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
2024
+ # resp.output.transport.min_latency #=> Integer
2025
+ # resp.output.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1757
2026
  # resp.output.transport.remote_id #=> String
1758
2027
  # resp.output.transport.smoothing_latency #=> Integer
1759
2028
  # resp.output.transport.stream_id #=> String
@@ -1794,6 +2063,14 @@ module Aws::MediaConnect
1794
2063
  # The maximum latency in milliseconds. This parameter applies only to
1795
2064
  # RIST-based and Zixi-based streams.
1796
2065
  #
2066
+ # @option params [Integer] :min_latency
2067
+ # The minimum latency in milliseconds for SRT-based streams. In streams
2068
+ # that use the SRT protocol, this value that you set on your
2069
+ # MediaConnect source or output represents the minimal potential latency
2070
+ # of that connection. The latency of the stream is set to the highest
2071
+ # number between the sender’s minimum latency and the receiver’s minimum
2072
+ # latency.
2073
+ #
1797
2074
  # @option params [String] :protocol
1798
2075
  # The protocol that is used by the source.
1799
2076
  #
@@ -1823,7 +2100,7 @@ module Aws::MediaConnect
1823
2100
  # algorithm: "aes128", # accepts aes128, aes192, aes256
1824
2101
  # constant_initialization_vector: "__string",
1825
2102
  # device_id: "__string",
1826
- # key_type: "speke", # accepts speke, static-key
2103
+ # key_type: "speke", # accepts speke, static-key, srt-password
1827
2104
  # region: "__string",
1828
2105
  # resource_id: "__string",
1829
2106
  # role_arn: "__string",
@@ -1836,7 +2113,8 @@ module Aws::MediaConnect
1836
2113
  # ingest_port: 1,
1837
2114
  # max_bitrate: 1,
1838
2115
  # max_latency: 1,
1839
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
2116
+ # min_latency: 1,
2117
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
1840
2118
  # source_arn: "__string", # required
1841
2119
  # stream_id: "__string",
1842
2120
  # vpc_interface_name: "__string",
@@ -1850,7 +2128,7 @@ module Aws::MediaConnect
1850
2128
  # resp.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1851
2129
  # resp.source.decryption.constant_initialization_vector #=> String
1852
2130
  # resp.source.decryption.device_id #=> String
1853
- # resp.source.decryption.key_type #=> String, one of "speke", "static-key"
2131
+ # resp.source.decryption.key_type #=> String, one of "speke", "static-key", "srt-password"
1854
2132
  # resp.source.decryption.region #=> String
1855
2133
  # resp.source.decryption.resource_id #=> String
1856
2134
  # resp.source.decryption.role_arn #=> String
@@ -1866,7 +2144,8 @@ module Aws::MediaConnect
1866
2144
  # resp.source.transport.cidr_allow_list[0] #=> String
1867
2145
  # resp.source.transport.max_bitrate #=> Integer
1868
2146
  # resp.source.transport.max_latency #=> Integer
1869
- # resp.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
2147
+ # resp.source.transport.min_latency #=> Integer
2148
+ # resp.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1870
2149
  # resp.source.transport.remote_id #=> String
1871
2150
  # resp.source.transport.smoothing_latency #=> Integer
1872
2151
  # resp.source.transport.stream_id #=> String
@@ -1895,14 +2174,131 @@ module Aws::MediaConnect
1895
2174
  params: params,
1896
2175
  config: config)
1897
2176
  context[:gem_name] = 'aws-sdk-mediaconnect'
1898
- context[:gem_version] = '1.27.0'
2177
+ context[:gem_version] = '1.32.0'
1899
2178
  Seahorse::Client::Request.new(handlers, context)
1900
2179
  end
1901
2180
 
2181
+ # Polls an API operation until a resource enters a desired state.
2182
+ #
2183
+ # ## Basic Usage
2184
+ #
2185
+ # A waiter will call an API operation until:
2186
+ #
2187
+ # * It is successful
2188
+ # * It enters a terminal state
2189
+ # * It makes the maximum number of attempts
2190
+ #
2191
+ # In between attempts, the waiter will sleep.
2192
+ #
2193
+ # # polls in a loop, sleeping between attempts
2194
+ # client.wait_until(waiter_name, params)
2195
+ #
2196
+ # ## Configuration
2197
+ #
2198
+ # You can configure the maximum number of polling attempts, and the
2199
+ # delay (in seconds) between each polling attempt. You can pass
2200
+ # configuration as the final arguments hash.
2201
+ #
2202
+ # # poll for ~25 seconds
2203
+ # client.wait_until(waiter_name, params, {
2204
+ # max_attempts: 5,
2205
+ # delay: 5,
2206
+ # })
2207
+ #
2208
+ # ## Callbacks
2209
+ #
2210
+ # You can be notified before each polling attempt and before each
2211
+ # delay. If you throw `:success` or `:failure` from these callbacks,
2212
+ # it will terminate the waiter.
2213
+ #
2214
+ # started_at = Time.now
2215
+ # client.wait_until(waiter_name, params, {
2216
+ #
2217
+ # # disable max attempts
2218
+ # max_attempts: nil,
2219
+ #
2220
+ # # poll for 1 hour, instead of a number of attempts
2221
+ # before_wait: -> (attempts, response) do
2222
+ # throw :failure if Time.now - started_at > 3600
2223
+ # end
2224
+ # })
2225
+ #
2226
+ # ## Handling Errors
2227
+ #
2228
+ # When a waiter is unsuccessful, it will raise an error.
2229
+ # All of the failure errors extend from
2230
+ # {Aws::Waiters::Errors::WaiterFailed}.
2231
+ #
2232
+ # begin
2233
+ # client.wait_until(...)
2234
+ # rescue Aws::Waiters::Errors::WaiterFailed
2235
+ # # resource did not enter the desired state in time
2236
+ # end
2237
+ #
2238
+ # ## Valid Waiters
2239
+ #
2240
+ # The following table lists the valid waiter names, the operations they call,
2241
+ # and the default `:delay` and `:max_attempts` values.
2242
+ #
2243
+ # | waiter_name | params | :delay | :max_attempts |
2244
+ # | ------------ | ---------------------- | -------- | ------------- |
2245
+ # | flow_active | {Client#describe_flow} | 3 | 40 |
2246
+ # | flow_deleted | {Client#describe_flow} | 3 | 40 |
2247
+ # | flow_standby | {Client#describe_flow} | 3 | 40 |
2248
+ #
2249
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
2250
+ # because the waiter has entered a state that it will not transition
2251
+ # out of, preventing success.
2252
+ #
2253
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
2254
+ # maximum number of attempts have been made, and the waiter is not
2255
+ # yet successful.
2256
+ #
2257
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
2258
+ # while polling for a resource that is not expected.
2259
+ #
2260
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
2261
+ # for an unknown state.
2262
+ #
2263
+ # @return [Boolean] Returns `true` if the waiter was successful.
2264
+ # @param [Symbol] waiter_name
2265
+ # @param [Hash] params ({})
2266
+ # @param [Hash] options ({})
2267
+ # @option options [Integer] :max_attempts
2268
+ # @option options [Integer] :delay
2269
+ # @option options [Proc] :before_attempt
2270
+ # @option options [Proc] :before_wait
2271
+ def wait_until(waiter_name, params = {}, options = {})
2272
+ w = waiter(waiter_name, options)
2273
+ yield(w.waiter) if block_given? # deprecated
2274
+ w.wait(params)
2275
+ end
2276
+
1902
2277
  # @api private
1903
2278
  # @deprecated
1904
2279
  def waiter_names
1905
- []
2280
+ waiters.keys
2281
+ end
2282
+
2283
+ private
2284
+
2285
+ # @param [Symbol] waiter_name
2286
+ # @param [Hash] options ({})
2287
+ def waiter(waiter_name, options = {})
2288
+ waiter_class = waiters[waiter_name]
2289
+ if waiter_class
2290
+ waiter_class.new(options.merge(client: self))
2291
+ else
2292
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
2293
+ end
2294
+ end
2295
+
2296
+ def waiters
2297
+ {
2298
+ flow_active: Waiters::FlowActive,
2299
+ flow_deleted: Waiters::FlowDeleted,
2300
+ flow_standby: Waiters::FlowStandby
2301
+ }
1906
2302
  end
1907
2303
 
1908
2304
  class << self