aws-sdk-mediaconnect 1.31.0 → 1.35.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: 66869f7f5cfe2a8d84644b261aff1cd6806c75111dedd4bc4ceb0d019921da92
4
- data.tar.gz: 2c47786961f4c0006b89870326d7e1833c27ecea35d4b1e87801102612248958
3
+ metadata.gz: 894a1b66301b6a4d7ed9bdffe6227898fbcc459b3ac17b4b93a1023d66e4a914
4
+ data.tar.gz: 9484e653dfbdc46fba108f27b043ee5036a6126dc955294c68bd2cd6ec88fad6
5
5
  SHA512:
6
- metadata.gz: 8f2d0b4c1120c52f839600a63d1f5b1bf212bf5dba1db2f337cd93b441ee2b1b200a8dd5aa1fc5dafa111b1c5742d1ee6971e3828719afaee3e37f975581dc40
7
- data.tar.gz: 513f3c9b7deb9e36cf7d5795652b8328057f3bbdf5f5c0534a36d0305a91240f658e7dfbd6cf15435301b59676cd79180d277307da301e33d292959e074239d2
6
+ metadata.gz: e3f1144fb42ee789b7bbec128731ed394025507fe030840b83bcb47f4fe65cc678e3a7f02a99c806efc46314a6dfea3d688e691a29b4d0bb4bcee210b7692063
7
+ data.tar.gz: 1891fff5c418a07c4f764fced94b10238b9750fc3f05321feb2506a863bb3145f3fec5420a728e93bcaefeb7526aef3298c01f0d61ddbc3aac612160879bae96
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.35.0 (2021-07-28)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.34.0 (2021-06-11)
10
+ ------------------
11
+
12
+ * 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.
13
+
14
+ 1.33.0 (2021-05-17)
15
+ ------------------
16
+
17
+ * 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.
18
+
19
+ 1.32.0 (2021-04-14)
20
+ ------------------
21
+
22
+ * 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.
23
+
4
24
  1.31.0 (2021-03-16)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.31.0
1
+ 1.35.0
@@ -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.31.0'
52
+ GEM_VERSION = '1.35.0'
52
53
 
53
54
  end
@@ -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
  #
@@ -361,10 +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
+ # ],
364
454
  # min_latency: 1,
365
455
  # name: "__string",
366
456
  # port: 1,
367
- # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
457
+ # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
368
458
  # remote_id: "__string",
369
459
  # smoothing_latency: 1,
370
460
  # stream_id: "__string",
@@ -392,7 +482,18 @@ module Aws::MediaConnect
392
482
  # resp.outputs[0].encryption.secret_arn #=> String
393
483
  # resp.outputs[0].encryption.url #=> String
394
484
  # resp.outputs[0].entitlement_arn #=> String
485
+ # resp.outputs[0].listener_address #=> String
395
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
396
497
  # resp.outputs[0].name #=> String
397
498
  # resp.outputs[0].output_arn #=> String
398
499
  # resp.outputs[0].port #=> Integer
@@ -400,8 +501,9 @@ module Aws::MediaConnect
400
501
  # resp.outputs[0].transport.cidr_allow_list[0] #=> String
401
502
  # resp.outputs[0].transport.max_bitrate #=> Integer
402
503
  # resp.outputs[0].transport.max_latency #=> Integer
504
+ # resp.outputs[0].transport.max_sync_buffer #=> Integer
403
505
  # resp.outputs[0].transport.min_latency #=> Integer
404
- # resp.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
506
+ # resp.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
405
507
  # resp.outputs[0].transport.remote_id #=> String
406
508
  # resp.outputs[0].transport.smoothing_latency #=> Integer
407
509
  # resp.outputs[0].transport.stream_id #=> String
@@ -450,9 +552,24 @@ module Aws::MediaConnect
450
552
  # ingest_port: 1,
451
553
  # max_bitrate: 1,
452
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
+ # ],
453
570
  # min_latency: 1,
454
571
  # name: "__string",
455
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
572
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
456
573
  # stream_id: "__string",
457
574
  # vpc_interface_name: "__string",
458
575
  # whitelist_cidr: "__string",
@@ -478,14 +595,22 @@ module Aws::MediaConnect
478
595
  # resp.sources[0].entitlement_arn #=> String
479
596
  # resp.sources[0].ingest_ip #=> String
480
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
481
605
  # resp.sources[0].name #=> String
482
606
  # resp.sources[0].source_arn #=> String
483
607
  # resp.sources[0].transport.cidr_allow_list #=> Array
484
608
  # resp.sources[0].transport.cidr_allow_list[0] #=> String
485
609
  # resp.sources[0].transport.max_bitrate #=> Integer
486
610
  # resp.sources[0].transport.max_latency #=> Integer
611
+ # resp.sources[0].transport.max_sync_buffer #=> Integer
487
612
  # resp.sources[0].transport.min_latency #=> Integer
488
- # resp.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
613
+ # resp.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
489
614
  # resp.sources[0].transport.remote_id #=> String
490
615
  # resp.sources[0].transport.smoothing_latency #=> Integer
491
616
  # resp.sources[0].transport.stream_id #=> String
@@ -520,6 +645,7 @@ module Aws::MediaConnect
520
645
  # vpc_interfaces: [ # required
521
646
  # {
522
647
  # name: "__string", # required
648
+ # network_interface_type: "ena", # accepts ena, efa
523
649
  # role_arn: "__string", # required
524
650
  # security_group_ids: ["__string"], # required
525
651
  # subnet_id: "__string", # required
@@ -534,6 +660,7 @@ module Aws::MediaConnect
534
660
  # resp.vpc_interfaces[0].name #=> String
535
661
  # resp.vpc_interfaces[0].network_interface_ids #=> Array
536
662
  # resp.vpc_interfaces[0].network_interface_ids[0] #=> String
663
+ # resp.vpc_interfaces[0].network_interface_type #=> String, one of "ena", "efa"
537
664
  # resp.vpc_interfaces[0].role_arn #=> String
538
665
  # resp.vpc_interfaces[0].security_group_ids #=> Array
539
666
  # resp.vpc_interfaces[0].security_group_ids[0] #=> String
@@ -559,6 +686,10 @@ module Aws::MediaConnect
559
686
  # @option params [Array<Types::GrantEntitlementRequest>] :entitlements
560
687
  # The entitlements that you want to grant on a flow.
561
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
+ #
562
693
  # @option params [required, String] :name
563
694
  # The name of the flow.
564
695
  #
@@ -604,6 +735,28 @@ module Aws::MediaConnect
604
735
  # subscribers: ["__string"], # required
605
736
  # },
606
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
+ # ],
607
760
  # name: "__string", # required
608
761
  # outputs: [
609
762
  # {
@@ -622,10 +775,29 @@ module Aws::MediaConnect
622
775
  # url: "__string",
623
776
  # },
624
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
+ # ],
625
797
  # min_latency: 1,
626
798
  # name: "__string",
627
799
  # port: 1,
628
- # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
800
+ # protocol: "zixi-push", # required, accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
629
801
  # remote_id: "__string",
630
802
  # smoothing_latency: 1,
631
803
  # stream_id: "__string",
@@ -651,15 +823,34 @@ module Aws::MediaConnect
651
823
  # ingest_port: 1,
652
824
  # max_bitrate: 1,
653
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
+ # ],
654
841
  # min_latency: 1,
655
842
  # name: "__string",
656
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
843
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
657
844
  # stream_id: "__string",
658
845
  # vpc_interface_name: "__string",
659
846
  # whitelist_cidr: "__string",
660
847
  # },
661
848
  # source_failover_config: {
849
+ # failover_mode: "MERGE", # accepts MERGE, FAILOVER
662
850
  # recovery_window: 1,
851
+ # source_priority: {
852
+ # primary_source: "__string",
853
+ # },
663
854
  # state: "ENABLED", # accepts ENABLED, DISABLED
664
855
  # },
665
856
  # sources: [
@@ -680,9 +871,24 @@ module Aws::MediaConnect
680
871
  # ingest_port: 1,
681
872
  # max_bitrate: 1,
682
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
+ # ],
683
889
  # min_latency: 1,
684
890
  # name: "__string",
685
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
891
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
686
892
  # stream_id: "__string",
687
893
  # vpc_interface_name: "__string",
688
894
  # whitelist_cidr: "__string",
@@ -691,6 +897,7 @@ module Aws::MediaConnect
691
897
  # vpc_interfaces: [
692
898
  # {
693
899
  # name: "__string", # required
900
+ # network_interface_type: "ena", # accepts ena, efa
694
901
  # role_arn: "__string", # required
695
902
  # security_group_ids: ["__string"], # required
696
903
  # subnet_id: "__string", # required
@@ -721,6 +928,22 @@ module Aws::MediaConnect
721
928
  # resp.flow.entitlements[0].subscribers #=> Array
722
929
  # resp.flow.entitlements[0].subscribers[0] #=> String
723
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
724
947
  # resp.flow.name #=> String
725
948
  # resp.flow.outputs #=> Array
726
949
  # resp.flow.outputs[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -736,7 +959,18 @@ module Aws::MediaConnect
736
959
  # resp.flow.outputs[0].encryption.secret_arn #=> String
737
960
  # resp.flow.outputs[0].encryption.url #=> String
738
961
  # resp.flow.outputs[0].entitlement_arn #=> String
962
+ # resp.flow.outputs[0].listener_address #=> String
739
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
740
974
  # resp.flow.outputs[0].name #=> String
741
975
  # resp.flow.outputs[0].output_arn #=> String
742
976
  # resp.flow.outputs[0].port #=> Integer
@@ -744,8 +978,9 @@ module Aws::MediaConnect
744
978
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
745
979
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
746
980
  # resp.flow.outputs[0].transport.max_latency #=> Integer
981
+ # resp.flow.outputs[0].transport.max_sync_buffer #=> Integer
747
982
  # resp.flow.outputs[0].transport.min_latency #=> Integer
748
- # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
983
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
749
984
  # resp.flow.outputs[0].transport.remote_id #=> String
750
985
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
751
986
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -764,20 +999,30 @@ module Aws::MediaConnect
764
999
  # resp.flow.source.entitlement_arn #=> String
765
1000
  # resp.flow.source.ingest_ip #=> String
766
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
767
1009
  # resp.flow.source.name #=> String
768
1010
  # resp.flow.source.source_arn #=> String
769
1011
  # resp.flow.source.transport.cidr_allow_list #=> Array
770
1012
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
771
1013
  # resp.flow.source.transport.max_bitrate #=> Integer
772
1014
  # resp.flow.source.transport.max_latency #=> Integer
1015
+ # resp.flow.source.transport.max_sync_buffer #=> Integer
773
1016
  # resp.flow.source.transport.min_latency #=> Integer
774
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1017
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
775
1018
  # resp.flow.source.transport.remote_id #=> String
776
1019
  # resp.flow.source.transport.smoothing_latency #=> Integer
777
1020
  # resp.flow.source.transport.stream_id #=> String
778
1021
  # resp.flow.source.vpc_interface_name #=> String
779
1022
  # resp.flow.source.whitelist_cidr #=> String
1023
+ # resp.flow.source_failover_config.failover_mode #=> String, one of "MERGE", "FAILOVER"
780
1024
  # resp.flow.source_failover_config.recovery_window #=> Integer
1025
+ # resp.flow.source_failover_config.source_priority.primary_source #=> String
781
1026
  # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
782
1027
  # resp.flow.sources #=> Array
783
1028
  # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -794,14 +1039,22 @@ module Aws::MediaConnect
794
1039
  # resp.flow.sources[0].entitlement_arn #=> String
795
1040
  # resp.flow.sources[0].ingest_ip #=> String
796
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
797
1049
  # resp.flow.sources[0].name #=> String
798
1050
  # resp.flow.sources[0].source_arn #=> String
799
1051
  # resp.flow.sources[0].transport.cidr_allow_list #=> Array
800
1052
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
801
1053
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
802
1054
  # resp.flow.sources[0].transport.max_latency #=> Integer
1055
+ # resp.flow.sources[0].transport.max_sync_buffer #=> Integer
803
1056
  # resp.flow.sources[0].transport.min_latency #=> Integer
804
- # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1057
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
805
1058
  # resp.flow.sources[0].transport.remote_id #=> String
806
1059
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
807
1060
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -812,6 +1065,7 @@ module Aws::MediaConnect
812
1065
  # resp.flow.vpc_interfaces[0].name #=> String
813
1066
  # resp.flow.vpc_interfaces[0].network_interface_ids #=> Array
814
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"
815
1069
  # resp.flow.vpc_interfaces[0].role_arn #=> String
816
1070
  # resp.flow.vpc_interfaces[0].security_group_ids #=> Array
817
1071
  # resp.flow.vpc_interfaces[0].security_group_ids[0] #=> String
@@ -895,6 +1149,22 @@ module Aws::MediaConnect
895
1149
  # resp.flow.entitlements[0].subscribers #=> Array
896
1150
  # resp.flow.entitlements[0].subscribers[0] #=> String
897
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
898
1168
  # resp.flow.name #=> String
899
1169
  # resp.flow.outputs #=> Array
900
1170
  # resp.flow.outputs[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -910,7 +1180,18 @@ module Aws::MediaConnect
910
1180
  # resp.flow.outputs[0].encryption.secret_arn #=> String
911
1181
  # resp.flow.outputs[0].encryption.url #=> String
912
1182
  # resp.flow.outputs[0].entitlement_arn #=> String
1183
+ # resp.flow.outputs[0].listener_address #=> String
913
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
914
1195
  # resp.flow.outputs[0].name #=> String
915
1196
  # resp.flow.outputs[0].output_arn #=> String
916
1197
  # resp.flow.outputs[0].port #=> Integer
@@ -918,8 +1199,9 @@ module Aws::MediaConnect
918
1199
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
919
1200
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
920
1201
  # resp.flow.outputs[0].transport.max_latency #=> Integer
1202
+ # resp.flow.outputs[0].transport.max_sync_buffer #=> Integer
921
1203
  # resp.flow.outputs[0].transport.min_latency #=> Integer
922
- # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1204
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
923
1205
  # resp.flow.outputs[0].transport.remote_id #=> String
924
1206
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
925
1207
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -938,20 +1220,30 @@ module Aws::MediaConnect
938
1220
  # resp.flow.source.entitlement_arn #=> String
939
1221
  # resp.flow.source.ingest_ip #=> String
940
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
941
1230
  # resp.flow.source.name #=> String
942
1231
  # resp.flow.source.source_arn #=> String
943
1232
  # resp.flow.source.transport.cidr_allow_list #=> Array
944
1233
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
945
1234
  # resp.flow.source.transport.max_bitrate #=> Integer
946
1235
  # resp.flow.source.transport.max_latency #=> Integer
1236
+ # resp.flow.source.transport.max_sync_buffer #=> Integer
947
1237
  # resp.flow.source.transport.min_latency #=> Integer
948
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1238
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
949
1239
  # resp.flow.source.transport.remote_id #=> String
950
1240
  # resp.flow.source.transport.smoothing_latency #=> Integer
951
1241
  # resp.flow.source.transport.stream_id #=> String
952
1242
  # resp.flow.source.vpc_interface_name #=> String
953
1243
  # resp.flow.source.whitelist_cidr #=> String
1244
+ # resp.flow.source_failover_config.failover_mode #=> String, one of "MERGE", "FAILOVER"
954
1245
  # resp.flow.source_failover_config.recovery_window #=> Integer
1246
+ # resp.flow.source_failover_config.source_priority.primary_source #=> String
955
1247
  # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
956
1248
  # resp.flow.sources #=> Array
957
1249
  # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -968,14 +1260,22 @@ module Aws::MediaConnect
968
1260
  # resp.flow.sources[0].entitlement_arn #=> String
969
1261
  # resp.flow.sources[0].ingest_ip #=> String
970
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
971
1270
  # resp.flow.sources[0].name #=> String
972
1271
  # resp.flow.sources[0].source_arn #=> String
973
1272
  # resp.flow.sources[0].transport.cidr_allow_list #=> Array
974
1273
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
975
1274
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
976
1275
  # resp.flow.sources[0].transport.max_latency #=> Integer
1276
+ # resp.flow.sources[0].transport.max_sync_buffer #=> Integer
977
1277
  # resp.flow.sources[0].transport.min_latency #=> Integer
978
- # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
1278
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
979
1279
  # resp.flow.sources[0].transport.remote_id #=> String
980
1280
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
981
1281
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -986,6 +1286,7 @@ module Aws::MediaConnect
986
1286
  # resp.flow.vpc_interfaces[0].name #=> String
987
1287
  # resp.flow.vpc_interfaces[0].network_interface_ids #=> Array
988
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"
989
1290
  # resp.flow.vpc_interfaces[0].role_arn #=> String
990
1291
  # resp.flow.vpc_interfaces[0].security_group_ids #=> Array
991
1292
  # resp.flow.vpc_interfaces[0].security_group_ids[0] #=> String
@@ -993,6 +1294,13 @@ module Aws::MediaConnect
993
1294
  # resp.messages.errors #=> Array
994
1295
  # resp.messages.errors[0] #=> String
995
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
+ #
996
1304
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/DescribeFlow AWS API Documentation
997
1305
  #
998
1306
  # @overload describe_flow(params = {})
@@ -1408,6 +1716,39 @@ module Aws::MediaConnect
1408
1716
  req.send_request(options)
1409
1717
  end
1410
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
+
1411
1752
  # Removes an output from an existing flow. This request can be made only
1412
1753
  # on an output that does not have an entitlement associated with it. If
1413
1754
  # the output has an entitlement, you must revoke the entitlement
@@ -1680,7 +2021,11 @@ module Aws::MediaConnect
1680
2021
  # resp = client.update_flow({
1681
2022
  # flow_arn: "__string", # required
1682
2023
  # source_failover_config: {
2024
+ # failover_mode: "MERGE", # accepts MERGE, FAILOVER
1683
2025
  # recovery_window: 1,
2026
+ # source_priority: {
2027
+ # primary_source: "__string",
2028
+ # },
1684
2029
  # state: "ENABLED", # accepts ENABLED, DISABLED
1685
2030
  # },
1686
2031
  # })
@@ -1708,6 +2053,22 @@ module Aws::MediaConnect
1708
2053
  # resp.flow.entitlements[0].subscribers #=> Array
1709
2054
  # resp.flow.entitlements[0].subscribers[0] #=> String
1710
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
1711
2072
  # resp.flow.name #=> String
1712
2073
  # resp.flow.outputs #=> Array
1713
2074
  # resp.flow.outputs[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -1723,7 +2084,18 @@ module Aws::MediaConnect
1723
2084
  # resp.flow.outputs[0].encryption.secret_arn #=> String
1724
2085
  # resp.flow.outputs[0].encryption.url #=> String
1725
2086
  # resp.flow.outputs[0].entitlement_arn #=> String
2087
+ # resp.flow.outputs[0].listener_address #=> String
1726
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
1727
2099
  # resp.flow.outputs[0].name #=> String
1728
2100
  # resp.flow.outputs[0].output_arn #=> String
1729
2101
  # resp.flow.outputs[0].port #=> Integer
@@ -1731,8 +2103,9 @@ module Aws::MediaConnect
1731
2103
  # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
1732
2104
  # resp.flow.outputs[0].transport.max_bitrate #=> Integer
1733
2105
  # resp.flow.outputs[0].transport.max_latency #=> Integer
2106
+ # resp.flow.outputs[0].transport.max_sync_buffer #=> Integer
1734
2107
  # resp.flow.outputs[0].transport.min_latency #=> Integer
1735
- # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
2108
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
1736
2109
  # resp.flow.outputs[0].transport.remote_id #=> String
1737
2110
  # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
1738
2111
  # resp.flow.outputs[0].transport.stream_id #=> String
@@ -1751,20 +2124,30 @@ module Aws::MediaConnect
1751
2124
  # resp.flow.source.entitlement_arn #=> String
1752
2125
  # resp.flow.source.ingest_ip #=> String
1753
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
1754
2134
  # resp.flow.source.name #=> String
1755
2135
  # resp.flow.source.source_arn #=> String
1756
2136
  # resp.flow.source.transport.cidr_allow_list #=> Array
1757
2137
  # resp.flow.source.transport.cidr_allow_list[0] #=> String
1758
2138
  # resp.flow.source.transport.max_bitrate #=> Integer
1759
2139
  # resp.flow.source.transport.max_latency #=> Integer
2140
+ # resp.flow.source.transport.max_sync_buffer #=> Integer
1760
2141
  # resp.flow.source.transport.min_latency #=> Integer
1761
- # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
2142
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
1762
2143
  # resp.flow.source.transport.remote_id #=> String
1763
2144
  # resp.flow.source.transport.smoothing_latency #=> Integer
1764
2145
  # resp.flow.source.transport.stream_id #=> String
1765
2146
  # resp.flow.source.vpc_interface_name #=> String
1766
2147
  # resp.flow.source.whitelist_cidr #=> String
2148
+ # resp.flow.source_failover_config.failover_mode #=> String, one of "MERGE", "FAILOVER"
1767
2149
  # resp.flow.source_failover_config.recovery_window #=> Integer
2150
+ # resp.flow.source_failover_config.source_priority.primary_source #=> String
1768
2151
  # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
1769
2152
  # resp.flow.sources #=> Array
1770
2153
  # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
@@ -1781,14 +2164,22 @@ module Aws::MediaConnect
1781
2164
  # resp.flow.sources[0].entitlement_arn #=> String
1782
2165
  # resp.flow.sources[0].ingest_ip #=> String
1783
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
1784
2174
  # resp.flow.sources[0].name #=> String
1785
2175
  # resp.flow.sources[0].source_arn #=> String
1786
2176
  # resp.flow.sources[0].transport.cidr_allow_list #=> Array
1787
2177
  # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
1788
2178
  # resp.flow.sources[0].transport.max_bitrate #=> Integer
1789
2179
  # resp.flow.sources[0].transport.max_latency #=> Integer
2180
+ # resp.flow.sources[0].transport.max_sync_buffer #=> Integer
1790
2181
  # resp.flow.sources[0].transport.min_latency #=> Integer
1791
- # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
2182
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
1792
2183
  # resp.flow.sources[0].transport.remote_id #=> String
1793
2184
  # resp.flow.sources[0].transport.smoothing_latency #=> Integer
1794
2185
  # resp.flow.sources[0].transport.stream_id #=> String
@@ -1799,6 +2190,7 @@ module Aws::MediaConnect
1799
2190
  # resp.flow.vpc_interfaces[0].name #=> String
1800
2191
  # resp.flow.vpc_interfaces[0].network_interface_ids #=> Array
1801
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"
1802
2194
  # resp.flow.vpc_interfaces[0].role_arn #=> String
1803
2195
  # resp.flow.vpc_interfaces[0].security_group_ids #=> Array
1804
2196
  # resp.flow.vpc_interfaces[0].security_group_ids[0] #=> String
@@ -1896,6 +2288,85 @@ module Aws::MediaConnect
1896
2288
  req.send_request(options)
1897
2289
  end
1898
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
+
1899
2370
  # Updates an existing flow output.
1900
2371
  #
1901
2372
  # @option params [Array<String>] :cidr_allow_list
@@ -1919,6 +2390,10 @@ module Aws::MediaConnect
1919
2390
  # @option params [Integer] :max_latency
1920
2391
  # The maximum latency in milliseconds for Zixi-based streams.
1921
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
+ #
1922
2397
  # @option params [Integer] :min_latency
1923
2398
  # The minimum latency in milliseconds for SRT-based streams. In streams
1924
2399
  # that use the SRT protocol, this value that you set on your
@@ -1973,10 +2448,29 @@ module Aws::MediaConnect
1973
2448
  # },
1974
2449
  # flow_arn: "__string", # required
1975
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
+ # ],
1976
2470
  # min_latency: 1,
1977
2471
  # output_arn: "__string", # required
1978
2472
  # port: 1,
1979
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
2473
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
1980
2474
  # remote_id: "__string",
1981
2475
  # smoothing_latency: 1,
1982
2476
  # stream_id: "__string",
@@ -2001,7 +2495,18 @@ module Aws::MediaConnect
2001
2495
  # resp.output.encryption.secret_arn #=> String
2002
2496
  # resp.output.encryption.url #=> String
2003
2497
  # resp.output.entitlement_arn #=> String
2498
+ # resp.output.listener_address #=> String
2004
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
2005
2510
  # resp.output.name #=> String
2006
2511
  # resp.output.output_arn #=> String
2007
2512
  # resp.output.port #=> Integer
@@ -2009,8 +2514,9 @@ module Aws::MediaConnect
2009
2514
  # resp.output.transport.cidr_allow_list[0] #=> String
2010
2515
  # resp.output.transport.max_bitrate #=> Integer
2011
2516
  # resp.output.transport.max_latency #=> Integer
2517
+ # resp.output.transport.max_sync_buffer #=> Integer
2012
2518
  # resp.output.transport.min_latency #=> Integer
2013
- # resp.output.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
2519
+ # resp.output.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
2014
2520
  # resp.output.transport.remote_id #=> String
2015
2521
  # resp.output.transport.smoothing_latency #=> Integer
2016
2522
  # resp.output.transport.stream_id #=> String
@@ -2051,6 +2557,14 @@ module Aws::MediaConnect
2051
2557
  # The maximum latency in milliseconds. This parameter applies only to
2052
2558
  # RIST-based and Zixi-based streams.
2053
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
+ #
2054
2568
  # @option params [Integer] :min_latency
2055
2569
  # The minimum latency in milliseconds for SRT-based streams. In streams
2056
2570
  # that use the SRT protocol, this value that you set on your
@@ -2069,7 +2583,7 @@ module Aws::MediaConnect
2069
2583
  # applies only to Zixi-based streams.
2070
2584
  #
2071
2585
  # @option params [String] :vpc_interface_name
2072
- # The name of the VPC Interface to configure this Source with.
2586
+ # The name of the VPC interface to use for this source.
2073
2587
  #
2074
2588
  # @option params [String] :whitelist_cidr
2075
2589
  # The range of IP addresses that should be allowed to contribute content
@@ -2101,8 +2615,23 @@ module Aws::MediaConnect
2101
2615
  # ingest_port: 1,
2102
2616
  # max_bitrate: 1,
2103
2617
  # max_latency: 1,
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
+ # ],
2104
2633
  # min_latency: 1,
2105
- # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, srt-listener
2634
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist, st2110-jpegxs, cdi, srt-listener
2106
2635
  # source_arn: "__string", # required
2107
2636
  # stream_id: "__string",
2108
2637
  # vpc_interface_name: "__string",
@@ -2126,14 +2655,22 @@ module Aws::MediaConnect
2126
2655
  # resp.source.entitlement_arn #=> String
2127
2656
  # resp.source.ingest_ip #=> String
2128
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
2129
2665
  # resp.source.name #=> String
2130
2666
  # resp.source.source_arn #=> String
2131
2667
  # resp.source.transport.cidr_allow_list #=> Array
2132
2668
  # resp.source.transport.cidr_allow_list[0] #=> String
2133
2669
  # resp.source.transport.max_bitrate #=> Integer
2134
2670
  # resp.source.transport.max_latency #=> Integer
2671
+ # resp.source.transport.max_sync_buffer #=> Integer
2135
2672
  # resp.source.transport.min_latency #=> Integer
2136
- # resp.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "srt-listener"
2673
+ # resp.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist", "st2110-jpegxs", "cdi", "srt-listener"
2137
2674
  # resp.source.transport.remote_id #=> String
2138
2675
  # resp.source.transport.smoothing_latency #=> Integer
2139
2676
  # resp.source.transport.stream_id #=> String
@@ -2162,14 +2699,131 @@ module Aws::MediaConnect
2162
2699
  params: params,
2163
2700
  config: config)
2164
2701
  context[:gem_name] = 'aws-sdk-mediaconnect'
2165
- context[:gem_version] = '1.31.0'
2702
+ context[:gem_version] = '1.35.0'
2166
2703
  Seahorse::Client::Request.new(handlers, context)
2167
2704
  end
2168
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
+
2169
2802
  # @api private
2170
2803
  # @deprecated
2171
2804
  def waiter_names
2172
- []
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
+ }
2173
2827
  end
2174
2828
 
2175
2829
  class << self