aws-sdk-mediaconnect 1.17.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f34fb24117bc9fde3777a557dee2b732f20fad0
4
- data.tar.gz: 160f1a187de21eda05c696f7aa80a863a99592f2
3
+ metadata.gz: e3cd0ad5691544ad6ee5802288e87f859139ed14
4
+ data.tar.gz: df6e9b2eece7838b329f462ec0a0bb371596b34d
5
5
  SHA512:
6
- metadata.gz: 1d078f85a4de1c1b8cd986bc7656ab30467af3bd3d0ecc27308040e0428982048fc2ccabe536dd41226194cd1f37d1d3f31e85867713448ad76f11fc56eaa620
7
- data.tar.gz: d6f36b9778e83ef00bc63235df878952ca1ff2ef917ebdc0c3b47cc62bf3dae0b622c1fa014561d8a9d727bd931260352664e5464f6b98b6e94b20beb011b282
6
+ metadata.gz: a8457f841516412f1b205b090af1754e858686472457af080ad5ea6029ac49ddd20b473899d0b7ce73683a308e3bd734078ce4453d6b20b398520a6c61c21312
7
+ data.tar.gz: 4672873f1de931aa8bb58d9678882bf365a40a23ae50dac865fd24f8b2975865b802d4bc9c90dee0d7c3c5fda82d5449f9f30fc2428e31622f623759b9d1ac3d
@@ -45,6 +45,6 @@ require_relative 'aws-sdk-mediaconnect/customizations'
45
45
  # @service
46
46
  module Aws::MediaConnect
47
47
 
48
- GEM_VERSION = '1.17.0'
48
+ GEM_VERSION = '1.18.0'
49
49
 
50
50
  end
@@ -32,11 +32,11 @@ Aws::Plugins::GlobalConfiguration.add_identifier(:mediaconnect)
32
32
  module Aws::MediaConnect
33
33
  # An API client for MediaConnect. To construct a client, you need to configure a `:region` and `:credentials`.
34
34
  #
35
- # client = Aws::MediaConnect::Client.new(
36
- # region: region_name,
37
- # credentials: credentials,
38
- # # ...
39
- # )
35
+ # client = Aws::MediaConnect::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
40
  #
41
41
  # For details on configuring region and credentials see
42
42
  # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
@@ -229,15 +229,19 @@ module Aws::MediaConnect
229
229
  #
230
230
  # @option options [String] :retry_mode ("legacy")
231
231
  # Specifies which retry algorithm to use. Values are:
232
- # * `legacy` - The pre-existing retry behavior. This is default value if
233
- # no retry mode is provided.
234
- # * `standard` - A standardized set of retry rules across the AWS SDKs.
235
- # This includes support for retry quotas, which limit the number of
236
- # unsuccessful retries a client can make.
237
- # * `adaptive` - An experimental retry mode that includes all the
238
- # functionality of `standard` mode along with automatic client side
239
- # throttling. This is a provisional mode that may change behavior
240
- # in the future.
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
241
245
  #
242
246
  # @option options [String] :secret_access_key
243
247
  #
@@ -305,7 +309,7 @@ module Aws::MediaConnect
305
309
 
306
310
  # @!group API Operations
307
311
 
308
- # Adds outputs to an existing flow. You can create up to 20 outputs per
312
+ # Adds outputs to an existing flow. You can create up to 50 outputs per
309
313
  # flow.
310
314
  #
311
315
  # @option params [required, String] :flow_arn
@@ -388,8 +392,89 @@ module Aws::MediaConnect
388
392
  req.send_request(options)
389
393
  end
390
394
 
395
+ # Adds Sources to flow
396
+ #
397
+ # @option params [required, String] :flow_arn
398
+ #
399
+ # @option params [required, Array<Types::SetSourceRequest>] :sources
400
+ # A list of sources that you want to add.
401
+ #
402
+ # @return [Types::AddFlowSourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
403
+ #
404
+ # * {Types::AddFlowSourcesResponse#flow_arn #flow_arn} => String
405
+ # * {Types::AddFlowSourcesResponse#sources #sources} => Array&lt;Types::Source&gt;
406
+ #
407
+ # @example Request syntax with placeholder values
408
+ #
409
+ # resp = client.add_flow_sources({
410
+ # flow_arn: "__string", # required
411
+ # sources: [ # required
412
+ # {
413
+ # decryption: {
414
+ # algorithm: "aes128", # required, accepts aes128, aes192, aes256
415
+ # constant_initialization_vector: "__string",
416
+ # device_id: "__string",
417
+ # key_type: "speke", # accepts speke, static-key
418
+ # region: "__string",
419
+ # resource_id: "__string",
420
+ # role_arn: "__string", # required
421
+ # secret_arn: "__string",
422
+ # url: "__string",
423
+ # },
424
+ # description: "__string",
425
+ # entitlement_arn: "__string",
426
+ # ingest_port: 1,
427
+ # max_bitrate: 1,
428
+ # max_latency: 1,
429
+ # name: "__string",
430
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
431
+ # stream_id: "__string",
432
+ # whitelist_cidr: "__string",
433
+ # },
434
+ # ],
435
+ # })
436
+ #
437
+ # @example Response structure
438
+ #
439
+ # resp.flow_arn #=> String
440
+ # resp.sources #=> Array
441
+ # resp.sources[0].data_transfer_subscriber_fee_percent #=> Integer
442
+ # resp.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
443
+ # resp.sources[0].decryption.constant_initialization_vector #=> String
444
+ # resp.sources[0].decryption.device_id #=> String
445
+ # resp.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
446
+ # resp.sources[0].decryption.region #=> String
447
+ # resp.sources[0].decryption.resource_id #=> String
448
+ # resp.sources[0].decryption.role_arn #=> String
449
+ # resp.sources[0].decryption.secret_arn #=> String
450
+ # resp.sources[0].decryption.url #=> String
451
+ # resp.sources[0].description #=> String
452
+ # resp.sources[0].entitlement_arn #=> String
453
+ # resp.sources[0].ingest_ip #=> String
454
+ # resp.sources[0].ingest_port #=> Integer
455
+ # resp.sources[0].name #=> String
456
+ # resp.sources[0].source_arn #=> String
457
+ # resp.sources[0].transport.cidr_allow_list #=> Array
458
+ # resp.sources[0].transport.cidr_allow_list[0] #=> String
459
+ # resp.sources[0].transport.max_bitrate #=> Integer
460
+ # resp.sources[0].transport.max_latency #=> Integer
461
+ # resp.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
462
+ # resp.sources[0].transport.remote_id #=> String
463
+ # resp.sources[0].transport.smoothing_latency #=> Integer
464
+ # resp.sources[0].transport.stream_id #=> String
465
+ # resp.sources[0].whitelist_cidr #=> String
466
+ #
467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowSources AWS API Documentation
468
+ #
469
+ # @overload add_flow_sources(params = {})
470
+ # @param [Hash] params ({})
471
+ def add_flow_sources(params = {}, options = {})
472
+ req = build_request(:add_flow_sources, params)
473
+ req.send_request(options)
474
+ end
475
+
391
476
  # Creates a new flow. The request must include one source. The request
392
- # optionally can include outputs (up to 20) and entitlements (up to 50).
477
+ # optionally can include outputs (up to 50) and entitlements (up to 50).
393
478
  #
394
479
  # @option params [String] :availability_zone
395
480
  # The Availability Zone that you want to create the flow in. These
@@ -405,9 +490,14 @@ module Aws::MediaConnect
405
490
  # @option params [Array<Types::AddOutputRequest>] :outputs
406
491
  # The outputs that you want to add to this flow.
407
492
  #
408
- # @option params [required, Types::SetSourceRequest] :source
493
+ # @option params [Types::SetSourceRequest] :source
409
494
  # The settings for the source of the flow.
410
495
  #
496
+ # @option params [Types::FailoverConfig] :source_failover_config
497
+ # The settings for source failover
498
+ #
499
+ # @option params [Array<Types::SetSourceRequest>] :sources
500
+ #
411
501
  # @return [Types::CreateFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
412
502
  #
413
503
  # * {Types::CreateFlowResponse#flow #flow} => Types::Flow
@@ -461,7 +551,7 @@ module Aws::MediaConnect
461
551
  # stream_id: "__string",
462
552
  # },
463
553
  # ],
464
- # source: { # required
554
+ # source: {
465
555
  # decryption: {
466
556
  # algorithm: "aes128", # required, accepts aes128, aes192, aes256
467
557
  # constant_initialization_vector: "__string",
@@ -483,6 +573,34 @@ module Aws::MediaConnect
483
573
  # stream_id: "__string",
484
574
  # whitelist_cidr: "__string",
485
575
  # },
576
+ # source_failover_config: {
577
+ # recovery_window: 1,
578
+ # state: "ENABLED", # accepts ENABLED, DISABLED
579
+ # },
580
+ # sources: [
581
+ # {
582
+ # decryption: {
583
+ # algorithm: "aes128", # required, accepts aes128, aes192, aes256
584
+ # constant_initialization_vector: "__string",
585
+ # device_id: "__string",
586
+ # key_type: "speke", # accepts speke, static-key
587
+ # region: "__string",
588
+ # resource_id: "__string",
589
+ # role_arn: "__string", # required
590
+ # secret_arn: "__string",
591
+ # url: "__string",
592
+ # },
593
+ # description: "__string",
594
+ # entitlement_arn: "__string",
595
+ # ingest_port: 1,
596
+ # max_bitrate: 1,
597
+ # max_latency: 1,
598
+ # name: "__string",
599
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
600
+ # stream_id: "__string",
601
+ # whitelist_cidr: "__string",
602
+ # },
603
+ # ],
486
604
  # })
487
605
  #
488
606
  # @example Response structure
@@ -559,6 +677,34 @@ module Aws::MediaConnect
559
677
  # resp.flow.source.transport.smoothing_latency #=> Integer
560
678
  # resp.flow.source.transport.stream_id #=> String
561
679
  # resp.flow.source.whitelist_cidr #=> String
680
+ # resp.flow.source_failover_config.recovery_window #=> Integer
681
+ # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
682
+ # resp.flow.sources #=> Array
683
+ # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
684
+ # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
685
+ # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
686
+ # resp.flow.sources[0].decryption.device_id #=> String
687
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
688
+ # resp.flow.sources[0].decryption.region #=> String
689
+ # resp.flow.sources[0].decryption.resource_id #=> String
690
+ # resp.flow.sources[0].decryption.role_arn #=> String
691
+ # resp.flow.sources[0].decryption.secret_arn #=> String
692
+ # resp.flow.sources[0].decryption.url #=> String
693
+ # resp.flow.sources[0].description #=> String
694
+ # resp.flow.sources[0].entitlement_arn #=> String
695
+ # resp.flow.sources[0].ingest_ip #=> String
696
+ # resp.flow.sources[0].ingest_port #=> Integer
697
+ # resp.flow.sources[0].name #=> String
698
+ # resp.flow.sources[0].source_arn #=> String
699
+ # resp.flow.sources[0].transport.cidr_allow_list #=> Array
700
+ # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
701
+ # resp.flow.sources[0].transport.max_bitrate #=> Integer
702
+ # resp.flow.sources[0].transport.max_latency #=> Integer
703
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
704
+ # resp.flow.sources[0].transport.remote_id #=> String
705
+ # resp.flow.sources[0].transport.smoothing_latency #=> Integer
706
+ # resp.flow.sources[0].transport.stream_id #=> String
707
+ # resp.flow.sources[0].whitelist_cidr #=> String
562
708
  # resp.flow.status #=> String, one of "STANDBY", "ACTIVE", "UPDATING", "DELETING", "STARTING", "STOPPING", "ERROR"
563
709
  #
564
710
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateFlow AWS API Documentation
@@ -690,6 +836,34 @@ module Aws::MediaConnect
690
836
  # resp.flow.source.transport.smoothing_latency #=> Integer
691
837
  # resp.flow.source.transport.stream_id #=> String
692
838
  # resp.flow.source.whitelist_cidr #=> String
839
+ # resp.flow.source_failover_config.recovery_window #=> Integer
840
+ # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
841
+ # resp.flow.sources #=> Array
842
+ # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
843
+ # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
844
+ # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
845
+ # resp.flow.sources[0].decryption.device_id #=> String
846
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
847
+ # resp.flow.sources[0].decryption.region #=> String
848
+ # resp.flow.sources[0].decryption.resource_id #=> String
849
+ # resp.flow.sources[0].decryption.role_arn #=> String
850
+ # resp.flow.sources[0].decryption.secret_arn #=> String
851
+ # resp.flow.sources[0].decryption.url #=> String
852
+ # resp.flow.sources[0].description #=> String
853
+ # resp.flow.sources[0].entitlement_arn #=> String
854
+ # resp.flow.sources[0].ingest_ip #=> String
855
+ # resp.flow.sources[0].ingest_port #=> Integer
856
+ # resp.flow.sources[0].name #=> String
857
+ # resp.flow.sources[0].source_arn #=> String
858
+ # resp.flow.sources[0].transport.cidr_allow_list #=> Array
859
+ # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
860
+ # resp.flow.sources[0].transport.max_bitrate #=> Integer
861
+ # resp.flow.sources[0].transport.max_latency #=> Integer
862
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
863
+ # resp.flow.sources[0].transport.remote_id #=> String
864
+ # resp.flow.sources[0].transport.smoothing_latency #=> Integer
865
+ # resp.flow.sources[0].transport.stream_id #=> String
866
+ # resp.flow.sources[0].whitelist_cidr #=> String
693
867
  # resp.flow.status #=> String, one of "STANDBY", "ACTIVE", "UPDATING", "DELETING", "STARTING", "STOPPING", "ERROR"
694
868
  # resp.messages.errors #=> Array
695
869
  # resp.messages.errors[0] #=> String
@@ -908,6 +1082,39 @@ module Aws::MediaConnect
908
1082
  req.send_request(options)
909
1083
  end
910
1084
 
1085
+ # Removes a source from an existing flow. This request can be made only
1086
+ # if there is more than one source on the flow.
1087
+ #
1088
+ # @option params [required, String] :flow_arn
1089
+ #
1090
+ # @option params [required, String] :source_arn
1091
+ #
1092
+ # @return [Types::RemoveFlowSourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1093
+ #
1094
+ # * {Types::RemoveFlowSourceResponse#flow_arn #flow_arn} => String
1095
+ # * {Types::RemoveFlowSourceResponse#source_arn #source_arn} => String
1096
+ #
1097
+ # @example Request syntax with placeholder values
1098
+ #
1099
+ # resp = client.remove_flow_source({
1100
+ # flow_arn: "__string", # required
1101
+ # source_arn: "__string", # required
1102
+ # })
1103
+ #
1104
+ # @example Response structure
1105
+ #
1106
+ # resp.flow_arn #=> String
1107
+ # resp.source_arn #=> String
1108
+ #
1109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowSource AWS API Documentation
1110
+ #
1111
+ # @overload remove_flow_source(params = {})
1112
+ # @param [Hash] params ({})
1113
+ def remove_flow_source(params = {}, options = {})
1114
+ req = build_request(:remove_flow_source, params)
1115
+ req.send_request(options)
1116
+ end
1117
+
911
1118
  # Revokes an entitlement from a flow. Once an entitlement is revoked,
912
1119
  # the content becomes unavailable to the subscriber and the associated
913
1120
  # output is removed.
@@ -1056,6 +1263,140 @@ module Aws::MediaConnect
1056
1263
  req.send_request(options)
1057
1264
  end
1058
1265
 
1266
+ # Updates flow
1267
+ #
1268
+ # @option params [required, String] :flow_arn
1269
+ #
1270
+ # @option params [Types::UpdateFailoverConfig] :source_failover_config
1271
+ # The settings for source failover
1272
+ #
1273
+ # @return [Types::UpdateFlowResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1274
+ #
1275
+ # * {Types::UpdateFlowResponse#flow #flow} => Types::Flow
1276
+ #
1277
+ # @example Request syntax with placeholder values
1278
+ #
1279
+ # resp = client.update_flow({
1280
+ # flow_arn: "__string", # required
1281
+ # source_failover_config: {
1282
+ # recovery_window: 1,
1283
+ # state: "ENABLED", # accepts ENABLED, DISABLED
1284
+ # },
1285
+ # })
1286
+ #
1287
+ # @example Response structure
1288
+ #
1289
+ # resp.flow.availability_zone #=> String
1290
+ # resp.flow.description #=> String
1291
+ # resp.flow.egress_ip #=> String
1292
+ # resp.flow.entitlements #=> Array
1293
+ # resp.flow.entitlements[0].data_transfer_subscriber_fee_percent #=> Integer
1294
+ # resp.flow.entitlements[0].description #=> String
1295
+ # resp.flow.entitlements[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1296
+ # resp.flow.entitlements[0].encryption.constant_initialization_vector #=> String
1297
+ # resp.flow.entitlements[0].encryption.device_id #=> String
1298
+ # resp.flow.entitlements[0].encryption.key_type #=> String, one of "speke", "static-key"
1299
+ # resp.flow.entitlements[0].encryption.region #=> String
1300
+ # resp.flow.entitlements[0].encryption.resource_id #=> String
1301
+ # resp.flow.entitlements[0].encryption.role_arn #=> String
1302
+ # resp.flow.entitlements[0].encryption.secret_arn #=> String
1303
+ # resp.flow.entitlements[0].encryption.url #=> String
1304
+ # resp.flow.entitlements[0].entitlement_arn #=> String
1305
+ # resp.flow.entitlements[0].name #=> String
1306
+ # resp.flow.entitlements[0].subscribers #=> Array
1307
+ # resp.flow.entitlements[0].subscribers[0] #=> String
1308
+ # resp.flow.flow_arn #=> String
1309
+ # resp.flow.name #=> String
1310
+ # resp.flow.outputs #=> Array
1311
+ # resp.flow.outputs[0].data_transfer_subscriber_fee_percent #=> Integer
1312
+ # resp.flow.outputs[0].description #=> String
1313
+ # resp.flow.outputs[0].destination #=> String
1314
+ # resp.flow.outputs[0].encryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1315
+ # resp.flow.outputs[0].encryption.constant_initialization_vector #=> String
1316
+ # resp.flow.outputs[0].encryption.device_id #=> String
1317
+ # resp.flow.outputs[0].encryption.key_type #=> String, one of "speke", "static-key"
1318
+ # resp.flow.outputs[0].encryption.region #=> String
1319
+ # resp.flow.outputs[0].encryption.resource_id #=> String
1320
+ # resp.flow.outputs[0].encryption.role_arn #=> String
1321
+ # resp.flow.outputs[0].encryption.secret_arn #=> String
1322
+ # resp.flow.outputs[0].encryption.url #=> String
1323
+ # resp.flow.outputs[0].entitlement_arn #=> String
1324
+ # resp.flow.outputs[0].media_live_input_arn #=> String
1325
+ # resp.flow.outputs[0].name #=> String
1326
+ # resp.flow.outputs[0].output_arn #=> String
1327
+ # resp.flow.outputs[0].port #=> Integer
1328
+ # resp.flow.outputs[0].transport.cidr_allow_list #=> Array
1329
+ # resp.flow.outputs[0].transport.cidr_allow_list[0] #=> String
1330
+ # resp.flow.outputs[0].transport.max_bitrate #=> Integer
1331
+ # resp.flow.outputs[0].transport.max_latency #=> Integer
1332
+ # resp.flow.outputs[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1333
+ # resp.flow.outputs[0].transport.remote_id #=> String
1334
+ # resp.flow.outputs[0].transport.smoothing_latency #=> Integer
1335
+ # resp.flow.outputs[0].transport.stream_id #=> String
1336
+ # resp.flow.source.data_transfer_subscriber_fee_percent #=> Integer
1337
+ # resp.flow.source.decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1338
+ # resp.flow.source.decryption.constant_initialization_vector #=> String
1339
+ # resp.flow.source.decryption.device_id #=> String
1340
+ # resp.flow.source.decryption.key_type #=> String, one of "speke", "static-key"
1341
+ # resp.flow.source.decryption.region #=> String
1342
+ # resp.flow.source.decryption.resource_id #=> String
1343
+ # resp.flow.source.decryption.role_arn #=> String
1344
+ # resp.flow.source.decryption.secret_arn #=> String
1345
+ # resp.flow.source.decryption.url #=> String
1346
+ # resp.flow.source.description #=> String
1347
+ # resp.flow.source.entitlement_arn #=> String
1348
+ # resp.flow.source.ingest_ip #=> String
1349
+ # resp.flow.source.ingest_port #=> Integer
1350
+ # resp.flow.source.name #=> String
1351
+ # resp.flow.source.source_arn #=> String
1352
+ # resp.flow.source.transport.cidr_allow_list #=> Array
1353
+ # resp.flow.source.transport.cidr_allow_list[0] #=> String
1354
+ # resp.flow.source.transport.max_bitrate #=> Integer
1355
+ # resp.flow.source.transport.max_latency #=> Integer
1356
+ # resp.flow.source.transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1357
+ # resp.flow.source.transport.remote_id #=> String
1358
+ # resp.flow.source.transport.smoothing_latency #=> Integer
1359
+ # resp.flow.source.transport.stream_id #=> String
1360
+ # resp.flow.source.whitelist_cidr #=> String
1361
+ # resp.flow.source_failover_config.recovery_window #=> Integer
1362
+ # resp.flow.source_failover_config.state #=> String, one of "ENABLED", "DISABLED"
1363
+ # resp.flow.sources #=> Array
1364
+ # resp.flow.sources[0].data_transfer_subscriber_fee_percent #=> Integer
1365
+ # resp.flow.sources[0].decryption.algorithm #=> String, one of "aes128", "aes192", "aes256"
1366
+ # resp.flow.sources[0].decryption.constant_initialization_vector #=> String
1367
+ # resp.flow.sources[0].decryption.device_id #=> String
1368
+ # resp.flow.sources[0].decryption.key_type #=> String, one of "speke", "static-key"
1369
+ # resp.flow.sources[0].decryption.region #=> String
1370
+ # resp.flow.sources[0].decryption.resource_id #=> String
1371
+ # resp.flow.sources[0].decryption.role_arn #=> String
1372
+ # resp.flow.sources[0].decryption.secret_arn #=> String
1373
+ # resp.flow.sources[0].decryption.url #=> String
1374
+ # resp.flow.sources[0].description #=> String
1375
+ # resp.flow.sources[0].entitlement_arn #=> String
1376
+ # resp.flow.sources[0].ingest_ip #=> String
1377
+ # resp.flow.sources[0].ingest_port #=> Integer
1378
+ # resp.flow.sources[0].name #=> String
1379
+ # resp.flow.sources[0].source_arn #=> String
1380
+ # resp.flow.sources[0].transport.cidr_allow_list #=> Array
1381
+ # resp.flow.sources[0].transport.cidr_allow_list[0] #=> String
1382
+ # resp.flow.sources[0].transport.max_bitrate #=> Integer
1383
+ # resp.flow.sources[0].transport.max_latency #=> Integer
1384
+ # resp.flow.sources[0].transport.protocol #=> String, one of "zixi-push", "rtp-fec", "rtp", "zixi-pull", "rist"
1385
+ # resp.flow.sources[0].transport.remote_id #=> String
1386
+ # resp.flow.sources[0].transport.smoothing_latency #=> Integer
1387
+ # resp.flow.sources[0].transport.stream_id #=> String
1388
+ # resp.flow.sources[0].whitelist_cidr #=> String
1389
+ # resp.flow.status #=> String, one of "STANDBY", "ACTIVE", "UPDATING", "DELETING", "STARTING", "STOPPING", "ERROR"
1390
+ #
1391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlow AWS API Documentation
1392
+ #
1393
+ # @overload update_flow(params = {})
1394
+ # @param [Hash] params ({})
1395
+ def update_flow(params = {}, options = {})
1396
+ req = build_request(:update_flow, params)
1397
+ req.send_request(options)
1398
+ end
1399
+
1059
1400
  # You can change an entitlement's description, subscribers, and
1060
1401
  # encryption. If you change the subscribers, the service will remove the
1061
1402
  # outputs that are are used by the subscribers that are removed.
@@ -1365,7 +1706,7 @@ module Aws::MediaConnect
1365
1706
  params: params,
1366
1707
  config: config)
1367
1708
  context[:gem_name] = 'aws-sdk-mediaconnect'
1368
- context[:gem_version] = '1.17.0'
1709
+ context[:gem_version] = '1.18.0'
1369
1710
  Seahorse::Client::Request.new(handlers, context)
1370
1711
  end
1371
1712
 
@@ -14,6 +14,8 @@ module Aws::MediaConnect
14
14
  AddFlowOutputs420Exception = Shapes::StructureShape.new(name: 'AddFlowOutputs420Exception')
15
15
  AddFlowOutputsRequest = Shapes::StructureShape.new(name: 'AddFlowOutputsRequest')
16
16
  AddFlowOutputsResponse = Shapes::StructureShape.new(name: 'AddFlowOutputsResponse')
17
+ AddFlowSourcesRequest = Shapes::StructureShape.new(name: 'AddFlowSourcesRequest')
18
+ AddFlowSourcesResponse = Shapes::StructureShape.new(name: 'AddFlowSourcesResponse')
17
19
  AddOutputRequest = Shapes::StructureShape.new(name: 'AddOutputRequest')
18
20
  Algorithm = Shapes::StringShape.new(name: 'Algorithm')
19
21
  BadRequestException = Shapes::StructureShape.new(name: 'BadRequestException')
@@ -26,6 +28,7 @@ module Aws::MediaConnect
26
28
  DescribeFlowResponse = Shapes::StructureShape.new(name: 'DescribeFlowResponse')
27
29
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
28
30
  Entitlement = Shapes::StructureShape.new(name: 'Entitlement')
31
+ FailoverConfig = Shapes::StructureShape.new(name: 'FailoverConfig')
29
32
  Flow = Shapes::StructureShape.new(name: 'Flow')
30
33
  ForbiddenException = Shapes::StructureShape.new(name: 'ForbiddenException')
31
34
  GrantEntitlementRequest = Shapes::StructureShape.new(name: 'GrantEntitlementRequest')
@@ -49,6 +52,8 @@ module Aws::MediaConnect
49
52
  Protocol = Shapes::StringShape.new(name: 'Protocol')
50
53
  RemoveFlowOutputRequest = Shapes::StructureShape.new(name: 'RemoveFlowOutputRequest')
51
54
  RemoveFlowOutputResponse = Shapes::StructureShape.new(name: 'RemoveFlowOutputResponse')
55
+ RemoveFlowSourceRequest = Shapes::StructureShape.new(name: 'RemoveFlowSourceRequest')
56
+ RemoveFlowSourceResponse = Shapes::StructureShape.new(name: 'RemoveFlowSourceResponse')
52
57
  ResponseError = Shapes::StructureShape.new(name: 'ResponseError')
53
58
  RevokeFlowEntitlementRequest = Shapes::StructureShape.new(name: 'RevokeFlowEntitlementRequest')
54
59
  RevokeFlowEntitlementResponse = Shapes::StructureShape.new(name: 'RevokeFlowEntitlementResponse')
@@ -58,6 +63,7 @@ module Aws::MediaConnect
58
63
  SourceType = Shapes::StringShape.new(name: 'SourceType')
59
64
  StartFlowRequest = Shapes::StructureShape.new(name: 'StartFlowRequest')
60
65
  StartFlowResponse = Shapes::StructureShape.new(name: 'StartFlowResponse')
66
+ State = Shapes::StringShape.new(name: 'State')
61
67
  Status = Shapes::StringShape.new(name: 'Status')
62
68
  StopFlowRequest = Shapes::StructureShape.new(name: 'StopFlowRequest')
63
69
  StopFlowResponse = Shapes::StructureShape.new(name: 'StopFlowResponse')
@@ -66,10 +72,13 @@ module Aws::MediaConnect
66
72
  Transport = Shapes::StructureShape.new(name: 'Transport')
67
73
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
68
74
  UpdateEncryption = Shapes::StructureShape.new(name: 'UpdateEncryption')
75
+ UpdateFailoverConfig = Shapes::StructureShape.new(name: 'UpdateFailoverConfig')
69
76
  UpdateFlowEntitlementRequest = Shapes::StructureShape.new(name: 'UpdateFlowEntitlementRequest')
70
77
  UpdateFlowEntitlementResponse = Shapes::StructureShape.new(name: 'UpdateFlowEntitlementResponse')
71
78
  UpdateFlowOutputRequest = Shapes::StructureShape.new(name: 'UpdateFlowOutputRequest')
72
79
  UpdateFlowOutputResponse = Shapes::StructureShape.new(name: 'UpdateFlowOutputResponse')
80
+ UpdateFlowRequest = Shapes::StructureShape.new(name: 'UpdateFlowRequest')
81
+ UpdateFlowResponse = Shapes::StructureShape.new(name: 'UpdateFlowResponse')
73
82
  UpdateFlowSourceRequest = Shapes::StructureShape.new(name: 'UpdateFlowSourceRequest')
74
83
  UpdateFlowSourceResponse = Shapes::StructureShape.new(name: 'UpdateFlowSourceResponse')
75
84
  __boolean = Shapes::BooleanShape.new(name: '__boolean')
@@ -81,6 +90,9 @@ module Aws::MediaConnect
81
90
  __listOfListedEntitlement = Shapes::ListShape.new(name: '__listOfListedEntitlement')
82
91
  __listOfListedFlow = Shapes::ListShape.new(name: '__listOfListedFlow')
83
92
  __listOfOutput = Shapes::ListShape.new(name: '__listOfOutput')
93
+ __listOfSetSourceRequest = Shapes::ListShape.new(name: '__listOfSetSourceRequest')
94
+ __listOfSource = Shapes::ListShape.new(name: '__listOfSource')
95
+ __listOf__integer = Shapes::ListShape.new(name: '__listOf__integer')
84
96
  __listOf__string = Shapes::ListShape.new(name: '__listOf__string')
85
97
  __long = Shapes::IntegerShape.new(name: '__long')
86
98
  __mapOf__string = Shapes::MapShape.new(name: '__mapOf__string')
@@ -99,6 +111,14 @@ module Aws::MediaConnect
99
111
  AddFlowOutputsResponse.add_member(:outputs, Shapes::ShapeRef.new(shape: __listOfOutput, location_name: "outputs"))
100
112
  AddFlowOutputsResponse.struct_class = Types::AddFlowOutputsResponse
101
113
 
114
+ AddFlowSourcesRequest.add_member(:flow_arn, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "flowArn"))
115
+ AddFlowSourcesRequest.add_member(:sources, Shapes::ShapeRef.new(shape: __listOfSetSourceRequest, required: true, location_name: "sources"))
116
+ AddFlowSourcesRequest.struct_class = Types::AddFlowSourcesRequest
117
+
118
+ AddFlowSourcesResponse.add_member(:flow_arn, Shapes::ShapeRef.new(shape: __string, location_name: "flowArn"))
119
+ AddFlowSourcesResponse.add_member(:sources, Shapes::ShapeRef.new(shape: __listOfSource, location_name: "sources"))
120
+ AddFlowSourcesResponse.struct_class = Types::AddFlowSourcesResponse
121
+
102
122
  AddOutputRequest.add_member(:cidr_allow_list, Shapes::ShapeRef.new(shape: __listOf__string, location_name: "cidrAllowList"))
103
123
  AddOutputRequest.add_member(:description, Shapes::ShapeRef.new(shape: __string, location_name: "description"))
104
124
  AddOutputRequest.add_member(:destination, Shapes::ShapeRef.new(shape: __string, location_name: "destination"))
@@ -122,7 +142,9 @@ module Aws::MediaConnect
122
142
  CreateFlowRequest.add_member(:entitlements, Shapes::ShapeRef.new(shape: __listOfGrantEntitlementRequest, location_name: "entitlements"))
123
143
  CreateFlowRequest.add_member(:name, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "name"))
124
144
  CreateFlowRequest.add_member(:outputs, Shapes::ShapeRef.new(shape: __listOfAddOutputRequest, location_name: "outputs"))
125
- CreateFlowRequest.add_member(:source, Shapes::ShapeRef.new(shape: SetSourceRequest, required: true, location_name: "source"))
145
+ CreateFlowRequest.add_member(:source, Shapes::ShapeRef.new(shape: SetSourceRequest, location_name: "source"))
146
+ CreateFlowRequest.add_member(:source_failover_config, Shapes::ShapeRef.new(shape: FailoverConfig, location_name: "sourceFailoverConfig"))
147
+ CreateFlowRequest.add_member(:sources, Shapes::ShapeRef.new(shape: __listOfSetSourceRequest, location_name: "sources"))
126
148
  CreateFlowRequest.struct_class = Types::CreateFlowRequest
127
149
 
128
150
  CreateFlowResponse.add_member(:flow, Shapes::ShapeRef.new(shape: Flow, location_name: "flow"))
@@ -161,6 +183,10 @@ module Aws::MediaConnect
161
183
  Entitlement.add_member(:subscribers, Shapes::ShapeRef.new(shape: __listOf__string, required: true, location_name: "subscribers"))
162
184
  Entitlement.struct_class = Types::Entitlement
163
185
 
186
+ FailoverConfig.add_member(:recovery_window, Shapes::ShapeRef.new(shape: __integer, location_name: "recoveryWindow"))
187
+ FailoverConfig.add_member(:state, Shapes::ShapeRef.new(shape: State, location_name: "state"))
188
+ FailoverConfig.struct_class = Types::FailoverConfig
189
+
164
190
  Flow.add_member(:availability_zone, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "availabilityZone"))
165
191
  Flow.add_member(:description, Shapes::ShapeRef.new(shape: __string, location_name: "description"))
166
192
  Flow.add_member(:egress_ip, Shapes::ShapeRef.new(shape: __string, location_name: "egressIp"))
@@ -169,6 +195,8 @@ module Aws::MediaConnect
169
195
  Flow.add_member(:name, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "name"))
170
196
  Flow.add_member(:outputs, Shapes::ShapeRef.new(shape: __listOfOutput, required: true, location_name: "outputs"))
171
197
  Flow.add_member(:source, Shapes::ShapeRef.new(shape: Source, required: true, location_name: "source"))
198
+ Flow.add_member(:source_failover_config, Shapes::ShapeRef.new(shape: FailoverConfig, location_name: "sourceFailoverConfig"))
199
+ Flow.add_member(:sources, Shapes::ShapeRef.new(shape: __listOfSource, location_name: "sources"))
172
200
  Flow.add_member(:status, Shapes::ShapeRef.new(shape: Status, required: true, location_name: "status"))
173
201
  Flow.struct_class = Types::Flow
174
202
 
@@ -257,6 +285,14 @@ module Aws::MediaConnect
257
285
  RemoveFlowOutputResponse.add_member(:output_arn, Shapes::ShapeRef.new(shape: __string, location_name: "outputArn"))
258
286
  RemoveFlowOutputResponse.struct_class = Types::RemoveFlowOutputResponse
259
287
 
288
+ RemoveFlowSourceRequest.add_member(:flow_arn, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "flowArn"))
289
+ RemoveFlowSourceRequest.add_member(:source_arn, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "sourceArn"))
290
+ RemoveFlowSourceRequest.struct_class = Types::RemoveFlowSourceRequest
291
+
292
+ RemoveFlowSourceResponse.add_member(:flow_arn, Shapes::ShapeRef.new(shape: __string, location_name: "flowArn"))
293
+ RemoveFlowSourceResponse.add_member(:source_arn, Shapes::ShapeRef.new(shape: __string, location_name: "sourceArn"))
294
+ RemoveFlowSourceResponse.struct_class = Types::RemoveFlowSourceResponse
295
+
260
296
  ResponseError.add_member(:message, Shapes::ShapeRef.new(shape: __string, required: true, location_name: "message"))
261
297
  ResponseError.struct_class = Types::ResponseError
262
298
 
@@ -340,6 +376,10 @@ module Aws::MediaConnect
340
376
  UpdateEncryption.add_member(:url, Shapes::ShapeRef.new(shape: __string, location_name: "url"))
341
377
  UpdateEncryption.struct_class = Types::UpdateEncryption
342
378
 
379
+ UpdateFailoverConfig.add_member(:recovery_window, Shapes::ShapeRef.new(shape: __integer, location_name: "recoveryWindow"))
380
+ UpdateFailoverConfig.add_member(:state, Shapes::ShapeRef.new(shape: State, location_name: "state"))
381
+ UpdateFailoverConfig.struct_class = Types::UpdateFailoverConfig
382
+
343
383
  UpdateFlowEntitlementRequest.add_member(:description, Shapes::ShapeRef.new(shape: __string, location_name: "description"))
344
384
  UpdateFlowEntitlementRequest.add_member(:encryption, Shapes::ShapeRef.new(shape: UpdateEncryption, location_name: "encryption"))
345
385
  UpdateFlowEntitlementRequest.add_member(:entitlement_arn, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "entitlementArn"))
@@ -369,6 +409,13 @@ module Aws::MediaConnect
369
409
  UpdateFlowOutputResponse.add_member(:output, Shapes::ShapeRef.new(shape: Output, location_name: "output"))
370
410
  UpdateFlowOutputResponse.struct_class = Types::UpdateFlowOutputResponse
371
411
 
412
+ UpdateFlowRequest.add_member(:flow_arn, Shapes::ShapeRef.new(shape: __string, required: true, location: "uri", location_name: "flowArn"))
413
+ UpdateFlowRequest.add_member(:source_failover_config, Shapes::ShapeRef.new(shape: UpdateFailoverConfig, location_name: "sourceFailoverConfig"))
414
+ UpdateFlowRequest.struct_class = Types::UpdateFlowRequest
415
+
416
+ UpdateFlowResponse.add_member(:flow, Shapes::ShapeRef.new(shape: Flow, location_name: "flow"))
417
+ UpdateFlowResponse.struct_class = Types::UpdateFlowResponse
418
+
372
419
  UpdateFlowSourceRequest.add_member(:decryption, Shapes::ShapeRef.new(shape: UpdateEncryption, location_name: "decryption"))
373
420
  UpdateFlowSourceRequest.add_member(:description, Shapes::ShapeRef.new(shape: __string, location_name: "description"))
374
421
  UpdateFlowSourceRequest.add_member(:entitlement_arn, Shapes::ShapeRef.new(shape: __string, location_name: "entitlementArn"))
@@ -398,6 +445,12 @@ module Aws::MediaConnect
398
445
 
399
446
  __listOfOutput.member = Shapes::ShapeRef.new(shape: Output)
400
447
 
448
+ __listOfSetSourceRequest.member = Shapes::ShapeRef.new(shape: SetSourceRequest)
449
+
450
+ __listOfSource.member = Shapes::ShapeRef.new(shape: Source)
451
+
452
+ __listOf__integer.member = Shapes::ShapeRef.new(shape: __integer)
453
+
401
454
  __listOf__string.member = Shapes::ShapeRef.new(shape: __string)
402
455
 
403
456
  __mapOf__string.key = Shapes::ShapeRef.new(shape: __string)
@@ -436,6 +489,20 @@ module Aws::MediaConnect
436
489
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
437
490
  end)
438
491
 
492
+ api.add_operation(:add_flow_sources, Seahorse::Model::Operation.new.tap do |o|
493
+ o.name = "AddFlowSources"
494
+ o.http_method = "POST"
495
+ o.http_request_uri = "/v1/flows/{flowArn}/source"
496
+ o.input = Shapes::ShapeRef.new(shape: AddFlowSourcesRequest)
497
+ o.output = Shapes::ShapeRef.new(shape: AddFlowSourcesResponse)
498
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
499
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
500
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
501
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
502
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
503
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
504
+ end)
505
+
439
506
  api.add_operation(:create_flow, Seahorse::Model::Operation.new.tap do |o|
440
507
  o.name = "CreateFlow"
441
508
  o.http_method = "POST"
@@ -554,6 +621,20 @@ module Aws::MediaConnect
554
621
  o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
555
622
  end)
556
623
 
624
+ api.add_operation(:remove_flow_source, Seahorse::Model::Operation.new.tap do |o|
625
+ o.name = "RemoveFlowSource"
626
+ o.http_method = "DELETE"
627
+ o.http_request_uri = "/v1/flows/{flowArn}/source/{sourceArn}"
628
+ o.input = Shapes::ShapeRef.new(shape: RemoveFlowSourceRequest)
629
+ o.output = Shapes::ShapeRef.new(shape: RemoveFlowSourceResponse)
630
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
631
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
632
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
633
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
634
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
635
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
636
+ end)
637
+
557
638
  api.add_operation(:revoke_flow_entitlement, Seahorse::Model::Operation.new.tap do |o|
558
639
  o.name = "RevokeFlowEntitlement"
559
640
  o.http_method = "DELETE"
@@ -618,6 +699,20 @@ module Aws::MediaConnect
618
699
  o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
619
700
  end)
620
701
 
702
+ api.add_operation(:update_flow, Seahorse::Model::Operation.new.tap do |o|
703
+ o.name = "UpdateFlow"
704
+ o.http_method = "PUT"
705
+ o.http_request_uri = "/v1/flows/{flowArn}"
706
+ o.input = Shapes::ShapeRef.new(shape: UpdateFlowRequest)
707
+ o.output = Shapes::ShapeRef.new(shape: UpdateFlowResponse)
708
+ o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
709
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
710
+ o.errors << Shapes::ShapeRef.new(shape: ForbiddenException)
711
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
712
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
713
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsException)
714
+ end)
715
+
621
716
  api.add_operation(:update_flow_entitlement, Seahorse::Model::Operation.new.tap do |o|
622
717
  o.name = "UpdateFlowEntitlement"
623
718
  o.http_method = "PUT"
@@ -22,7 +22,7 @@ module Aws::MediaConnect
22
22
  include Aws::Structure
23
23
  end
24
24
 
25
- # Adds outputs to an existing flow. You can create up to 20 outputs per
25
+ # Adds outputs to an existing flow. You can create up to 50 outputs per
26
26
  # flow.
27
27
  #
28
28
  # @note When making an API call, you may pass AddFlowOutputsRequest
@@ -91,6 +91,73 @@ module Aws::MediaConnect
91
91
  include Aws::Structure
92
92
  end
93
93
 
94
+ # Adds sources to an existing flow.
95
+ #
96
+ # @note When making an API call, you may pass AddFlowSourcesRequest
97
+ # data as a hash:
98
+ #
99
+ # {
100
+ # flow_arn: "__string", # required
101
+ # sources: [ # required
102
+ # {
103
+ # decryption: {
104
+ # algorithm: "aes128", # required, accepts aes128, aes192, aes256
105
+ # constant_initialization_vector: "__string",
106
+ # device_id: "__string",
107
+ # key_type: "speke", # accepts speke, static-key
108
+ # region: "__string",
109
+ # resource_id: "__string",
110
+ # role_arn: "__string", # required
111
+ # secret_arn: "__string",
112
+ # url: "__string",
113
+ # },
114
+ # description: "__string",
115
+ # entitlement_arn: "__string",
116
+ # ingest_port: 1,
117
+ # max_bitrate: 1,
118
+ # max_latency: 1,
119
+ # name: "__string",
120
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
121
+ # stream_id: "__string",
122
+ # whitelist_cidr: "__string",
123
+ # },
124
+ # ],
125
+ # }
126
+ #
127
+ # @!attribute [rw] flow_arn
128
+ # @return [String]
129
+ #
130
+ # @!attribute [rw] sources
131
+ # A list of sources that you want to add.
132
+ # @return [Array<Types::SetSourceRequest>]
133
+ #
134
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowSourcesRequest AWS API Documentation
135
+ #
136
+ class AddFlowSourcesRequest < Struct.new(
137
+ :flow_arn,
138
+ :sources)
139
+ include Aws::Structure
140
+ end
141
+
142
+ # The result of a successful AddFlowSources request. The response
143
+ # includes the details of the newly added sources.
144
+ #
145
+ # @!attribute [rw] flow_arn
146
+ # The ARN of the flow that these sources were added to.
147
+ # @return [String]
148
+ #
149
+ # @!attribute [rw] sources
150
+ # The details of the newly added sources.
151
+ # @return [Array<Types::Source>]
152
+ #
153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/AddFlowSourcesResponse AWS API Documentation
154
+ #
155
+ class AddFlowSourcesResponse < Struct.new(
156
+ :flow_arn,
157
+ :sources)
158
+ include Aws::Structure
159
+ end
160
+
94
161
  # The output that you want to add to this flow.
95
162
  #
96
163
  # @note When making an API call, you may pass AddOutputRequest
@@ -219,7 +286,7 @@ module Aws::MediaConnect
219
286
  end
220
287
 
221
288
  # Creates a new flow. The request must include one source. The request
222
- # optionally can include outputs (up to 20) and one entitlement.
289
+ # optionally can include outputs (up to 50) and one entitlement.
223
290
  #
224
291
  # @note When making an API call, you may pass CreateFlowRequest
225
292
  # data as a hash:
@@ -271,7 +338,7 @@ module Aws::MediaConnect
271
338
  # stream_id: "__string",
272
339
  # },
273
340
  # ],
274
- # source: { # required
341
+ # source: {
275
342
  # decryption: {
276
343
  # algorithm: "aes128", # required, accepts aes128, aes192, aes256
277
344
  # constant_initialization_vector: "__string",
@@ -293,6 +360,34 @@ module Aws::MediaConnect
293
360
  # stream_id: "__string",
294
361
  # whitelist_cidr: "__string",
295
362
  # },
363
+ # source_failover_config: {
364
+ # recovery_window: 1,
365
+ # state: "ENABLED", # accepts ENABLED, DISABLED
366
+ # },
367
+ # sources: [
368
+ # {
369
+ # decryption: {
370
+ # algorithm: "aes128", # required, accepts aes128, aes192, aes256
371
+ # constant_initialization_vector: "__string",
372
+ # device_id: "__string",
373
+ # key_type: "speke", # accepts speke, static-key
374
+ # region: "__string",
375
+ # resource_id: "__string",
376
+ # role_arn: "__string", # required
377
+ # secret_arn: "__string",
378
+ # url: "__string",
379
+ # },
380
+ # description: "__string",
381
+ # entitlement_arn: "__string",
382
+ # ingest_port: 1,
383
+ # max_bitrate: 1,
384
+ # max_latency: 1,
385
+ # name: "__string",
386
+ # protocol: "zixi-push", # accepts zixi-push, rtp-fec, rtp, zixi-pull, rist
387
+ # stream_id: "__string",
388
+ # whitelist_cidr: "__string",
389
+ # },
390
+ # ],
296
391
  # }
297
392
  #
298
393
  # @!attribute [rw] availability_zone
@@ -317,6 +412,13 @@ module Aws::MediaConnect
317
412
  # The settings for the source of the flow.
318
413
  # @return [Types::SetSourceRequest]
319
414
  #
415
+ # @!attribute [rw] source_failover_config
416
+ # The settings for source failover
417
+ # @return [Types::FailoverConfig]
418
+ #
419
+ # @!attribute [rw] sources
420
+ # @return [Array<Types::SetSourceRequest>]
421
+ #
320
422
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateFlowRequest AWS API Documentation
321
423
  #
322
424
  class CreateFlowRequest < Struct.new(
@@ -324,7 +426,9 @@ module Aws::MediaConnect
324
426
  :entitlements,
325
427
  :name,
326
428
  :outputs,
327
- :source)
429
+ :source,
430
+ :source_failover_config,
431
+ :sources)
328
432
  include Aws::Structure
329
433
  end
330
434
 
@@ -540,6 +644,31 @@ module Aws::MediaConnect
540
644
  include Aws::Structure
541
645
  end
542
646
 
647
+ # The settings for source failover
648
+ #
649
+ # @note When making an API call, you may pass FailoverConfig
650
+ # data as a hash:
651
+ #
652
+ # {
653
+ # recovery_window: 1,
654
+ # state: "ENABLED", # accepts ENABLED, DISABLED
655
+ # }
656
+ #
657
+ # @!attribute [rw] recovery_window
658
+ # Search window time to look for dash-7 packets
659
+ # @return [Integer]
660
+ #
661
+ # @!attribute [rw] state
662
+ # @return [String]
663
+ #
664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/FailoverConfig AWS API Documentation
665
+ #
666
+ class FailoverConfig < Struct.new(
667
+ :recovery_window,
668
+ :state)
669
+ include Aws::Structure
670
+ end
671
+
543
672
  # The settings for a flow, including its source, outputs, and
544
673
  # entitlements.
545
674
  #
@@ -579,6 +708,13 @@ module Aws::MediaConnect
579
708
  # The settings for the source of the flow.
580
709
  # @return [Types::Source]
581
710
  #
711
+ # @!attribute [rw] source_failover_config
712
+ # The settings for source failover
713
+ # @return [Types::FailoverConfig]
714
+ #
715
+ # @!attribute [rw] sources
716
+ # @return [Array<Types::Source>]
717
+ #
582
718
  # @!attribute [rw] status
583
719
  # The current status of the flow.
584
720
  # @return [String]
@@ -594,6 +730,8 @@ module Aws::MediaConnect
594
730
  :name,
595
731
  :outputs,
596
732
  :source,
733
+ :source_failover_config,
734
+ :sources,
597
735
  :status)
598
736
  include Aws::Structure
599
737
  end
@@ -1088,6 +1226,47 @@ module Aws::MediaConnect
1088
1226
  include Aws::Structure
1089
1227
  end
1090
1228
 
1229
+ # @note When making an API call, you may pass RemoveFlowSourceRequest
1230
+ # data as a hash:
1231
+ #
1232
+ # {
1233
+ # flow_arn: "__string", # required
1234
+ # source_arn: "__string", # required
1235
+ # }
1236
+ #
1237
+ # @!attribute [rw] flow_arn
1238
+ # @return [String]
1239
+ #
1240
+ # @!attribute [rw] source_arn
1241
+ # @return [String]
1242
+ #
1243
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowSourceRequest AWS API Documentation
1244
+ #
1245
+ class RemoveFlowSourceRequest < Struct.new(
1246
+ :flow_arn,
1247
+ :source_arn)
1248
+ include Aws::Structure
1249
+ end
1250
+
1251
+ # The result of a successful RemoveFlowSource request including the flow
1252
+ # ARN and the source ARN that was removed.
1253
+ #
1254
+ # @!attribute [rw] flow_arn
1255
+ # The ARN of the flow that is associated with the source you removed.
1256
+ # @return [String]
1257
+ #
1258
+ # @!attribute [rw] source_arn
1259
+ # The ARN of the source that was removed.
1260
+ # @return [String]
1261
+ #
1262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RemoveFlowSourceResponse AWS API Documentation
1263
+ #
1264
+ class RemoveFlowSourceResponse < Struct.new(
1265
+ :flow_arn,
1266
+ :source_arn)
1267
+ include Aws::Structure
1268
+ end
1269
+
1091
1270
  # Exception raised by AWS Elemental MediaConnect. See the error message
1092
1271
  # and documentation for the operation for more information on the cause
1093
1272
  # of this exception.
@@ -1593,6 +1772,31 @@ module Aws::MediaConnect
1593
1772
  include Aws::Structure
1594
1773
  end
1595
1774
 
1775
+ # The settings for source failover
1776
+ #
1777
+ # @note When making an API call, you may pass UpdateFailoverConfig
1778
+ # data as a hash:
1779
+ #
1780
+ # {
1781
+ # recovery_window: 1,
1782
+ # state: "ENABLED", # accepts ENABLED, DISABLED
1783
+ # }
1784
+ #
1785
+ # @!attribute [rw] recovery_window
1786
+ # Recovery window time to look for dash-7 packets
1787
+ # @return [Integer]
1788
+ #
1789
+ # @!attribute [rw] state
1790
+ # @return [String]
1791
+ #
1792
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFailoverConfig AWS API Documentation
1793
+ #
1794
+ class UpdateFailoverConfig < Struct.new(
1795
+ :recovery_window,
1796
+ :state)
1797
+ include Aws::Structure
1798
+ end
1799
+
1596
1800
  # The updates that you want to make to a specific entitlement.
1597
1801
  #
1598
1802
  # @note When making an API call, you may pass UpdateFlowEntitlementRequest
@@ -1792,6 +1996,48 @@ module Aws::MediaConnect
1792
1996
  include Aws::Structure
1793
1997
  end
1794
1998
 
1999
+ # Updates an existing flow.
2000
+ #
2001
+ # @note When making an API call, you may pass UpdateFlowRequest
2002
+ # data as a hash:
2003
+ #
2004
+ # {
2005
+ # flow_arn: "__string", # required
2006
+ # source_failover_config: {
2007
+ # recovery_window: 1,
2008
+ # state: "ENABLED", # accepts ENABLED, DISABLED
2009
+ # },
2010
+ # }
2011
+ #
2012
+ # @!attribute [rw] flow_arn
2013
+ # @return [String]
2014
+ #
2015
+ # @!attribute [rw] source_failover_config
2016
+ # The settings for source failover
2017
+ # @return [Types::UpdateFailoverConfig]
2018
+ #
2019
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowRequest AWS API Documentation
2020
+ #
2021
+ class UpdateFlowRequest < Struct.new(
2022
+ :flow_arn,
2023
+ :source_failover_config)
2024
+ include Aws::Structure
2025
+ end
2026
+
2027
+ # Updates an existing flow.
2028
+ #
2029
+ # @!attribute [rw] flow
2030
+ # The settings for a flow, including its source, outputs, and
2031
+ # entitlements.
2032
+ # @return [Types::Flow]
2033
+ #
2034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateFlowResponse AWS API Documentation
2035
+ #
2036
+ class UpdateFlowResponse < Struct.new(
2037
+ :flow)
2038
+ include Aws::Structure
2039
+ end
2040
+
1795
2041
  # The settings for the updated source of the flow.
1796
2042
  #
1797
2043
  # @note When making an API call, you may pass UpdateFlowSourceRequest
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-mediaconnect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-09 00:00:00.000000000 Z
11
+ date: 2020-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core