aws-sdk-kinesisvideo 1.41.0 → 1.42.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d6873bf0159c33db60825a78d0af7456237820adf0459be69e9516f28644a867
4
- data.tar.gz: a1e511b01505d08c0a94ddb130cc7835401ae5c60238258d542acb8e8d90ddcc
3
+ metadata.gz: 37b15a6a5e103f647a447918dcca1dbea04af6cb4b59a93eadeb619823ea384d
4
+ data.tar.gz: b3136ea4288365d281afc30c9fe537f081bc4f0470a65e5f84adc6048400ea8e
5
5
  SHA512:
6
- metadata.gz: 9098747af9c2431660bbcfe3a1aa8cc3db6d409d9f193cf6e5605d87f8721163964681df5cdf84f3c5ec84572fdb8d810c64b0e097985d44d14ce777dc9d658a
7
- data.tar.gz: 4df8e925ed46f40ebe9f7758ac35b5862224de84bdb5183e89da97350e0f146c6efe6079d92ce1a8361304128c151e29ea7e75ded45119c39c165ff00163f95e
6
+ metadata.gz: 5c347ea27526bac42519027f72cf6fa35c63119ae48e353ad1b7a440f1424d520ee6f5cba0f80ddcc1a08eb1c193bf12ce0ba3756c4adeeea32aefce4ee33c93
7
+ data.tar.gz: 0a44a6e0c03a3b049449981a89ec6fe4da4046015a1e04aaeae9a839f9244c5541781ac5491131b7b937d1fb525399d2cfdc555acfe95e70c59db0976647a733
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.42.0 (2022-05-03)
5
+ ------------------
6
+
7
+ * Feature - Add support for multiple image feature related APIs for configuring image generation and notification of a video stream. Add "GET_IMAGES" to the list of supported API names for the GetDataEndpoint API.
8
+
4
9
  1.41.0 (2022-02-24)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.41.0
1
+ 1.42.0
@@ -357,7 +357,8 @@ module Aws::KinesisVideo
357
357
  #
358
358
  # @option params [required, String] :channel_name
359
359
  # A name for the signaling channel that you are creating. It must be
360
- # unique for each AWS account and AWS Region.
360
+ # unique for each Amazon Web Services account and Amazon Web Services
361
+ # Region.
361
362
  #
362
363
  # @option params [String] :channel_type
363
364
  # A type of the signaling channel that you are creating. Currently,
@@ -379,7 +380,7 @@ module Aws::KinesisVideo
379
380
  #
380
381
  # resp = client.create_signaling_channel({
381
382
  # channel_name: "ChannelName", # required
382
- # channel_type: "SINGLE_MASTER", # accepts SINGLE_MASTER
383
+ # channel_type: "SINGLE_MASTER", # accepts SINGLE_MASTER, FULL_MESH
383
384
  # single_master_configuration: {
384
385
  # message_ttl_seconds: 1,
385
386
  # },
@@ -452,8 +453,8 @@ module Aws::KinesisVideo
452
453
  # [2]: https://tools.ietf.org/html/rfc6838#section-4.2
453
454
  #
454
455
  # @option params [String] :kms_key_id
455
- # The ID of the AWS Key Management Service (AWS KMS) key that you want
456
- # Kinesis Video Streams to use to encrypt stream data.
456
+ # The ID of the Key Management Service (KMS) key that you want Kinesis
457
+ # Video Streams to use to encrypt stream data.
457
458
  #
458
459
  # If no key ID is specified, the default, Kinesis Video-managed key
459
460
  # (`aws/kinesisvideo`) is used.
@@ -590,6 +591,89 @@ module Aws::KinesisVideo
590
591
  req.send_request(options)
591
592
  end
592
593
 
594
+ # Gets the `ImageGenerationConfiguration` for a given Kinesis video
595
+ # stream.
596
+ #
597
+ # @option params [String] :stream_name
598
+ # The name of the stream from which to retrieve the image generation
599
+ # configuration. You must specify either the `StreamName` or the
600
+ # `StreamARN`.
601
+ #
602
+ # @option params [String] :stream_arn
603
+ # The Amazon Resource Name (ARN) of the Kinesis video stream from which
604
+ # to retrieve the image generation configuration. You must specify
605
+ # either the `StreamName` or the `StreamARN`.
606
+ #
607
+ # @return [Types::DescribeImageGenerationConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
608
+ #
609
+ # * {Types::DescribeImageGenerationConfigurationOutput#image_generation_configuration #image_generation_configuration} => Types::ImageGenerationConfiguration
610
+ #
611
+ # @example Request syntax with placeholder values
612
+ #
613
+ # resp = client.describe_image_generation_configuration({
614
+ # stream_name: "StreamName",
615
+ # stream_arn: "ResourceARN",
616
+ # })
617
+ #
618
+ # @example Response structure
619
+ #
620
+ # resp.image_generation_configuration.status #=> String, one of "ENABLED", "DISABLED"
621
+ # resp.image_generation_configuration.image_selector_type #=> String, one of "SERVER_TIMESTAMP", "PRODUCER_TIMESTAMP"
622
+ # resp.image_generation_configuration.destination_config.uri #=> String
623
+ # resp.image_generation_configuration.destination_config.destination_region #=> String
624
+ # resp.image_generation_configuration.sampling_interval #=> Integer
625
+ # resp.image_generation_configuration.format #=> String, one of "JPEG", "PNG"
626
+ # resp.image_generation_configuration.format_config #=> Hash
627
+ # resp.image_generation_configuration.format_config["FormatConfigKey"] #=> String
628
+ # resp.image_generation_configuration.width_pixels #=> Integer
629
+ # resp.image_generation_configuration.height_pixels #=> Integer
630
+ #
631
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeImageGenerationConfiguration AWS API Documentation
632
+ #
633
+ # @overload describe_image_generation_configuration(params = {})
634
+ # @param [Hash] params ({})
635
+ def describe_image_generation_configuration(params = {}, options = {})
636
+ req = build_request(:describe_image_generation_configuration, params)
637
+ req.send_request(options)
638
+ end
639
+
640
+ # Gets the `NotificationConfiguration` for a given Kinesis video stream.
641
+ #
642
+ # @option params [String] :stream_name
643
+ # The name of the stream from which to retrieve the notification
644
+ # configuration. You must specify either the `StreamName` or the
645
+ # `StreamARN`.
646
+ #
647
+ # @option params [String] :stream_arn
648
+ # The Amazon Resource Name (ARN) of the Kinesis video stream from where
649
+ # you want to retrieve the notification configuration. You must specify
650
+ # either the `StreamName` or the StreamARN.
651
+ #
652
+ # @return [Types::DescribeNotificationConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
653
+ #
654
+ # * {Types::DescribeNotificationConfigurationOutput#notification_configuration #notification_configuration} => Types::NotificationConfiguration
655
+ #
656
+ # @example Request syntax with placeholder values
657
+ #
658
+ # resp = client.describe_notification_configuration({
659
+ # stream_name: "StreamName",
660
+ # stream_arn: "ResourceARN",
661
+ # })
662
+ #
663
+ # @example Response structure
664
+ #
665
+ # resp.notification_configuration.status #=> String, one of "ENABLED", "DISABLED"
666
+ # resp.notification_configuration.destination_config.uri #=> String
667
+ #
668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeNotificationConfiguration AWS API Documentation
669
+ #
670
+ # @overload describe_notification_configuration(params = {})
671
+ # @param [Hash] params ({})
672
+ def describe_notification_configuration(params = {}, options = {})
673
+ req = build_request(:describe_notification_configuration, params)
674
+ req.send_request(options)
675
+ end
676
+
593
677
  # Returns the most current information about the signaling channel. You
594
678
  # must specify either the name or the Amazon Resource Name (ARN) of the
595
679
  # channel that you want to describe.
@@ -615,7 +699,7 @@ module Aws::KinesisVideo
615
699
  #
616
700
  # resp.channel_info.channel_name #=> String
617
701
  # resp.channel_info.channel_arn #=> String
618
- # resp.channel_info.channel_type #=> String, one of "SINGLE_MASTER"
702
+ # resp.channel_info.channel_type #=> String, one of "SINGLE_MASTER", "FULL_MESH"
619
703
  # resp.channel_info.channel_status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING"
620
704
  # resp.channel_info.creation_time #=> Time
621
705
  # resp.channel_info.single_master_configuration.message_ttl_seconds #=> Integer
@@ -705,7 +789,7 @@ module Aws::KinesisVideo
705
789
  # resp = client.get_data_endpoint({
706
790
  # stream_name: "StreamName",
707
791
  # stream_arn: "ResourceARN",
708
- # api_name: "PUT_MEDIA", # required, accepts PUT_MEDIA, GET_MEDIA, LIST_FRAGMENTS, GET_MEDIA_FOR_FRAGMENT_LIST, GET_HLS_STREAMING_SESSION_URL, GET_DASH_STREAMING_SESSION_URL, GET_CLIP
792
+ # api_name: "PUT_MEDIA", # required, accepts PUT_MEDIA, GET_MEDIA, LIST_FRAGMENTS, GET_MEDIA_FOR_FRAGMENT_LIST, GET_HLS_STREAMING_SESSION_URL, GET_DASH_STREAMING_SESSION_URL, GET_CLIP, GET_IMAGES
709
793
  # })
710
794
  #
711
795
  # @example Response structure
@@ -814,7 +898,7 @@ module Aws::KinesisVideo
814
898
  # resp.channel_info_list #=> Array
815
899
  # resp.channel_info_list[0].channel_name #=> String
816
900
  # resp.channel_info_list[0].channel_arn #=> String
817
- # resp.channel_info_list[0].channel_type #=> String, one of "SINGLE_MASTER"
901
+ # resp.channel_info_list[0].channel_type #=> String, one of "SINGLE_MASTER", "FULL_MESH"
818
902
  # resp.channel_info_list[0].channel_status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING"
819
903
  # resp.channel_info_list[0].creation_time #=> Time
820
904
  # resp.channel_info_list[0].single_master_configuration.message_ttl_seconds #=> Integer
@@ -975,11 +1059,11 @@ module Aws::KinesisVideo
975
1059
  end
976
1060
 
977
1061
  # Adds one or more tags to a signaling channel. A *tag* is a key-value
978
- # pair (the value is optional) that you can define and assign to AWS
979
- # resources. If you specify a tag that already exists, the tag value is
980
- # replaced with the value that you specify in the request. For more
981
- # information, see [Using Cost Allocation Tags][1] in the *AWS Billing
982
- # and Cost Management User Guide*.
1062
+ # pair (the value is optional) that you can define and assign to Amazon
1063
+ # Web Services resources. If you specify a tag that already exists, the
1064
+ # tag value is replaced with the value that you specify in the request.
1065
+ # For more information, see [Using Cost Allocation Tags][1] in the
1066
+ # *Billing and Cost Management and Cost Management User Guide*.
983
1067
  #
984
1068
  #
985
1069
  #
@@ -1017,18 +1101,18 @@ module Aws::KinesisVideo
1017
1101
  end
1018
1102
 
1019
1103
  # Adds one or more tags to a stream. A *tag* is a key-value pair (the
1020
- # value is optional) that you can define and assign to AWS resources. If
1021
- # you specify a tag that already exists, the tag value is replaced with
1022
- # the value that you specify in the request. For more information, see
1023
- # [Using Cost Allocation Tags][1] in the *AWS Billing and Cost
1024
- # Management User Guide*.
1104
+ # value is optional) that you can define and assign to Amazon Web
1105
+ # Services resources. If you specify a tag that already exists, the tag
1106
+ # value is replaced with the value that you specify in the request. For
1107
+ # more information, see [Using Cost Allocation Tags][1] in the *Billing
1108
+ # and Cost Management and Cost Management User Guide*.
1025
1109
  #
1026
1110
  # You must provide either the `StreamName` or the `StreamARN`.
1027
1111
  #
1028
1112
  # This operation requires permission for the `KinesisVideo:TagStream`
1029
1113
  # action.
1030
1114
  #
1031
- # Kinesis video streams support up to 50 tags.
1115
+ # A Kinesis video stream can support up to 50 tags.
1032
1116
  #
1033
1117
  #
1034
1118
  #
@@ -1199,6 +1283,97 @@ module Aws::KinesisVideo
1199
1283
  req.send_request(options)
1200
1284
  end
1201
1285
 
1286
+ # Updates the `StreamInfo` and `ImageProcessingConfiguration` fields.
1287
+ #
1288
+ # @option params [String] :stream_name
1289
+ # The name of the stream from which to update the image generation
1290
+ # configuration. You must specify either the `StreamName` or the
1291
+ # `StreamARN`.
1292
+ #
1293
+ # @option params [String] :stream_arn
1294
+ # The Amazon Resource Name (ARN) of the Kinesis video stream from where
1295
+ # you want to update the image generation configuration. You must
1296
+ # specify either the `StreamName` or the `StreamARN`.
1297
+ #
1298
+ # @option params [Types::ImageGenerationConfiguration] :image_generation_configuration
1299
+ # The structure that contains the information required for the KVS
1300
+ # images delivery. If the structure is null, the configuration will be
1301
+ # deleted from the stream.
1302
+ #
1303
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1304
+ #
1305
+ # @example Request syntax with placeholder values
1306
+ #
1307
+ # resp = client.update_image_generation_configuration({
1308
+ # stream_name: "StreamName",
1309
+ # stream_arn: "ResourceARN",
1310
+ # image_generation_configuration: {
1311
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
1312
+ # image_selector_type: "SERVER_TIMESTAMP", # required, accepts SERVER_TIMESTAMP, PRODUCER_TIMESTAMP
1313
+ # destination_config: { # required
1314
+ # uri: "DestinationUri", # required
1315
+ # destination_region: "DestinationRegion", # required
1316
+ # },
1317
+ # sampling_interval: 1, # required
1318
+ # format: "JPEG", # required, accepts JPEG, PNG
1319
+ # format_config: {
1320
+ # "JPEGQuality" => "FormatConfigValue",
1321
+ # },
1322
+ # width_pixels: 1,
1323
+ # height_pixels: 1,
1324
+ # },
1325
+ # })
1326
+ #
1327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateImageGenerationConfiguration AWS API Documentation
1328
+ #
1329
+ # @overload update_image_generation_configuration(params = {})
1330
+ # @param [Hash] params ({})
1331
+ def update_image_generation_configuration(params = {}, options = {})
1332
+ req = build_request(:update_image_generation_configuration, params)
1333
+ req.send_request(options)
1334
+ end
1335
+
1336
+ # Updates the notification information for a stream.
1337
+ #
1338
+ # @option params [String] :stream_name
1339
+ # The name of the stream from which to update the notification
1340
+ # configuration. You must specify either the `StreamName` or the
1341
+ # `StreamARN`.
1342
+ #
1343
+ # @option params [String] :stream_arn
1344
+ # The Amazon Resource Name (ARN) of the Kinesis video stream from where
1345
+ # you want to update the notification configuration. You must specify
1346
+ # either the `StreamName` or the `StreamARN`.
1347
+ #
1348
+ # @option params [Types::NotificationConfiguration] :notification_configuration
1349
+ # The structure containing the information required for notifications.
1350
+ # If the structure is null, the configuration will be deleted from the
1351
+ # stream.
1352
+ #
1353
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1354
+ #
1355
+ # @example Request syntax with placeholder values
1356
+ #
1357
+ # resp = client.update_notification_configuration({
1358
+ # stream_name: "StreamName",
1359
+ # stream_arn: "ResourceARN",
1360
+ # notification_configuration: {
1361
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
1362
+ # destination_config: { # required
1363
+ # uri: "DestinationUri", # required
1364
+ # },
1365
+ # },
1366
+ # })
1367
+ #
1368
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateNotificationConfiguration AWS API Documentation
1369
+ #
1370
+ # @overload update_notification_configuration(params = {})
1371
+ # @param [Hash] params ({})
1372
+ def update_notification_configuration(params = {}, options = {})
1373
+ req = build_request(:update_notification_configuration, params)
1374
+ req.send_request(options)
1375
+ end
1376
+
1202
1377
  # Updates the existing signaling channel. This is an asynchronous
1203
1378
  # operation and takes time to complete.
1204
1379
  #
@@ -1322,7 +1497,7 @@ module Aws::KinesisVideo
1322
1497
  params: params,
1323
1498
  config: config)
1324
1499
  context[:gem_name] = 'aws-sdk-kinesisvideo'
1325
- context[:gem_version] = '1.41.0'
1500
+ context[:gem_version] = '1.42.0'
1326
1501
  Seahorse::Client::Request.new(handlers, context)
1327
1502
  end
1328
1503
 
@@ -26,6 +26,7 @@ module Aws::KinesisVideo
26
26
  ChannelType = Shapes::StringShape.new(name: 'ChannelType')
27
27
  ClientLimitExceededException = Shapes::StructureShape.new(name: 'ClientLimitExceededException')
28
28
  ComparisonOperator = Shapes::StringShape.new(name: 'ComparisonOperator')
29
+ ConfigurationStatus = Shapes::StringShape.new(name: 'ConfigurationStatus')
29
30
  CreateSignalingChannelInput = Shapes::StructureShape.new(name: 'CreateSignalingChannelInput')
30
31
  CreateSignalingChannelOutput = Shapes::StructureShape.new(name: 'CreateSignalingChannelOutput')
31
32
  CreateStreamInput = Shapes::StructureShape.new(name: 'CreateStreamInput')
@@ -37,17 +38,31 @@ module Aws::KinesisVideo
37
38
  DeleteSignalingChannelOutput = Shapes::StructureShape.new(name: 'DeleteSignalingChannelOutput')
38
39
  DeleteStreamInput = Shapes::StructureShape.new(name: 'DeleteStreamInput')
39
40
  DeleteStreamOutput = Shapes::StructureShape.new(name: 'DeleteStreamOutput')
41
+ DescribeImageGenerationConfigurationInput = Shapes::StructureShape.new(name: 'DescribeImageGenerationConfigurationInput')
42
+ DescribeImageGenerationConfigurationOutput = Shapes::StructureShape.new(name: 'DescribeImageGenerationConfigurationOutput')
43
+ DescribeNotificationConfigurationInput = Shapes::StructureShape.new(name: 'DescribeNotificationConfigurationInput')
44
+ DescribeNotificationConfigurationOutput = Shapes::StructureShape.new(name: 'DescribeNotificationConfigurationOutput')
40
45
  DescribeSignalingChannelInput = Shapes::StructureShape.new(name: 'DescribeSignalingChannelInput')
41
46
  DescribeSignalingChannelOutput = Shapes::StructureShape.new(name: 'DescribeSignalingChannelOutput')
42
47
  DescribeStreamInput = Shapes::StructureShape.new(name: 'DescribeStreamInput')
43
48
  DescribeStreamOutput = Shapes::StructureShape.new(name: 'DescribeStreamOutput')
49
+ DestinationRegion = Shapes::StringShape.new(name: 'DestinationRegion')
50
+ DestinationUri = Shapes::StringShape.new(name: 'DestinationUri')
44
51
  DeviceName = Shapes::StringShape.new(name: 'DeviceName')
45
52
  DeviceStreamLimitExceededException = Shapes::StructureShape.new(name: 'DeviceStreamLimitExceededException')
46
53
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
54
+ Format = Shapes::StringShape.new(name: 'Format')
55
+ FormatConfig = Shapes::MapShape.new(name: 'FormatConfig')
56
+ FormatConfigKey = Shapes::StringShape.new(name: 'FormatConfigKey')
57
+ FormatConfigValue = Shapes::StringShape.new(name: 'FormatConfigValue')
47
58
  GetDataEndpointInput = Shapes::StructureShape.new(name: 'GetDataEndpointInput')
48
59
  GetDataEndpointOutput = Shapes::StructureShape.new(name: 'GetDataEndpointOutput')
49
60
  GetSignalingChannelEndpointInput = Shapes::StructureShape.new(name: 'GetSignalingChannelEndpointInput')
50
61
  GetSignalingChannelEndpointOutput = Shapes::StructureShape.new(name: 'GetSignalingChannelEndpointOutput')
62
+ HeightPixels = Shapes::IntegerShape.new(name: 'HeightPixels')
63
+ ImageGenerationConfiguration = Shapes::StructureShape.new(name: 'ImageGenerationConfiguration')
64
+ ImageGenerationDestinationConfig = Shapes::StructureShape.new(name: 'ImageGenerationDestinationConfig')
65
+ ImageSelectorType = Shapes::StringShape.new(name: 'ImageSelectorType')
51
66
  InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
52
67
  InvalidDeviceException = Shapes::StructureShape.new(name: 'InvalidDeviceException')
53
68
  InvalidResourceFormatException = Shapes::StructureShape.new(name: 'InvalidResourceFormatException')
@@ -65,7 +80,10 @@ module Aws::KinesisVideo
65
80
  MediaType = Shapes::StringShape.new(name: 'MediaType')
66
81
  MessageTtlSeconds = Shapes::IntegerShape.new(name: 'MessageTtlSeconds')
67
82
  NextToken = Shapes::StringShape.new(name: 'NextToken')
83
+ NoDataRetentionException = Shapes::StructureShape.new(name: 'NoDataRetentionException')
68
84
  NotAuthorizedException = Shapes::StructureShape.new(name: 'NotAuthorizedException')
85
+ NotificationConfiguration = Shapes::StructureShape.new(name: 'NotificationConfiguration')
86
+ NotificationDestinationConfig = Shapes::StructureShape.new(name: 'NotificationDestinationConfig')
69
87
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
70
88
  ResourceEndpoint = Shapes::StringShape.new(name: 'ResourceEndpoint')
71
89
  ResourceEndpointList = Shapes::ListShape.new(name: 'ResourceEndpointList')
@@ -73,6 +91,7 @@ module Aws::KinesisVideo
73
91
  ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
74
92
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
75
93
  ResourceTags = Shapes::MapShape.new(name: 'ResourceTags')
94
+ SamplingInterval = Shapes::IntegerShape.new(name: 'SamplingInterval')
76
95
  SingleMasterChannelEndpointConfiguration = Shapes::StructureShape.new(name: 'SingleMasterChannelEndpointConfiguration')
77
96
  SingleMasterConfiguration = Shapes::StructureShape.new(name: 'SingleMasterConfiguration')
78
97
  Status = Shapes::StringShape.new(name: 'Status')
@@ -99,12 +118,17 @@ module Aws::KinesisVideo
99
118
  UpdateDataRetentionInput = Shapes::StructureShape.new(name: 'UpdateDataRetentionInput')
100
119
  UpdateDataRetentionOperation = Shapes::StringShape.new(name: 'UpdateDataRetentionOperation')
101
120
  UpdateDataRetentionOutput = Shapes::StructureShape.new(name: 'UpdateDataRetentionOutput')
121
+ UpdateImageGenerationConfigurationInput = Shapes::StructureShape.new(name: 'UpdateImageGenerationConfigurationInput')
122
+ UpdateImageGenerationConfigurationOutput = Shapes::StructureShape.new(name: 'UpdateImageGenerationConfigurationOutput')
123
+ UpdateNotificationConfigurationInput = Shapes::StructureShape.new(name: 'UpdateNotificationConfigurationInput')
124
+ UpdateNotificationConfigurationOutput = Shapes::StructureShape.new(name: 'UpdateNotificationConfigurationOutput')
102
125
  UpdateSignalingChannelInput = Shapes::StructureShape.new(name: 'UpdateSignalingChannelInput')
103
126
  UpdateSignalingChannelOutput = Shapes::StructureShape.new(name: 'UpdateSignalingChannelOutput')
104
127
  UpdateStreamInput = Shapes::StructureShape.new(name: 'UpdateStreamInput')
105
128
  UpdateStreamOutput = Shapes::StructureShape.new(name: 'UpdateStreamOutput')
106
129
  Version = Shapes::StringShape.new(name: 'Version')
107
130
  VersionMismatchException = Shapes::StructureShape.new(name: 'VersionMismatchException')
131
+ WidthPixels = Shapes::IntegerShape.new(name: 'WidthPixels')
108
132
 
109
133
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
110
134
  AccessDeniedException.struct_class = Types::AccessDeniedException
@@ -165,6 +189,20 @@ module Aws::KinesisVideo
165
189
 
166
190
  DeleteStreamOutput.struct_class = Types::DeleteStreamOutput
167
191
 
192
+ DescribeImageGenerationConfigurationInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
193
+ DescribeImageGenerationConfigurationInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
194
+ DescribeImageGenerationConfigurationInput.struct_class = Types::DescribeImageGenerationConfigurationInput
195
+
196
+ DescribeImageGenerationConfigurationOutput.add_member(:image_generation_configuration, Shapes::ShapeRef.new(shape: ImageGenerationConfiguration, location_name: "ImageGenerationConfiguration"))
197
+ DescribeImageGenerationConfigurationOutput.struct_class = Types::DescribeImageGenerationConfigurationOutput
198
+
199
+ DescribeNotificationConfigurationInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
200
+ DescribeNotificationConfigurationInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
201
+ DescribeNotificationConfigurationInput.struct_class = Types::DescribeNotificationConfigurationInput
202
+
203
+ DescribeNotificationConfigurationOutput.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfiguration, location_name: "NotificationConfiguration"))
204
+ DescribeNotificationConfigurationOutput.struct_class = Types::DescribeNotificationConfigurationOutput
205
+
168
206
  DescribeSignalingChannelInput.add_member(:channel_name, Shapes::ShapeRef.new(shape: ChannelName, location_name: "ChannelName"))
169
207
  DescribeSignalingChannelInput.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ChannelARN"))
170
208
  DescribeSignalingChannelInput.struct_class = Types::DescribeSignalingChannelInput
@@ -182,6 +220,9 @@ module Aws::KinesisVideo
182
220
  DeviceStreamLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
183
221
  DeviceStreamLimitExceededException.struct_class = Types::DeviceStreamLimitExceededException
184
222
 
223
+ FormatConfig.key = Shapes::ShapeRef.new(shape: FormatConfigKey)
224
+ FormatConfig.value = Shapes::ShapeRef.new(shape: FormatConfigValue)
225
+
185
226
  GetDataEndpointInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
186
227
  GetDataEndpointInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
187
228
  GetDataEndpointInput.add_member(:api_name, Shapes::ShapeRef.new(shape: APIName, required: true, location_name: "APIName"))
@@ -197,6 +238,20 @@ module Aws::KinesisVideo
197
238
  GetSignalingChannelEndpointOutput.add_member(:resource_endpoint_list, Shapes::ShapeRef.new(shape: ResourceEndpointList, location_name: "ResourceEndpointList"))
198
239
  GetSignalingChannelEndpointOutput.struct_class = Types::GetSignalingChannelEndpointOutput
199
240
 
241
+ ImageGenerationConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: ConfigurationStatus, required: true, location_name: "Status"))
242
+ ImageGenerationConfiguration.add_member(:image_selector_type, Shapes::ShapeRef.new(shape: ImageSelectorType, required: true, location_name: "ImageSelectorType"))
243
+ ImageGenerationConfiguration.add_member(:destination_config, Shapes::ShapeRef.new(shape: ImageGenerationDestinationConfig, required: true, location_name: "DestinationConfig"))
244
+ ImageGenerationConfiguration.add_member(:sampling_interval, Shapes::ShapeRef.new(shape: SamplingInterval, required: true, location_name: "SamplingInterval"))
245
+ ImageGenerationConfiguration.add_member(:format, Shapes::ShapeRef.new(shape: Format, required: true, location_name: "Format"))
246
+ ImageGenerationConfiguration.add_member(:format_config, Shapes::ShapeRef.new(shape: FormatConfig, location_name: "FormatConfig"))
247
+ ImageGenerationConfiguration.add_member(:width_pixels, Shapes::ShapeRef.new(shape: WidthPixels, location_name: "WidthPixels"))
248
+ ImageGenerationConfiguration.add_member(:height_pixels, Shapes::ShapeRef.new(shape: HeightPixels, location_name: "HeightPixels"))
249
+ ImageGenerationConfiguration.struct_class = Types::ImageGenerationConfiguration
250
+
251
+ ImageGenerationDestinationConfig.add_member(:uri, Shapes::ShapeRef.new(shape: DestinationUri, required: true, location_name: "Uri"))
252
+ ImageGenerationDestinationConfig.add_member(:destination_region, Shapes::ShapeRef.new(shape: DestinationRegion, required: true, location_name: "DestinationRegion"))
253
+ ImageGenerationDestinationConfig.struct_class = Types::ImageGenerationDestinationConfig
254
+
200
255
  InvalidArgumentException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
201
256
  InvalidArgumentException.struct_class = Types::InvalidArgumentException
202
257
 
@@ -243,9 +298,19 @@ module Aws::KinesisVideo
243
298
  ListTagsForStreamOutput.add_member(:tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "Tags"))
244
299
  ListTagsForStreamOutput.struct_class = Types::ListTagsForStreamOutput
245
300
 
301
+ NoDataRetentionException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
302
+ NoDataRetentionException.struct_class = Types::NoDataRetentionException
303
+
246
304
  NotAuthorizedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
247
305
  NotAuthorizedException.struct_class = Types::NotAuthorizedException
248
306
 
307
+ NotificationConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: ConfigurationStatus, required: true, location_name: "Status"))
308
+ NotificationConfiguration.add_member(:destination_config, Shapes::ShapeRef.new(shape: NotificationDestinationConfig, required: true, location_name: "DestinationConfig"))
309
+ NotificationConfiguration.struct_class = Types::NotificationConfiguration
310
+
311
+ NotificationDestinationConfig.add_member(:uri, Shapes::ShapeRef.new(shape: DestinationUri, required: true, location_name: "Uri"))
312
+ NotificationDestinationConfig.struct_class = Types::NotificationDestinationConfig
313
+
249
314
  ResourceEndpointList.member = Shapes::ShapeRef.new(shape: ResourceEndpointListItem)
250
315
 
251
316
  ResourceEndpointListItem.add_member(:protocol, Shapes::ShapeRef.new(shape: ChannelProtocol, location_name: "Protocol"))
@@ -333,6 +398,20 @@ module Aws::KinesisVideo
333
398
 
334
399
  UpdateDataRetentionOutput.struct_class = Types::UpdateDataRetentionOutput
335
400
 
401
+ UpdateImageGenerationConfigurationInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
402
+ UpdateImageGenerationConfigurationInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
403
+ UpdateImageGenerationConfigurationInput.add_member(:image_generation_configuration, Shapes::ShapeRef.new(shape: ImageGenerationConfiguration, location_name: "ImageGenerationConfiguration"))
404
+ UpdateImageGenerationConfigurationInput.struct_class = Types::UpdateImageGenerationConfigurationInput
405
+
406
+ UpdateImageGenerationConfigurationOutput.struct_class = Types::UpdateImageGenerationConfigurationOutput
407
+
408
+ UpdateNotificationConfigurationInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
409
+ UpdateNotificationConfigurationInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
410
+ UpdateNotificationConfigurationInput.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfiguration, location_name: "NotificationConfiguration"))
411
+ UpdateNotificationConfigurationInput.struct_class = Types::UpdateNotificationConfigurationInput
412
+
413
+ UpdateNotificationConfigurationOutput.struct_class = Types::UpdateNotificationConfigurationOutput
414
+
336
415
  UpdateSignalingChannelInput.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ChannelARN"))
337
416
  UpdateSignalingChannelInput.add_member(:current_version, Shapes::ShapeRef.new(shape: Version, required: true, location_name: "CurrentVersion"))
338
417
  UpdateSignalingChannelInput.add_member(:single_master_configuration, Shapes::ShapeRef.new(shape: SingleMasterConfiguration, location_name: "SingleMasterConfiguration"))
@@ -426,6 +505,30 @@ module Aws::KinesisVideo
426
505
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
427
506
  end)
428
507
 
508
+ api.add_operation(:describe_image_generation_configuration, Seahorse::Model::Operation.new.tap do |o|
509
+ o.name = "DescribeImageGenerationConfiguration"
510
+ o.http_method = "POST"
511
+ o.http_request_uri = "/describeImageGenerationConfiguration"
512
+ o.input = Shapes::ShapeRef.new(shape: DescribeImageGenerationConfigurationInput)
513
+ o.output = Shapes::ShapeRef.new(shape: DescribeImageGenerationConfigurationOutput)
514
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
515
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
516
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
517
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
518
+ end)
519
+
520
+ api.add_operation(:describe_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
521
+ o.name = "DescribeNotificationConfiguration"
522
+ o.http_method = "POST"
523
+ o.http_request_uri = "/describeNotificationConfiguration"
524
+ o.input = Shapes::ShapeRef.new(shape: DescribeNotificationConfigurationInput)
525
+ o.output = Shapes::ShapeRef.new(shape: DescribeNotificationConfigurationOutput)
526
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
527
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
528
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
529
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
530
+ end)
531
+
429
532
  api.add_operation(:describe_signaling_channel, Seahorse::Model::Operation.new.tap do |o|
430
533
  o.name = "DescribeSignalingChannel"
431
534
  o.http_method = "POST"
@@ -599,6 +702,34 @@ module Aws::KinesisVideo
599
702
  o.errors << Shapes::ShapeRef.new(shape: VersionMismatchException)
600
703
  end)
601
704
 
705
+ api.add_operation(:update_image_generation_configuration, Seahorse::Model::Operation.new.tap do |o|
706
+ o.name = "UpdateImageGenerationConfiguration"
707
+ o.http_method = "POST"
708
+ o.http_request_uri = "/updateImageGenerationConfiguration"
709
+ o.input = Shapes::ShapeRef.new(shape: UpdateImageGenerationConfigurationInput)
710
+ o.output = Shapes::ShapeRef.new(shape: UpdateImageGenerationConfigurationOutput)
711
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
712
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
713
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
714
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
715
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
716
+ o.errors << Shapes::ShapeRef.new(shape: NoDataRetentionException)
717
+ end)
718
+
719
+ api.add_operation(:update_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
720
+ o.name = "UpdateNotificationConfiguration"
721
+ o.http_method = "POST"
722
+ o.http_request_uri = "/updateNotificationConfiguration"
723
+ o.input = Shapes::ShapeRef.new(shape: UpdateNotificationConfigurationInput)
724
+ o.output = Shapes::ShapeRef.new(shape: UpdateNotificationConfigurationOutput)
725
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
726
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
727
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
728
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
729
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
730
+ o.errors << Shapes::ShapeRef.new(shape: NoDataRetentionException)
731
+ end)
732
+
602
733
  api.add_operation(:update_signaling_channel, Seahorse::Model::Operation.new.tap do |o|
603
734
  o.name = "UpdateSignalingChannel"
604
735
  o.http_method = "POST"
@@ -35,6 +35,7 @@ module Aws::KinesisVideo
35
35
  # * {InvalidArgumentException}
36
36
  # * {InvalidDeviceException}
37
37
  # * {InvalidResourceFormatException}
38
+ # * {NoDataRetentionException}
38
39
  # * {NotAuthorizedException}
39
40
  # * {ResourceInUseException}
40
41
  # * {ResourceNotFoundException}
@@ -167,6 +168,21 @@ module Aws::KinesisVideo
167
168
  end
168
169
  end
169
170
 
171
+ class NoDataRetentionException < ServiceError
172
+
173
+ # @param [Seahorse::Client::RequestContext] context
174
+ # @param [String] message
175
+ # @param [Aws::KinesisVideo::Types::NoDataRetentionException] data
176
+ def initialize(context, message, data = Aws::EmptyStructure.new)
177
+ super(context, message, data)
178
+ end
179
+
180
+ # @return [String]
181
+ def message
182
+ @message || @data[:message]
183
+ end
184
+ end
185
+
170
186
  class NotAuthorizedException < ServiceError
171
187
 
172
188
  # @param [Seahorse::Client::RequestContext] context
@@ -24,7 +24,7 @@ module Aws::KinesisVideo
24
24
  end
25
25
 
26
26
  # You have reached the maximum limit of active signaling channels for
27
- # this AWS account in this region.
27
+ # this Amazon Web Services account in this region.
28
28
  #
29
29
  # @!attribute [rw] message
30
30
  # @return [String]
@@ -147,7 +147,7 @@ module Aws::KinesisVideo
147
147
  #
148
148
  # {
149
149
  # channel_name: "ChannelName", # required
150
- # channel_type: "SINGLE_MASTER", # accepts SINGLE_MASTER
150
+ # channel_type: "SINGLE_MASTER", # accepts SINGLE_MASTER, FULL_MESH
151
151
  # single_master_configuration: {
152
152
  # message_ttl_seconds: 1,
153
153
  # },
@@ -161,7 +161,8 @@ module Aws::KinesisVideo
161
161
  #
162
162
  # @!attribute [rw] channel_name
163
163
  # A name for the signaling channel that you are creating. It must be
164
- # unique for each AWS account and AWS Region.
164
+ # unique for each Amazon Web Services account and Amazon Web Services
165
+ # Region.
165
166
  # @return [String]
166
167
  #
167
168
  # @!attribute [rw] channel_type
@@ -251,8 +252,8 @@ module Aws::KinesisVideo
251
252
  # @return [String]
252
253
  #
253
254
  # @!attribute [rw] kms_key_id
254
- # The ID of the AWS Key Management Service (AWS KMS) key that you want
255
- # Kinesis Video Streams to use to encrypt stream data.
255
+ # The ID of the Key Management Service (KMS) key that you want Kinesis
256
+ # Video Streams to use to encrypt stream data.
256
257
  #
257
258
  # If no key ID is specified, the default, Kinesis Video-managed key
258
259
  # (`aws/kinesisvideo`) is used.
@@ -379,6 +380,92 @@ module Aws::KinesisVideo
379
380
  #
380
381
  class DeleteStreamOutput < Aws::EmptyStructure; end
381
382
 
383
+ # @note When making an API call, you may pass DescribeImageGenerationConfigurationInput
384
+ # data as a hash:
385
+ #
386
+ # {
387
+ # stream_name: "StreamName",
388
+ # stream_arn: "ResourceARN",
389
+ # }
390
+ #
391
+ # @!attribute [rw] stream_name
392
+ # The name of the stream from which to retrieve the image generation
393
+ # configuration. You must specify either the `StreamName` or the
394
+ # `StreamARN`.
395
+ # @return [String]
396
+ #
397
+ # @!attribute [rw] stream_arn
398
+ # The Amazon Resource Name (ARN) of the Kinesis video stream from
399
+ # which to retrieve the image generation configuration. You must
400
+ # specify either the `StreamName` or the `StreamARN`.
401
+ # @return [String]
402
+ #
403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeImageGenerationConfigurationInput AWS API Documentation
404
+ #
405
+ class DescribeImageGenerationConfigurationInput < Struct.new(
406
+ :stream_name,
407
+ :stream_arn)
408
+ SENSITIVE = []
409
+ include Aws::Structure
410
+ end
411
+
412
+ # @!attribute [rw] image_generation_configuration
413
+ # The structure that contains the information required for the Kinesis
414
+ # video stream (KVS) images delivery. If this structure is null, the
415
+ # configuration will be deleted from the stream.
416
+ # @return [Types::ImageGenerationConfiguration]
417
+ #
418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeImageGenerationConfigurationOutput AWS API Documentation
419
+ #
420
+ class DescribeImageGenerationConfigurationOutput < Struct.new(
421
+ :image_generation_configuration)
422
+ SENSITIVE = []
423
+ include Aws::Structure
424
+ end
425
+
426
+ # @note When making an API call, you may pass DescribeNotificationConfigurationInput
427
+ # data as a hash:
428
+ #
429
+ # {
430
+ # stream_name: "StreamName",
431
+ # stream_arn: "ResourceARN",
432
+ # }
433
+ #
434
+ # @!attribute [rw] stream_name
435
+ # The name of the stream from which to retrieve the notification
436
+ # configuration. You must specify either the `StreamName` or the
437
+ # `StreamARN`.
438
+ # @return [String]
439
+ #
440
+ # @!attribute [rw] stream_arn
441
+ # The Amazon Resource Name (ARN) of the Kinesis video stream from
442
+ # where you want to retrieve the notification configuration. You must
443
+ # specify either the `StreamName` or the StreamARN.
444
+ # @return [String]
445
+ #
446
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeNotificationConfigurationInput AWS API Documentation
447
+ #
448
+ class DescribeNotificationConfigurationInput < Struct.new(
449
+ :stream_name,
450
+ :stream_arn)
451
+ SENSITIVE = []
452
+ include Aws::Structure
453
+ end
454
+
455
+ # @!attribute [rw] notification_configuration
456
+ # The structure that contains the information required for
457
+ # notifications. If the structure is null, the configuration will be
458
+ # deleted from the stream.
459
+ # @return [Types::NotificationConfiguration]
460
+ #
461
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeNotificationConfigurationOutput AWS API Documentation
462
+ #
463
+ class DescribeNotificationConfigurationOutput < Struct.new(
464
+ :notification_configuration)
465
+ SENSITIVE = []
466
+ include Aws::Structure
467
+ end
468
+
382
469
  # @note When making an API call, you may pass DescribeSignalingChannelInput
383
470
  # data as a hash:
384
471
  #
@@ -473,7 +560,7 @@ module Aws::KinesisVideo
473
560
  # {
474
561
  # stream_name: "StreamName",
475
562
  # stream_arn: "ResourceARN",
476
- # api_name: "PUT_MEDIA", # required, accepts PUT_MEDIA, GET_MEDIA, LIST_FRAGMENTS, GET_MEDIA_FOR_FRAGMENT_LIST, GET_HLS_STREAMING_SESSION_URL, GET_DASH_STREAMING_SESSION_URL, GET_CLIP
563
+ # api_name: "PUT_MEDIA", # required, accepts PUT_MEDIA, GET_MEDIA, LIST_FRAGMENTS, GET_MEDIA_FOR_FRAGMENT_LIST, GET_HLS_STREAMING_SESSION_URL, GET_DASH_STREAMING_SESSION_URL, GET_CLIP, GET_IMAGES
477
564
  # }
478
565
  #
479
566
  # @!attribute [rw] stream_name
@@ -556,6 +643,135 @@ module Aws::KinesisVideo
556
643
  include Aws::Structure
557
644
  end
558
645
 
646
+ # The structure that contains the information required for the KVS
647
+ # images delivery. If null, the configuration will be deleted from the
648
+ # stream.
649
+ #
650
+ # @note When making an API call, you may pass ImageGenerationConfiguration
651
+ # data as a hash:
652
+ #
653
+ # {
654
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
655
+ # image_selector_type: "SERVER_TIMESTAMP", # required, accepts SERVER_TIMESTAMP, PRODUCER_TIMESTAMP
656
+ # destination_config: { # required
657
+ # uri: "DestinationUri", # required
658
+ # destination_region: "DestinationRegion", # required
659
+ # },
660
+ # sampling_interval: 1, # required
661
+ # format: "JPEG", # required, accepts JPEG, PNG
662
+ # format_config: {
663
+ # "JPEGQuality" => "FormatConfigValue",
664
+ # },
665
+ # width_pixels: 1,
666
+ # height_pixels: 1,
667
+ # }
668
+ #
669
+ # @!attribute [rw] status
670
+ # Indicates whether the `ContinuousImageGenerationConfigurations` API
671
+ # is enabled or disabled.
672
+ # @return [String]
673
+ #
674
+ # @!attribute [rw] image_selector_type
675
+ # The origin of the Server or Producer timestamps to use to generate
676
+ # the images.
677
+ # @return [String]
678
+ #
679
+ # @!attribute [rw] destination_config
680
+ # The structure that contains the information required to deliver
681
+ # images to a customer.
682
+ # @return [Types::ImageGenerationDestinationConfig]
683
+ #
684
+ # @!attribute [rw] sampling_interval
685
+ # The time interval in milliseconds (ms) at which the images need to
686
+ # be generated from the stream. The minimum value that can be provided
687
+ # is 33 ms, because a camera that generates content at 30 FPS would
688
+ # create a frame every 33.3 ms. If the timestamp range is less than
689
+ # the sampling interval, the Image from the `StartTimestamp` will be
690
+ # returned if available.
691
+ # @return [Integer]
692
+ #
693
+ # @!attribute [rw] format
694
+ # The accepted image format.
695
+ # @return [String]
696
+ #
697
+ # @!attribute [rw] format_config
698
+ # The list of a key-value pair structure that contains extra
699
+ # parameters that can be applied when the image is generated. The
700
+ # `FormatConfig` key is the `JPEGQuality`, which indicates the JPEG
701
+ # quality key to be used to generate the image. The `FormatConfig`
702
+ # value accepts ints from 1 to 100. If the value is 1, the image will
703
+ # be generated with less quality and the best compression. If the
704
+ # value is 100, the image will be generated with the best quality and
705
+ # less compression. If no value is provided, the default value of the
706
+ # `JPEGQuality` key will be set to 80.
707
+ # @return [Hash<String,String>]
708
+ #
709
+ # @!attribute [rw] width_pixels
710
+ # The width of the output image that is used in conjunction with the
711
+ # `HeightPixels` parameter. When both `WidthPixels` and `HeightPixels`
712
+ # parameters are provided, the image will be stretched to fit the
713
+ # specified aspect ratio. If only the `WidthPixels` parameter is
714
+ # provided, its original aspect ratio will be used to calculate the
715
+ # `HeightPixels` ratio. If neither parameter is provided, the original
716
+ # image size will be returned.
717
+ # @return [Integer]
718
+ #
719
+ # @!attribute [rw] height_pixels
720
+ # The height of the output image that is used in conjunction with the
721
+ # `WidthPixels` parameter. When both `HeightPixels` and `WidthPixels`
722
+ # parameters are provided, the image will be stretched to fit the
723
+ # specified aspect ratio. If only the `HeightPixels` parameter is
724
+ # provided, its original aspect ratio will be used to calculate the
725
+ # `WidthPixels` ratio. If neither parameter is provided, the original
726
+ # image size will be returned.
727
+ # @return [Integer]
728
+ #
729
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ImageGenerationConfiguration AWS API Documentation
730
+ #
731
+ class ImageGenerationConfiguration < Struct.new(
732
+ :status,
733
+ :image_selector_type,
734
+ :destination_config,
735
+ :sampling_interval,
736
+ :format,
737
+ :format_config,
738
+ :width_pixels,
739
+ :height_pixels)
740
+ SENSITIVE = []
741
+ include Aws::Structure
742
+ end
743
+
744
+ # The structure that contains the information required to deliver images
745
+ # to a customer.
746
+ #
747
+ # @note When making an API call, you may pass ImageGenerationDestinationConfig
748
+ # data as a hash:
749
+ #
750
+ # {
751
+ # uri: "DestinationUri", # required
752
+ # destination_region: "DestinationRegion", # required
753
+ # }
754
+ #
755
+ # @!attribute [rw] uri
756
+ # The Uniform Resource Idenifier (URI) that identifies where the
757
+ # images will be delivered.
758
+ # @return [String]
759
+ #
760
+ # @!attribute [rw] destination_region
761
+ # The AWS Region of the S3 bucket where images will be delivered. This
762
+ # `DestinationRegion` must match the Region where the stream is
763
+ # located.
764
+ # @return [String]
765
+ #
766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/ImageGenerationDestinationConfig AWS API Documentation
767
+ #
768
+ class ImageGenerationDestinationConfig < Struct.new(
769
+ :uri,
770
+ :destination_region)
771
+ SENSITIVE = []
772
+ include Aws::Structure
773
+ end
774
+
559
775
  # The value for this input parameter is invalid.
560
776
  #
561
777
  # @!attribute [rw] message
@@ -816,6 +1032,19 @@ module Aws::KinesisVideo
816
1032
  include Aws::Structure
817
1033
  end
818
1034
 
1035
+ # The Stream data retention in hours is equal to zero.
1036
+ #
1037
+ # @!attribute [rw] message
1038
+ # @return [String]
1039
+ #
1040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/NoDataRetentionException AWS API Documentation
1041
+ #
1042
+ class NoDataRetentionException < Struct.new(
1043
+ :message)
1044
+ SENSITIVE = []
1045
+ include Aws::Structure
1046
+ end
1047
+
819
1048
  # The caller is not authorized to perform this operation.
820
1049
  #
821
1050
  # @!attribute [rw] message
@@ -829,6 +1058,61 @@ module Aws::KinesisVideo
829
1058
  include Aws::Structure
830
1059
  end
831
1060
 
1061
+ # The structure that contains the notification information for the KVS
1062
+ # images delivery. If this parameter is null, the configuration will be
1063
+ # deleted from the stream.
1064
+ #
1065
+ # @note When making an API call, you may pass NotificationConfiguration
1066
+ # data as a hash:
1067
+ #
1068
+ # {
1069
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
1070
+ # destination_config: { # required
1071
+ # uri: "DestinationUri", # required
1072
+ # },
1073
+ # }
1074
+ #
1075
+ # @!attribute [rw] status
1076
+ # Indicates if a notification configuration is enabled or disabled.
1077
+ # @return [String]
1078
+ #
1079
+ # @!attribute [rw] destination_config
1080
+ # The destination information required to deliver a notification to a
1081
+ # customer.
1082
+ # @return [Types::NotificationDestinationConfig]
1083
+ #
1084
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/NotificationConfiguration AWS API Documentation
1085
+ #
1086
+ class NotificationConfiguration < Struct.new(
1087
+ :status,
1088
+ :destination_config)
1089
+ SENSITIVE = []
1090
+ include Aws::Structure
1091
+ end
1092
+
1093
+ # The structure that contains the information required to deliver a
1094
+ # notification to a customer.
1095
+ #
1096
+ # @note When making an API call, you may pass NotificationDestinationConfig
1097
+ # data as a hash:
1098
+ #
1099
+ # {
1100
+ # uri: "DestinationUri", # required
1101
+ # }
1102
+ #
1103
+ # @!attribute [rw] uri
1104
+ # The Uniform Resource Idenifier (URI) that identifies where the
1105
+ # images will be delivered.
1106
+ # @return [String]
1107
+ #
1108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/NotificationDestinationConfig AWS API Documentation
1109
+ #
1110
+ class NotificationDestinationConfig < Struct.new(
1111
+ :uri)
1112
+ SENSITIVE = []
1113
+ include Aws::Structure
1114
+ end
1115
+
832
1116
  # An object that describes the endpoint of the signaling channel
833
1117
  # returned by the `GetSignalingChannelEndpoint` API.
834
1118
  #
@@ -851,7 +1135,15 @@ module Aws::KinesisVideo
851
1135
  include Aws::Structure
852
1136
  end
853
1137
 
854
- # The signaling channel is currently not available for this operation.
1138
+ # The resource is currently not available for this operation. New
1139
+ # resources cannot be created with the same name as existing resources.
1140
+ # Also, resources cannot be updated or deleted unless they are in an
1141
+ # `ACTIVE` state.
1142
+ #
1143
+ # If this exception is returned, do not use it to determine whether the
1144
+ # requested resource already exists. Instead, it is recommended you use
1145
+ # the resource-specific describe API, for example, `DescribeStream` for
1146
+ # video streams.
855
1147
  #
856
1148
  # @!attribute [rw] message
857
1149
  # @return [String]
@@ -926,7 +1218,7 @@ module Aws::KinesisVideo
926
1218
  # }
927
1219
  #
928
1220
  # @!attribute [rw] message_ttl_seconds
929
- # The period of time a signaling channel retains underlivered messages
1221
+ # The period of time a signaling channel retains undelivered messages
930
1222
  # before they are discarded.
931
1223
  # @return [Integer]
932
1224
  #
@@ -957,8 +1249,8 @@ module Aws::KinesisVideo
957
1249
  # @return [String]
958
1250
  #
959
1251
  # @!attribute [rw] kms_key_id
960
- # The ID of the AWS Key Management Service (AWS KMS) key that Kinesis
961
- # Video Streams uses to encrypt data on the stream.
1252
+ # The ID of the Key Management Service (KMS) key that Kinesis Video
1253
+ # Streams uses to encrypt data on the stream.
962
1254
  # @return [String]
963
1255
  #
964
1256
  # @!attribute [rw] version
@@ -1132,7 +1424,7 @@ module Aws::KinesisVideo
1132
1424
  class TagStreamOutput < Aws::EmptyStructure; end
1133
1425
 
1134
1426
  # You have exceeded the limit of tags that you can associate with the
1135
- # resource. Kinesis video streams support up to 50 tags.
1427
+ # resource. A Kinesis video stream can support up to 50 tags.
1136
1428
  #
1137
1429
  # @!attribute [rw] message
1138
1430
  # @return [String]
@@ -1264,6 +1556,107 @@ module Aws::KinesisVideo
1264
1556
  #
1265
1557
  class UpdateDataRetentionOutput < Aws::EmptyStructure; end
1266
1558
 
1559
+ # @note When making an API call, you may pass UpdateImageGenerationConfigurationInput
1560
+ # data as a hash:
1561
+ #
1562
+ # {
1563
+ # stream_name: "StreamName",
1564
+ # stream_arn: "ResourceARN",
1565
+ # image_generation_configuration: {
1566
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
1567
+ # image_selector_type: "SERVER_TIMESTAMP", # required, accepts SERVER_TIMESTAMP, PRODUCER_TIMESTAMP
1568
+ # destination_config: { # required
1569
+ # uri: "DestinationUri", # required
1570
+ # destination_region: "DestinationRegion", # required
1571
+ # },
1572
+ # sampling_interval: 1, # required
1573
+ # format: "JPEG", # required, accepts JPEG, PNG
1574
+ # format_config: {
1575
+ # "JPEGQuality" => "FormatConfigValue",
1576
+ # },
1577
+ # width_pixels: 1,
1578
+ # height_pixels: 1,
1579
+ # },
1580
+ # }
1581
+ #
1582
+ # @!attribute [rw] stream_name
1583
+ # The name of the stream from which to update the image generation
1584
+ # configuration. You must specify either the `StreamName` or the
1585
+ # `StreamARN`.
1586
+ # @return [String]
1587
+ #
1588
+ # @!attribute [rw] stream_arn
1589
+ # The Amazon Resource Name (ARN) of the Kinesis video stream from
1590
+ # where you want to update the image generation configuration. You
1591
+ # must specify either the `StreamName` or the `StreamARN`.
1592
+ # @return [String]
1593
+ #
1594
+ # @!attribute [rw] image_generation_configuration
1595
+ # The structure that contains the information required for the KVS
1596
+ # images delivery. If the structure is null, the configuration will be
1597
+ # deleted from the stream.
1598
+ # @return [Types::ImageGenerationConfiguration]
1599
+ #
1600
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateImageGenerationConfigurationInput AWS API Documentation
1601
+ #
1602
+ class UpdateImageGenerationConfigurationInput < Struct.new(
1603
+ :stream_name,
1604
+ :stream_arn,
1605
+ :image_generation_configuration)
1606
+ SENSITIVE = []
1607
+ include Aws::Structure
1608
+ end
1609
+
1610
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateImageGenerationConfigurationOutput AWS API Documentation
1611
+ #
1612
+ class UpdateImageGenerationConfigurationOutput < Aws::EmptyStructure; end
1613
+
1614
+ # @note When making an API call, you may pass UpdateNotificationConfigurationInput
1615
+ # data as a hash:
1616
+ #
1617
+ # {
1618
+ # stream_name: "StreamName",
1619
+ # stream_arn: "ResourceARN",
1620
+ # notification_configuration: {
1621
+ # status: "ENABLED", # required, accepts ENABLED, DISABLED
1622
+ # destination_config: { # required
1623
+ # uri: "DestinationUri", # required
1624
+ # },
1625
+ # },
1626
+ # }
1627
+ #
1628
+ # @!attribute [rw] stream_name
1629
+ # The name of the stream from which to update the notification
1630
+ # configuration. You must specify either the `StreamName` or the
1631
+ # `StreamARN`.
1632
+ # @return [String]
1633
+ #
1634
+ # @!attribute [rw] stream_arn
1635
+ # The Amazon Resource Name (ARN) of the Kinesis video stream from
1636
+ # where you want to update the notification configuration. You must
1637
+ # specify either the `StreamName` or the `StreamARN`.
1638
+ # @return [String]
1639
+ #
1640
+ # @!attribute [rw] notification_configuration
1641
+ # The structure containing the information required for notifications.
1642
+ # If the structure is null, the configuration will be deleted from the
1643
+ # stream.
1644
+ # @return [Types::NotificationConfiguration]
1645
+ #
1646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateNotificationConfigurationInput AWS API Documentation
1647
+ #
1648
+ class UpdateNotificationConfigurationInput < Struct.new(
1649
+ :stream_name,
1650
+ :stream_arn,
1651
+ :notification_configuration)
1652
+ SENSITIVE = []
1653
+ include Aws::Structure
1654
+ end
1655
+
1656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateNotificationConfigurationOutput AWS API Documentation
1657
+ #
1658
+ class UpdateNotificationConfigurationOutput < Aws::EmptyStructure; end
1659
+
1267
1660
  # @note When making an API call, you may pass UpdateSignalingChannelInput
1268
1661
  # data as a hash:
1269
1662
  #
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-kinesisvideo/customizations'
48
48
  # @!group service
49
49
  module Aws::KinesisVideo
50
50
 
51
- GEM_VERSION = '1.41.0'
51
+ GEM_VERSION = '1.42.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kinesisvideo
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.41.0
4
+ version: 1.42.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: 2022-02-24 00:00:00.000000000 Z
11
+ date: 2022-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core