aws-sdk-mediaconnect 1.102.0 → 1.103.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
  SHA256:
3
- metadata.gz: 56f7b28e4ac61a2cea59f9ba6716d086c4631f5afedc5472658b7b657e8af330
4
- data.tar.gz: e1bf46176d130e15825ec4a3fda27823ebe993209636ea3b1e26512e21b72af1
3
+ metadata.gz: 879723658f61c24bb58afd603e9854dd660a1669fb714c6428e00355202286c5
4
+ data.tar.gz: e58a36afa8655603a636596758dcaac6f49426f2b5d0600a59d7145efd502d78
5
5
  SHA512:
6
- metadata.gz: 7fa009e5843b38865d1f66ce4da48c45f2e72fa0270b83fe6b162370ea056df54e3e9fd44ba87a9a18709a5fa237ff98eb2e7488d0091688a1b28468bad0d528
7
- data.tar.gz: 42530cdacea33c791186875d0a15c2018f2f38194c997dc0ac3dc95c5ef1aeb053b6c8b7b65eec0357aa5fcefc642c87da02e4042eebe75bd22986c14cfe4581
6
+ metadata.gz: a8a6b652700350e34cc5d205d5b87d23fea41b04c8815db41d5236de9e8a77f2721fc234a5dcf0203c47a0fa7da9d898c94234caf417e349f4c7572da9721c3a
7
+ data.tar.gz: d6976ba55b0d6c8e2374c34365d78a738a0c11785610897638d92bd027af865825ad5af7a09ad63b4e913f4603fb9476f3c2320c1c12dfc86f0361f052b76081
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.103.0 (2026-06-22)
5
+ ------------------
6
+
7
+ * Feature - AWS MediaConnect now supports Content Quality Analysis for Router Inputs, enabling detection of black frames, frozen frames, and silent audio with configurable thresholds.
8
+
4
9
  1.102.0 (2026-06-04)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.102.0
1
+ 1.103.0
@@ -1147,6 +1147,13 @@ module Aws::MediaConnect
1147
1147
  # resp.router_inputs[0].maintenance_schedule.window.start #=> Time
1148
1148
  # resp.router_inputs[0].maintenance_schedule.window.end #=> Time
1149
1149
  # resp.router_inputs[0].maintenance_schedule.window.scheduled_time #=> Time
1150
+ # resp.router_inputs[0].content_quality_analysis_type #=> String, one of "CONTENT_LEVEL"
1151
+ # resp.router_inputs[0].content_quality_analysis_configuration.content_level.black_frames.state #=> String, one of "ENABLED", "DISABLED"
1152
+ # resp.router_inputs[0].content_quality_analysis_configuration.content_level.black_frames.threshold_seconds #=> Integer
1153
+ # resp.router_inputs[0].content_quality_analysis_configuration.content_level.frozen_frames.state #=> String, one of "ENABLED", "DISABLED"
1154
+ # resp.router_inputs[0].content_quality_analysis_configuration.content_level.frozen_frames.threshold_seconds #=> Integer
1155
+ # resp.router_inputs[0].content_quality_analysis_configuration.content_level.silent_audio.state #=> String, one of "ENABLED", "DISABLED"
1156
+ # resp.router_inputs[0].content_quality_analysis_configuration.content_level.silent_audio.threshold_seconds #=> Integer
1150
1157
  # resp.errors #=> Array
1151
1158
  # resp.errors[0].arn #=> String
1152
1159
  # resp.errors[0].code #=> String
@@ -2180,6 +2187,9 @@ module Aws::MediaConnect
2180
2187
  # **A suitable default value is auto-generated.** You should normally
2181
2188
  # not need to pass this option.**
2182
2189
  #
2190
+ # @option params [Types::RouterContentQualityAnalysisConfiguration] :content_quality_analysis_configuration
2191
+ # The content quality analysis configuration for the router input.
2192
+ #
2183
2193
  # @return [Types::CreateRouterInputResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2184
2194
  #
2185
2195
  # * {Types::CreateRouterInputResponse#router_input #router_input} => Types::RouterInput
@@ -2339,7 +2349,23 @@ module Aws::MediaConnect
2339
2349
  # tags: {
2340
2350
  # "String" => "String",
2341
2351
  # },
2342
- # client_token: "String",
2352
+ # client_token: "ClientToken",
2353
+ # content_quality_analysis_configuration: {
2354
+ # content_level: {
2355
+ # black_frames: {
2356
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
2357
+ # threshold_seconds: 1, # required
2358
+ # },
2359
+ # frozen_frames: {
2360
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
2361
+ # threshold_seconds: 1, # required
2362
+ # },
2363
+ # silent_audio: {
2364
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
2365
+ # threshold_seconds: 1, # required
2366
+ # },
2367
+ # },
2368
+ # },
2343
2369
  # })
2344
2370
  #
2345
2371
  # @example Response structure
@@ -2435,6 +2461,13 @@ module Aws::MediaConnect
2435
2461
  # resp.router_input.maintenance_schedule.window.start #=> Time
2436
2462
  # resp.router_input.maintenance_schedule.window.end #=> Time
2437
2463
  # resp.router_input.maintenance_schedule.window.scheduled_time #=> Time
2464
+ # resp.router_input.content_quality_analysis_type #=> String, one of "CONTENT_LEVEL"
2465
+ # resp.router_input.content_quality_analysis_configuration.content_level.black_frames.state #=> String, one of "ENABLED", "DISABLED"
2466
+ # resp.router_input.content_quality_analysis_configuration.content_level.black_frames.threshold_seconds #=> Integer
2467
+ # resp.router_input.content_quality_analysis_configuration.content_level.frozen_frames.state #=> String, one of "ENABLED", "DISABLED"
2468
+ # resp.router_input.content_quality_analysis_configuration.content_level.frozen_frames.threshold_seconds #=> Integer
2469
+ # resp.router_input.content_quality_analysis_configuration.content_level.silent_audio.state #=> String, one of "ENABLED", "DISABLED"
2470
+ # resp.router_input.content_quality_analysis_configuration.content_level.silent_audio.threshold_seconds #=> Integer
2438
2471
  #
2439
2472
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateRouterInput AWS API Documentation
2440
2473
  #
@@ -2492,7 +2525,7 @@ module Aws::MediaConnect
2492
2525
  # tags: {
2493
2526
  # "String" => "String",
2494
2527
  # },
2495
- # client_token: "String",
2528
+ # client_token: "ClientToken",
2496
2529
  # })
2497
2530
  #
2498
2531
  # @example Response structure
@@ -2658,7 +2691,7 @@ module Aws::MediaConnect
2658
2691
  # tags: {
2659
2692
  # "String" => "String",
2660
2693
  # },
2661
- # client_token: "String",
2694
+ # client_token: "ClientToken",
2662
2695
  # })
2663
2696
  #
2664
2697
  # @example Response structure
@@ -3678,6 +3711,13 @@ module Aws::MediaConnect
3678
3711
  # resp.router_input.maintenance_schedule.window.start #=> Time
3679
3712
  # resp.router_input.maintenance_schedule.window.end #=> Time
3680
3713
  # resp.router_input.maintenance_schedule.window.scheduled_time #=> Time
3714
+ # resp.router_input.content_quality_analysis_type #=> String, one of "CONTENT_LEVEL"
3715
+ # resp.router_input.content_quality_analysis_configuration.content_level.black_frames.state #=> String, one of "ENABLED", "DISABLED"
3716
+ # resp.router_input.content_quality_analysis_configuration.content_level.black_frames.threshold_seconds #=> Integer
3717
+ # resp.router_input.content_quality_analysis_configuration.content_level.frozen_frames.state #=> String, one of "ENABLED", "DISABLED"
3718
+ # resp.router_input.content_quality_analysis_configuration.content_level.frozen_frames.threshold_seconds #=> Integer
3719
+ # resp.router_input.content_quality_analysis_configuration.content_level.silent_audio.state #=> String, one of "ENABLED", "DISABLED"
3720
+ # resp.router_input.content_quality_analysis_configuration.content_level.silent_audio.threshold_seconds #=> Integer
3681
3721
  #
3682
3722
  #
3683
3723
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -6789,6 +6829,9 @@ module Aws::MediaConnect
6789
6829
  # The updated maintenance configuration settings for the router input,
6790
6830
  # including any changes to preferred maintenance windows and schedules.
6791
6831
  #
6832
+ # @option params [Types::RouterContentQualityAnalysisConfiguration] :content_quality_analysis_configuration
6833
+ # The content quality analysis configuration for the router input.
6834
+ #
6792
6835
  # @return [Types::UpdateRouterInputResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6793
6836
  #
6794
6837
  # * {Types::UpdateRouterInputResponse#router_input #router_input} => Types::RouterInput
@@ -6944,6 +6987,22 @@ module Aws::MediaConnect
6944
6987
  # default: {
6945
6988
  # },
6946
6989
  # },
6990
+ # content_quality_analysis_configuration: {
6991
+ # content_level: {
6992
+ # black_frames: {
6993
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
6994
+ # threshold_seconds: 1, # required
6995
+ # },
6996
+ # frozen_frames: {
6997
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
6998
+ # threshold_seconds: 1, # required
6999
+ # },
7000
+ # silent_audio: {
7001
+ # state: "ENABLED", # required, accepts ENABLED, DISABLED
7002
+ # threshold_seconds: 1, # required
7003
+ # },
7004
+ # },
7005
+ # },
6947
7006
  # })
6948
7007
  #
6949
7008
  # @example Response structure
@@ -7039,6 +7098,13 @@ module Aws::MediaConnect
7039
7098
  # resp.router_input.maintenance_schedule.window.start #=> Time
7040
7099
  # resp.router_input.maintenance_schedule.window.end #=> Time
7041
7100
  # resp.router_input.maintenance_schedule.window.scheduled_time #=> Time
7101
+ # resp.router_input.content_quality_analysis_type #=> String, one of "CONTENT_LEVEL"
7102
+ # resp.router_input.content_quality_analysis_configuration.content_level.black_frames.state #=> String, one of "ENABLED", "DISABLED"
7103
+ # resp.router_input.content_quality_analysis_configuration.content_level.black_frames.threshold_seconds #=> Integer
7104
+ # resp.router_input.content_quality_analysis_configuration.content_level.frozen_frames.state #=> String, one of "ENABLED", "DISABLED"
7105
+ # resp.router_input.content_quality_analysis_configuration.content_level.frozen_frames.threshold_seconds #=> Integer
7106
+ # resp.router_input.content_quality_analysis_configuration.content_level.silent_audio.state #=> String, one of "ENABLED", "DISABLED"
7107
+ # resp.router_input.content_quality_analysis_configuration.content_level.silent_audio.threshold_seconds #=> Integer
7042
7108
  #
7043
7109
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateRouterInput AWS API Documentation
7044
7110
  #
@@ -7321,7 +7387,7 @@ module Aws::MediaConnect
7321
7387
  tracer: tracer
7322
7388
  )
7323
7389
  context[:gem_name] = 'aws-sdk-mediaconnect'
7324
- context[:gem_version] = '1.102.0'
7390
+ context[:gem_version] = '1.103.0'
7325
7391
  Seahorse::Client::Request.new(handlers, context)
7326
7392
  end
7327
7393
 
@@ -63,6 +63,7 @@ module Aws::MediaConnect
63
63
  BatchGetRouterOutputRequestArnsList = Shapes::ListShape.new(name: 'BatchGetRouterOutputRequestArnsList')
64
64
  BatchGetRouterOutputResponse = Shapes::StructureShape.new(name: 'BatchGetRouterOutputResponse')
65
65
  BlackFrames = Shapes::StructureShape.new(name: 'BlackFrames')
66
+ BlackFramesConfiguration = Shapes::StructureShape.new(name: 'BlackFramesConfiguration')
66
67
  Blob = Shapes::BlobShape.new(name: 'Blob')
67
68
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
68
69
  Bridge = Shapes::StructureShape.new(name: 'Bridge')
@@ -75,9 +76,11 @@ module Aws::MediaConnect
75
76
  BridgePlacement = Shapes::StringShape.new(name: 'BridgePlacement')
76
77
  BridgeSource = Shapes::StructureShape.new(name: 'BridgeSource')
77
78
  BridgeState = Shapes::StringShape.new(name: 'BridgeState')
79
+ ClientToken = Shapes::StringShape.new(name: 'ClientToken')
78
80
  Colorimetry = Shapes::StringShape.new(name: 'Colorimetry')
79
81
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
80
82
  ConnectionStatus = Shapes::StringShape.new(name: 'ConnectionStatus')
83
+ ContentQualityAnalysisFeatureConfiguration = Shapes::StructureShape.new(name: 'ContentQualityAnalysisFeatureConfiguration')
81
84
  ContentQualityAnalysisState = Shapes::StringShape.new(name: 'ContentQualityAnalysisState')
82
85
  CreateBridge420Exception = Shapes::StructureShape.new(name: 'CreateBridge420Exception')
83
86
  CreateBridgeRequest = Shapes::StructureShape.new(name: 'CreateBridgeRequest')
@@ -175,6 +178,7 @@ module Aws::MediaConnect
175
178
  ForwardErrorCorrectionState = Shapes::StringShape.new(name: 'ForwardErrorCorrectionState')
176
179
  FrameResolution = Shapes::StructureShape.new(name: 'FrameResolution')
177
180
  FrozenFrames = Shapes::StructureShape.new(name: 'FrozenFrames')
181
+ FrozenFramesConfiguration = Shapes::StructureShape.new(name: 'FrozenFramesConfiguration')
178
182
  Gateway = Shapes::StructureShape.new(name: 'Gateway')
179
183
  GatewayBridgeSource = Shapes::StructureShape.new(name: 'GatewayBridgeSource')
180
184
  GatewayInstance = Shapes::StructureShape.new(name: 'GatewayInstance')
@@ -346,6 +350,9 @@ module Aws::MediaConnect
346
350
  RistRouterOutputConfiguration = Shapes::StructureShape.new(name: 'RistRouterOutputConfiguration')
347
351
  RistRouterOutputConfigurationDestinationPortInteger = Shapes::IntegerShape.new(name: 'RistRouterOutputConfigurationDestinationPortInteger')
348
352
  RoleArn = Shapes::StringShape.new(name: 'RoleArn')
353
+ RouterContentQualityAnalysisConfiguration = Shapes::UnionShape.new(name: 'RouterContentQualityAnalysisConfiguration')
354
+ RouterContentQualityAnalysisType = Shapes::StringShape.new(name: 'RouterContentQualityAnalysisType')
355
+ RouterCqaThresholdSeconds = Shapes::IntegerShape.new(name: 'RouterCqaThresholdSeconds')
349
356
  RouterInput = Shapes::StructureShape.new(name: 'RouterInput')
350
357
  RouterInputArn = Shapes::StringShape.new(name: 'RouterInputArn')
351
358
  RouterInputArnList = Shapes::ListShape.new(name: 'RouterInputArnList')
@@ -412,6 +419,7 @@ module Aws::MediaConnect
412
419
  SetSourceRequest = Shapes::StructureShape.new(name: 'SetSourceRequest')
413
420
  SetSourceRequestEntitlementArnString = Shapes::StringShape.new(name: 'SetSourceRequestEntitlementArnString')
414
421
  SilentAudio = Shapes::StructureShape.new(name: 'SilentAudio')
422
+ SilentAudioConfiguration = Shapes::StructureShape.new(name: 'SilentAudioConfiguration')
415
423
  Source = Shapes::StructureShape.new(name: 'Source')
416
424
  SourcePriority = Shapes::StructureShape.new(name: 'SourcePriority')
417
425
  SourceType = Shapes::StringShape.new(name: 'SourceType')
@@ -753,6 +761,10 @@ module Aws::MediaConnect
753
761
  BlackFrames.add_member(:threshold_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "thresholdSeconds"))
754
762
  BlackFrames.struct_class = Types::BlackFrames
755
763
 
764
+ BlackFramesConfiguration.add_member(:state, Shapes::ShapeRef.new(shape: ContentQualityAnalysisState, required: true, location_name: "state"))
765
+ BlackFramesConfiguration.add_member(:threshold_seconds, Shapes::ShapeRef.new(shape: RouterCqaThresholdSeconds, required: true, location_name: "thresholdSeconds"))
766
+ BlackFramesConfiguration.struct_class = Types::BlackFramesConfiguration
767
+
756
768
  Bridge.add_member(:bridge_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "bridgeArn"))
757
769
  Bridge.add_member(:bridge_messages, Shapes::ShapeRef.new(shape: __listOfMessageDetail, location_name: "bridgeMessages"))
758
770
  Bridge.add_member(:bridge_state, Shapes::ShapeRef.new(shape: BridgeState, required: true, location_name: "bridgeState"))
@@ -803,6 +815,11 @@ module Aws::MediaConnect
803
815
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
804
816
  ConflictException.struct_class = Types::ConflictException
805
817
 
818
+ ContentQualityAnalysisFeatureConfiguration.add_member(:black_frames, Shapes::ShapeRef.new(shape: BlackFramesConfiguration, location_name: "blackFrames"))
819
+ ContentQualityAnalysisFeatureConfiguration.add_member(:frozen_frames, Shapes::ShapeRef.new(shape: FrozenFramesConfiguration, location_name: "frozenFrames"))
820
+ ContentQualityAnalysisFeatureConfiguration.add_member(:silent_audio, Shapes::ShapeRef.new(shape: SilentAudioConfiguration, location_name: "silentAudio"))
821
+ ContentQualityAnalysisFeatureConfiguration.struct_class = Types::ContentQualityAnalysisFeatureConfiguration
822
+
806
823
  CreateBridge420Exception.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
807
824
  CreateBridge420Exception.struct_class = Types::CreateBridge420Exception
808
825
 
@@ -862,7 +879,8 @@ module Aws::MediaConnect
862
879
  CreateRouterInputRequest.add_member(:transit_encryption, Shapes::ShapeRef.new(shape: RouterInputTransitEncryption, location_name: "transitEncryption"))
863
880
  CreateRouterInputRequest.add_member(:maintenance_configuration, Shapes::ShapeRef.new(shape: MaintenanceConfiguration, location_name: "maintenanceConfiguration"))
864
881
  CreateRouterInputRequest.add_member(:tags, Shapes::ShapeRef.new(shape: __mapOfString, location_name: "tags"))
865
- CreateRouterInputRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
882
+ CreateRouterInputRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
883
+ CreateRouterInputRequest.add_member(:content_quality_analysis_configuration, Shapes::ShapeRef.new(shape: RouterContentQualityAnalysisConfiguration, location_name: "contentQualityAnalysisConfiguration"))
866
884
  CreateRouterInputRequest.struct_class = Types::CreateRouterInputRequest
867
885
 
868
886
  CreateRouterInputResponse.add_member(:router_input, Shapes::ShapeRef.new(shape: RouterInput, required: true, location_name: "routerInput"))
@@ -872,7 +890,7 @@ module Aws::MediaConnect
872
890
  CreateRouterNetworkInterfaceRequest.add_member(:configuration, Shapes::ShapeRef.new(shape: RouterNetworkInterfaceConfiguration, required: true, location_name: "configuration"))
873
891
  CreateRouterNetworkInterfaceRequest.add_member(:region_name, Shapes::ShapeRef.new(shape: String, location_name: "regionName"))
874
892
  CreateRouterNetworkInterfaceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: __mapOfString, location_name: "tags"))
875
- CreateRouterNetworkInterfaceRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
893
+ CreateRouterNetworkInterfaceRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
876
894
  CreateRouterNetworkInterfaceRequest.struct_class = Types::CreateRouterNetworkInterfaceRequest
877
895
 
878
896
  CreateRouterNetworkInterfaceResponse.add_member(:router_network_interface, Shapes::ShapeRef.new(shape: RouterNetworkInterface, required: true, location_name: "routerNetworkInterface"))
@@ -887,7 +905,7 @@ module Aws::MediaConnect
887
905
  CreateRouterOutputRequest.add_member(:availability_zone, Shapes::ShapeRef.new(shape: String, location_name: "availabilityZone"))
888
906
  CreateRouterOutputRequest.add_member(:maintenance_configuration, Shapes::ShapeRef.new(shape: MaintenanceConfiguration, location_name: "maintenanceConfiguration"))
889
907
  CreateRouterOutputRequest.add_member(:tags, Shapes::ShapeRef.new(shape: __mapOfString, location_name: "tags"))
890
- CreateRouterOutputRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
908
+ CreateRouterOutputRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
891
909
  CreateRouterOutputRequest.struct_class = Types::CreateRouterOutputRequest
892
910
 
893
911
  CreateRouterOutputResponse.add_member(:router_output, Shapes::ShapeRef.new(shape: RouterOutput, required: true, location_name: "routerOutput"))
@@ -1141,6 +1159,10 @@ module Aws::MediaConnect
1141
1159
  FrozenFrames.add_member(:threshold_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "thresholdSeconds"))
1142
1160
  FrozenFrames.struct_class = Types::FrozenFrames
1143
1161
 
1162
+ FrozenFramesConfiguration.add_member(:state, Shapes::ShapeRef.new(shape: ContentQualityAnalysisState, required: true, location_name: "state"))
1163
+ FrozenFramesConfiguration.add_member(:threshold_seconds, Shapes::ShapeRef.new(shape: RouterCqaThresholdSeconds, required: true, location_name: "thresholdSeconds"))
1164
+ FrozenFramesConfiguration.struct_class = Types::FrozenFramesConfiguration
1165
+
1144
1166
  Gateway.add_member(:egress_cidr_blocks, Shapes::ShapeRef.new(shape: __listOfString, required: true, location_name: "egressCidrBlocks"))
1145
1167
  Gateway.add_member(:gateway_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "gatewayArn"))
1146
1168
  Gateway.add_member(:gateway_messages, Shapes::ShapeRef.new(shape: __listOfMessageDetail, location_name: "gatewayMessages"))
@@ -1759,6 +1781,12 @@ module Aws::MediaConnect
1759
1781
  RistRouterOutputConfiguration.add_member(:destination_port, Shapes::ShapeRef.new(shape: RistRouterOutputConfigurationDestinationPortInteger, required: true, location_name: "destinationPort"))
1760
1782
  RistRouterOutputConfiguration.struct_class = Types::RistRouterOutputConfiguration
1761
1783
 
1784
+ RouterContentQualityAnalysisConfiguration.add_member(:content_level, Shapes::ShapeRef.new(shape: ContentQualityAnalysisFeatureConfiguration, location_name: "contentLevel"))
1785
+ RouterContentQualityAnalysisConfiguration.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
1786
+ RouterContentQualityAnalysisConfiguration.add_member_subclass(:content_level, Types::RouterContentQualityAnalysisConfiguration::ContentLevel)
1787
+ RouterContentQualityAnalysisConfiguration.add_member_subclass(:unknown, Types::RouterContentQualityAnalysisConfiguration::Unknown)
1788
+ RouterContentQualityAnalysisConfiguration.struct_class = Types::RouterContentQualityAnalysisConfiguration
1789
+
1762
1790
  RouterInput.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
1763
1791
  RouterInput.add_member(:arn, Shapes::ShapeRef.new(shape: RouterInputArn, required: true, location_name: "arn"))
1764
1792
  RouterInput.add_member(:id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "id"))
@@ -1783,6 +1811,8 @@ module Aws::MediaConnect
1783
1811
  RouterInput.add_member(:maintenance_configuration, Shapes::ShapeRef.new(shape: MaintenanceConfiguration, required: true, location_name: "maintenanceConfiguration"))
1784
1812
  RouterInput.add_member(:maintenance_schedule_type, Shapes::ShapeRef.new(shape: MaintenanceScheduleType, location_name: "maintenanceScheduleType"))
1785
1813
  RouterInput.add_member(:maintenance_schedule, Shapes::ShapeRef.new(shape: MaintenanceSchedule, location_name: "maintenanceSchedule"))
1814
+ RouterInput.add_member(:content_quality_analysis_type, Shapes::ShapeRef.new(shape: RouterContentQualityAnalysisType, required: true, location_name: "contentQualityAnalysisType"))
1815
+ RouterInput.add_member(:content_quality_analysis_configuration, Shapes::ShapeRef.new(shape: RouterContentQualityAnalysisConfiguration, required: true, location_name: "contentQualityAnalysisConfiguration"))
1786
1816
  RouterInput.struct_class = Types::RouterInput
1787
1817
 
1788
1818
  RouterInputArnList.member = Shapes::ShapeRef.new(shape: RouterInputArn)
@@ -2067,6 +2097,10 @@ module Aws::MediaConnect
2067
2097
  SilentAudio.add_member(:threshold_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "thresholdSeconds"))
2068
2098
  SilentAudio.struct_class = Types::SilentAudio
2069
2099
 
2100
+ SilentAudioConfiguration.add_member(:state, Shapes::ShapeRef.new(shape: ContentQualityAnalysisState, required: true, location_name: "state"))
2101
+ SilentAudioConfiguration.add_member(:threshold_seconds, Shapes::ShapeRef.new(shape: RouterCqaThresholdSeconds, required: true, location_name: "thresholdSeconds"))
2102
+ SilentAudioConfiguration.struct_class = Types::SilentAudioConfiguration
2103
+
2070
2104
  Source.add_member(:data_transfer_subscriber_fee_percent, Shapes::ShapeRef.new(shape: Integer, location_name: "dataTransferSubscriberFeePercent"))
2071
2105
  Source.add_member(:decryption, Shapes::ShapeRef.new(shape: Encryption, location_name: "decryption"))
2072
2106
  Source.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
@@ -2463,6 +2497,7 @@ module Aws::MediaConnect
2463
2497
  UpdateRouterInputRequest.add_member(:tier, Shapes::ShapeRef.new(shape: RouterInputTier, location_name: "tier"))
2464
2498
  UpdateRouterInputRequest.add_member(:transit_encryption, Shapes::ShapeRef.new(shape: RouterInputTransitEncryption, location_name: "transitEncryption"))
2465
2499
  UpdateRouterInputRequest.add_member(:maintenance_configuration, Shapes::ShapeRef.new(shape: MaintenanceConfiguration, location_name: "maintenanceConfiguration"))
2500
+ UpdateRouterInputRequest.add_member(:content_quality_analysis_configuration, Shapes::ShapeRef.new(shape: RouterContentQualityAnalysisConfiguration, location_name: "contentQualityAnalysisConfiguration"))
2466
2501
  UpdateRouterInputRequest.struct_class = Types::UpdateRouterInputRequest
2467
2502
 
2468
2503
  UpdateRouterInputResponse.add_member(:router_input, Shapes::ShapeRef.new(shape: RouterInput, required: true, location_name: "routerInput"))
@@ -871,7 +871,7 @@ module Aws::MediaConnect
871
871
  # Configures settings for the `BlackFrames` metric.
872
872
  #
873
873
  # @!attribute [rw] state
874
- # Indicates whether the `BlackFrames` metric is enabled or disabled..
874
+ # Indicates whether the `BlackFrames` metric is enabled or disabled.
875
875
  # @return [String]
876
876
  #
877
877
  # @!attribute [rw] threshold_seconds
@@ -888,6 +888,28 @@ module Aws::MediaConnect
888
888
  include Aws::Structure
889
889
  end
890
890
 
891
+ # Detects black frames in the router input's source content and reports
892
+ # them through a CloudWatch metric, an EventBridge event, and a router
893
+ # input message.
894
+ #
895
+ # @!attribute [rw] state
896
+ # Indicates whether black frames detection is enabled or disabled.
897
+ # @return [String]
898
+ #
899
+ # @!attribute [rw] threshold_seconds
900
+ # The number of consecutive seconds of black frames that MediaConnect
901
+ # must detect before it reports an issue.
902
+ # @return [Integer]
903
+ #
904
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/BlackFramesConfiguration AWS API Documentation
905
+ #
906
+ class BlackFramesConfiguration < Struct.new(
907
+ :state,
908
+ :threshold_seconds)
909
+ SENSITIVE = []
910
+ include Aws::Structure
911
+ end
912
+
891
913
  # A Bridge is the connection between your data center's Instances and
892
914
  # the Amazon Web Services cloud. A bridge can be used to send video from
893
915
  # the Amazon Web Services cloud to your data center or from your data
@@ -1150,6 +1172,30 @@ module Aws::MediaConnect
1150
1172
  include Aws::Structure
1151
1173
  end
1152
1174
 
1175
+ # Configures the content quality analysis features for the router input.
1176
+ #
1177
+ # @!attribute [rw] black_frames
1178
+ # Settings for black frames detection.
1179
+ # @return [Types::BlackFramesConfiguration]
1180
+ #
1181
+ # @!attribute [rw] frozen_frames
1182
+ # Settings for frozen frames detection.
1183
+ # @return [Types::FrozenFramesConfiguration]
1184
+ #
1185
+ # @!attribute [rw] silent_audio
1186
+ # Settings for silent audio detection.
1187
+ # @return [Types::SilentAudioConfiguration]
1188
+ #
1189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/ContentQualityAnalysisFeatureConfiguration AWS API Documentation
1190
+ #
1191
+ class ContentQualityAnalysisFeatureConfiguration < Struct.new(
1192
+ :black_frames,
1193
+ :frozen_frames,
1194
+ :silent_audio)
1195
+ SENSITIVE = []
1196
+ include Aws::Structure
1197
+ end
1198
+
1153
1199
  # Exception raised by Elemental MediaConnect when creating the bridge.
1154
1200
  # See the error message for the operation for more information on the
1155
1201
  # cause of this exception.
@@ -1448,6 +1494,10 @@ module Aws::MediaConnect
1448
1494
  # not need to pass this option.
1449
1495
  # @return [String]
1450
1496
  #
1497
+ # @!attribute [rw] content_quality_analysis_configuration
1498
+ # The content quality analysis configuration for the router input.
1499
+ # @return [Types::RouterContentQualityAnalysisConfiguration]
1500
+ #
1451
1501
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/CreateRouterInputRequest AWS API Documentation
1452
1502
  #
1453
1503
  class CreateRouterInputRequest < Struct.new(
@@ -1461,7 +1511,8 @@ module Aws::MediaConnect
1461
1511
  :transit_encryption,
1462
1512
  :maintenance_configuration,
1463
1513
  :tags,
1464
- :client_token)
1514
+ :client_token,
1515
+ :content_quality_analysis_configuration)
1465
1516
  SENSITIVE = []
1466
1517
  include Aws::Structure
1467
1518
  end
@@ -2829,6 +2880,28 @@ module Aws::MediaConnect
2829
2880
  include Aws::Structure
2830
2881
  end
2831
2882
 
2883
+ # Detects frozen video frames in the router input's source content and
2884
+ # reports them through a CloudWatch metric, an EventBridge event, and a
2885
+ # router input message.
2886
+ #
2887
+ # @!attribute [rw] state
2888
+ # Indicates whether frozen frames detection is enabled or disabled.
2889
+ # @return [String]
2890
+ #
2891
+ # @!attribute [rw] threshold_seconds
2892
+ # The number of consecutive seconds of a frozen frame that
2893
+ # MediaConnect must detect before it reports an issue.
2894
+ # @return [Integer]
2895
+ #
2896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/FrozenFramesConfiguration AWS API Documentation
2897
+ #
2898
+ class FrozenFramesConfiguration < Struct.new(
2899
+ :state,
2900
+ :threshold_seconds)
2901
+ SENSITIVE = []
2902
+ include Aws::Structure
2903
+ end
2904
+
2832
2905
  # The settings for a gateway, including its networks.
2833
2906
  #
2834
2907
  # @!attribute [rw] egress_cidr_blocks
@@ -6014,6 +6087,33 @@ module Aws::MediaConnect
6014
6087
  include Aws::Structure
6015
6088
  end
6016
6089
 
6090
+ # The content quality analysis configuration for the router input.
6091
+ #
6092
+ # The content quality analysis feature only monitors the first video
6093
+ # stream and the first audio stream it encounters within the router
6094
+ # input source.
6095
+ #
6096
+ # @note RouterContentQualityAnalysisConfiguration is a union - when making an API calls you must set exactly one of the members.
6097
+ #
6098
+ # @note RouterContentQualityAnalysisConfiguration is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of RouterContentQualityAnalysisConfiguration corresponding to the set member.
6099
+ #
6100
+ # @!attribute [rw] content_level
6101
+ # The content quality analysis configuration.
6102
+ # @return [Types::ContentQualityAnalysisFeatureConfiguration]
6103
+ #
6104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RouterContentQualityAnalysisConfiguration AWS API Documentation
6105
+ #
6106
+ class RouterContentQualityAnalysisConfiguration < Struct.new(
6107
+ :content_level,
6108
+ :unknown)
6109
+ SENSITIVE = []
6110
+ include Aws::Structure
6111
+ include Aws::Structure::Union
6112
+
6113
+ class ContentLevel < RouterContentQualityAnalysisConfiguration; end
6114
+ class Unknown < RouterContentQualityAnalysisConfiguration; end
6115
+ end
6116
+
6017
6117
  # A router input in AWS Elemental MediaConnect. A router input is a
6018
6118
  # source of media content that can be routed to one or more router
6019
6119
  # outputs.
@@ -6118,6 +6218,14 @@ module Aws::MediaConnect
6118
6218
  # The current maintenance schedule details for this router input.
6119
6219
  # @return [Types::MaintenanceSchedule]
6120
6220
  #
6221
+ # @!attribute [rw] content_quality_analysis_type
6222
+ # The type of content quality analysis applied to the router input.
6223
+ # @return [String]
6224
+ #
6225
+ # @!attribute [rw] content_quality_analysis_configuration
6226
+ # The content quality analysis configuration for the router input.
6227
+ # @return [Types::RouterContentQualityAnalysisConfiguration]
6228
+ #
6121
6229
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/RouterInput AWS API Documentation
6122
6230
  #
6123
6231
  class RouterInput < Struct.new(
@@ -6144,7 +6252,9 @@ module Aws::MediaConnect
6144
6252
  :maintenance_type,
6145
6253
  :maintenance_configuration,
6146
6254
  :maintenance_schedule_type,
6147
- :maintenance_schedule)
6255
+ :maintenance_schedule,
6256
+ :content_quality_analysis_type,
6257
+ :content_quality_analysis_configuration)
6148
6258
  SENSITIVE = []
6149
6259
  include Aws::Structure
6150
6260
  end
@@ -7294,6 +7404,28 @@ module Aws::MediaConnect
7294
7404
  include Aws::Structure
7295
7405
  end
7296
7406
 
7407
+ # Detects silent audio in the router input's source content and reports
7408
+ # it through a CloudWatch metric, an EventBridge event, and a router
7409
+ # input message.
7410
+ #
7411
+ # @!attribute [rw] state
7412
+ # Indicates whether silent audio detection is enabled or disabled.
7413
+ # @return [String]
7414
+ #
7415
+ # @!attribute [rw] threshold_seconds
7416
+ # The number of consecutive seconds of silence that MediaConnect must
7417
+ # detect before it reports an issue.
7418
+ # @return [Integer]
7419
+ #
7420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/SilentAudioConfiguration AWS API Documentation
7421
+ #
7422
+ class SilentAudioConfiguration < Struct.new(
7423
+ :state,
7424
+ :threshold_seconds)
7425
+ SENSITIVE = []
7426
+ include Aws::Structure
7427
+ end
7428
+
7297
7429
  # The settings for the source of the flow.
7298
7430
  #
7299
7431
  # @!attribute [rw] data_transfer_subscriber_fee_percent
@@ -7337,12 +7469,12 @@ module Aws::MediaConnect
7337
7469
  # @return [String]
7338
7470
  #
7339
7471
  # @!attribute [rw] sender_control_port
7340
- # The IP address that the flow communicates with to initiate
7472
+ # The port that the flow uses to send outbound requests to initiate
7341
7473
  # connection with the sender.
7342
7474
  # @return [Integer]
7343
7475
  #
7344
7476
  # @!attribute [rw] sender_ip_address
7345
- # The port that the flow uses to send outbound requests to initiate
7477
+ # The IP address that the flow communicates with to initiate
7346
7478
  # connection with the sender.
7347
7479
  # @return [String]
7348
7480
  #
@@ -9371,6 +9503,10 @@ module Aws::MediaConnect
9371
9503
  # schedules.
9372
9504
  # @return [Types::MaintenanceConfiguration]
9373
9505
  #
9506
+ # @!attribute [rw] content_quality_analysis_configuration
9507
+ # The content quality analysis configuration for the router input.
9508
+ # @return [Types::RouterContentQualityAnalysisConfiguration]
9509
+ #
9374
9510
  # @see http://docs.aws.amazon.com/goto/WebAPI/mediaconnect-2018-11-14/UpdateRouterInputRequest AWS API Documentation
9375
9511
  #
9376
9512
  class UpdateRouterInputRequest < Struct.new(
@@ -9381,7 +9517,8 @@ module Aws::MediaConnect
9381
9517
  :routing_scope,
9382
9518
  :tier,
9383
9519
  :transit_encryption,
9384
- :maintenance_configuration)
9520
+ :maintenance_configuration,
9521
+ :content_quality_analysis_configuration)
9385
9522
  SENSITIVE = []
9386
9523
  include Aws::Structure
9387
9524
  end
@@ -55,7 +55,7 @@ module Aws::MediaConnect
55
55
  autoload :EndpointProvider, 'aws-sdk-mediaconnect/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-mediaconnect/endpoints'
57
57
 
58
- GEM_VERSION = '1.102.0'
58
+ GEM_VERSION = '1.103.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -293,7 +293,8 @@ module Aws
293
293
  ?transit_encryption: Params::router_input_transit_encryption,
294
294
  ?maintenance_configuration: Params::maintenance_configuration,
295
295
  ?tags: Hash[::String, ::String],
296
- ?client_token: ::String
296
+ ?client_token: ::String,
297
+ ?content_quality_analysis_configuration: Params::router_content_quality_analysis_configuration
297
298
  ) -> _CreateRouterInputResponseSuccess
298
299
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateRouterInputResponseSuccess
299
300
 
@@ -1204,7 +1205,8 @@ module Aws
1204
1205
  ?routing_scope: ("REGIONAL" | "GLOBAL"),
1205
1206
  ?tier: ("INPUT_100" | "INPUT_50" | "INPUT_20"),
1206
1207
  ?transit_encryption: Params::router_input_transit_encryption,
1207
- ?maintenance_configuration: Params::maintenance_configuration
1208
+ ?maintenance_configuration: Params::maintenance_configuration,
1209
+ ?content_quality_analysis_configuration: Params::router_content_quality_analysis_configuration
1208
1210
  ) -> _UpdateRouterInputResponseSuccess
1209
1211
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateRouterInputResponseSuccess
1210
1212
 
data/sig/params.rbs CHANGED
@@ -399,6 +399,25 @@ module Aws
399
399
  }?
400
400
  }
401
401
 
402
+ type content_quality_analysis_feature_configuration = {
403
+ black_frames: {
404
+ state: ("ENABLED" | "DISABLED"),
405
+ threshold_seconds: ::Integer
406
+ }?,
407
+ frozen_frames: {
408
+ state: ("ENABLED" | "DISABLED"),
409
+ threshold_seconds: ::Integer
410
+ }?,
411
+ silent_audio: {
412
+ state: ("ENABLED" | "DISABLED"),
413
+ threshold_seconds: ::Integer
414
+ }?
415
+ }
416
+
417
+ type router_content_quality_analysis_configuration = {
418
+ content_level: Params::content_quality_analysis_feature_configuration?
419
+ }
420
+
402
421
  type router_network_interface_configuration = {
403
422
  public: {
404
423
  allow_rules: Array[
data/sig/types.rbs CHANGED
@@ -251,6 +251,12 @@ module Aws::MediaConnect
251
251
  SENSITIVE: []
252
252
  end
253
253
 
254
+ class BlackFramesConfiguration
255
+ attr_accessor state: ("ENABLED" | "DISABLED")
256
+ attr_accessor threshold_seconds: ::Integer
257
+ SENSITIVE: []
258
+ end
259
+
254
260
  class Bridge
255
261
  attr_accessor bridge_arn: ::String
256
262
  attr_accessor bridge_messages: ::Array[Types::MessageDetail]
@@ -317,6 +323,13 @@ module Aws::MediaConnect
317
323
  SENSITIVE: []
318
324
  end
319
325
 
326
+ class ContentQualityAnalysisFeatureConfiguration
327
+ attr_accessor black_frames: Types::BlackFramesConfiguration
328
+ attr_accessor frozen_frames: Types::FrozenFramesConfiguration
329
+ attr_accessor silent_audio: Types::SilentAudioConfiguration
330
+ SENSITIVE: []
331
+ end
332
+
320
333
  class CreateBridge420Exception
321
334
  attr_accessor message: ::String
322
335
  SENSITIVE: []
@@ -396,6 +409,7 @@ module Aws::MediaConnect
396
409
  attr_accessor maintenance_configuration: Types::MaintenanceConfiguration
397
410
  attr_accessor tags: ::Hash[::String, ::String]
398
411
  attr_accessor client_token: ::String
412
+ attr_accessor content_quality_analysis_configuration: Types::RouterContentQualityAnalysisConfiguration
399
413
  SENSITIVE: []
400
414
  end
401
415
 
@@ -796,6 +810,12 @@ module Aws::MediaConnect
796
810
  SENSITIVE: []
797
811
  end
798
812
 
813
+ class FrozenFramesConfiguration
814
+ attr_accessor state: ("ENABLED" | "DISABLED")
815
+ attr_accessor threshold_seconds: ::Integer
816
+ SENSITIVE: []
817
+ end
818
+
799
819
  class Gateway
800
820
  attr_accessor egress_cidr_blocks: ::Array[::String]
801
821
  attr_accessor gateway_arn: ::String
@@ -1657,6 +1677,17 @@ module Aws::MediaConnect
1657
1677
  SENSITIVE: []
1658
1678
  end
1659
1679
 
1680
+ class RouterContentQualityAnalysisConfiguration
1681
+ attr_accessor content_level: Types::ContentQualityAnalysisFeatureConfiguration
1682
+ attr_accessor unknown: untyped
1683
+ SENSITIVE: []
1684
+
1685
+ class ContentLevel < RouterContentQualityAnalysisConfiguration
1686
+ end
1687
+ class Unknown < RouterContentQualityAnalysisConfiguration
1688
+ end
1689
+ end
1690
+
1660
1691
  class RouterInput
1661
1692
  attr_accessor name: ::String
1662
1693
  attr_accessor arn: ::String
@@ -1682,6 +1713,8 @@ module Aws::MediaConnect
1682
1713
  attr_accessor maintenance_configuration: Types::MaintenanceConfiguration
1683
1714
  attr_accessor maintenance_schedule_type: ("WINDOW")
1684
1715
  attr_accessor maintenance_schedule: Types::MaintenanceSchedule
1716
+ attr_accessor content_quality_analysis_type: ("CONTENT_LEVEL")
1717
+ attr_accessor content_quality_analysis_configuration: Types::RouterContentQualityAnalysisConfiguration
1685
1718
  SENSITIVE: []
1686
1719
  end
1687
1720
 
@@ -2064,6 +2097,12 @@ module Aws::MediaConnect
2064
2097
  SENSITIVE: []
2065
2098
  end
2066
2099
 
2100
+ class SilentAudioConfiguration
2101
+ attr_accessor state: ("ENABLED" | "DISABLED")
2102
+ attr_accessor threshold_seconds: ::Integer
2103
+ SENSITIVE: []
2104
+ end
2105
+
2067
2106
  class Source
2068
2107
  attr_accessor data_transfer_subscriber_fee_percent: ::Integer
2069
2108
  attr_accessor decryption: Types::Encryption
@@ -2589,6 +2628,7 @@ module Aws::MediaConnect
2589
2628
  attr_accessor tier: ("INPUT_100" | "INPUT_50" | "INPUT_20")
2590
2629
  attr_accessor transit_encryption: Types::RouterInputTransitEncryption
2591
2630
  attr_accessor maintenance_configuration: Types::MaintenanceConfiguration
2631
+ attr_accessor content_quality_analysis_configuration: Types::RouterContentQualityAnalysisConfiguration
2592
2632
  SENSITIVE: []
2593
2633
  end
2594
2634
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-mediaconnect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.102.0
4
+ version: 1.103.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services