aws-sdk-kinesisvideoarchivedmedia 1.43.0 → 1.45.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: f121fa600be29aecc5161bbc80cd337fb337856d930ddb7661eec73b95ff82b6
4
- data.tar.gz: 2615f9b8eb28ae29117f37ca6f3cda93ffff15d57775917d611ad75d86afceda
3
+ metadata.gz: 374078db3244e79d39d562d856ff77fee52b14a71de6d7fc0dfee6f13120f3c7
4
+ data.tar.gz: 2f86ec2da0d0fce2e976a1011ad088f49bfc0ca030742eccc8dcf10fe19374ab
5
5
  SHA512:
6
- metadata.gz: 6abe37832e18638f1d8e464e929e90c0ac09756e484ec1066c507a4127fb755acd197269cfc8ad3ef389c73a29dd959655bc3553d9da2aad023d79277cca9663
7
- data.tar.gz: 6e45e26ea82915c8aab4cfa65715b432b71f3affa398eea73d67afc13deb037314a2024857f72eb4576f9e71752138aa333845ef5a065c57d99e815e96ed23f2
6
+ metadata.gz: d770866d4e62a73db5de61d7b4d1a28056d5d1e4b4fd9ca4499c52067022b82f685dd384080a2f1d796da75b69e1f993343ede4f96beac5df65d1adb2c6a61ca
7
+ data.tar.gz: 4b4054a84792c675b8f0a0f387e6049bb3252d36c4ad0ff8f43645264f397983f940fd5c70ea3b1a727e7b0ed5a09454d80df1a3daa7935058dd17f75841a39f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.45.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.44.0 (2022-05-03)
10
+ ------------------
11
+
12
+ * Feature - Add support for GetImages API for retrieving images from a video stream
13
+
4
14
  1.43.0 (2022-02-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.43.0
1
+ 1.45.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:kinesisvideoarchivedmedia)
@@ -79,8 +79,9 @@ module Aws::KinesisVideoArchivedMedia
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::KinesisVideoArchivedMedia::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::KinesisVideoArchivedMedia
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::KinesisVideoArchivedMedia
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::KinesisVideoArchivedMedia::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::KinesisVideoArchivedMedia::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -1155,6 +1172,129 @@ module Aws::KinesisVideoArchivedMedia
1155
1172
  req.send_request(options)
1156
1173
  end
1157
1174
 
1175
+ # Retrieves a list of Images corresponding to each timestamp for a given
1176
+ # time range, sampling interval, and image format configuration.
1177
+ #
1178
+ # @option params [String] :stream_name
1179
+ # The name of the stream from which to retrieve the images. You must
1180
+ # specify either the `StreamName` or the `StreamARN`.
1181
+ #
1182
+ # @option params [String] :stream_arn
1183
+ # The Amazon Resource Name (ARN) of the stream from which to retrieve
1184
+ # the images. You must specify either the `StreamName` or the
1185
+ # `StreamARN`.
1186
+ #
1187
+ # @option params [required, String] :image_selector_type
1188
+ # The origin of the Server or Producer timestamps to use to generate the
1189
+ # images.
1190
+ #
1191
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_timestamp
1192
+ # The starting point from which the images should be generated. This
1193
+ # `StartTimestamp` must be within an inclusive range of timestamps for
1194
+ # an image to be returned.
1195
+ #
1196
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_timestamp
1197
+ # The end timestamp for the range of images to be generated.
1198
+ #
1199
+ # @option params [required, Integer] :sampling_interval
1200
+ # The time interval in milliseconds (ms) at which the images need to be
1201
+ # generated from the stream. The minimum value that can be provided is
1202
+ # 3000 ms. If the timestamp range is less than the sampling interval,
1203
+ # the Image from the `startTimestamp` will be returned if available.
1204
+ #
1205
+ # <note markdown="1"> The minimum value of 3000 ms is a soft limit. If needed, a lower
1206
+ # sampling frequency can be requested.
1207
+ #
1208
+ # </note>
1209
+ #
1210
+ # @option params [required, String] :format
1211
+ # The format that will be used to encode the image.
1212
+ #
1213
+ # @option params [Hash<String,String>] :format_config
1214
+ # The list of a key-value pair structure that contains extra parameters
1215
+ # that can be applied when the image is generated. The `FormatConfig`
1216
+ # key is the `JPEGQuality`, which indicates the JPEG quality key to be
1217
+ # used to generate the image. The `FormatConfig` value accepts ints from
1218
+ # 1 to 100. If the value is 1, the image will be generated with less
1219
+ # quality and the best compression. If the value is 100, the image will
1220
+ # be generated with the best quality and less compression. If no value
1221
+ # is provided, the default value of the `JPEGQuality` key will be set to
1222
+ # 80.
1223
+ #
1224
+ # @option params [Integer] :width_pixels
1225
+ # The width of the output image that is used in conjunction with the
1226
+ # `HeightPixels` parameter. When both `WidthPixels` and `HeightPixels`
1227
+ # parameters are provided, the image will be stretched to fit the
1228
+ # specified aspect ratio. If only the `WidthPixels` parameter is
1229
+ # provided or if only the `HeightPixels` is provided, a
1230
+ # `ValidationException` will be thrown. If neither parameter is
1231
+ # provided, the original image size from the stream will be returned.
1232
+ #
1233
+ # @option params [Integer] :height_pixels
1234
+ # The height of the output image that is used in conjunction with the
1235
+ # `WidthPixels` parameter. When both `HeightPixels` and `WidthPixels`
1236
+ # parameters are provided, the image will be stretched to fit the
1237
+ # specified aspect ratio. If only the `HeightPixels` parameter is
1238
+ # provided, its original aspect ratio will be used to calculate the
1239
+ # `WidthPixels` ratio. If neither parameter is provided, the original
1240
+ # image size will be returned.
1241
+ #
1242
+ # @option params [Integer] :max_results
1243
+ # The maximum number of images to be returned by the API.
1244
+ #
1245
+ # <note markdown="1"> The default limit is 100 images per API response. The additional
1246
+ # results will be paginated.
1247
+ #
1248
+ # </note>
1249
+ #
1250
+ # @option params [String] :next_token
1251
+ # A token that specifies where to start paginating the next set of
1252
+ # Images. This is the `GetImages:NextToken` from a previously truncated
1253
+ # response.
1254
+ #
1255
+ # @return [Types::GetImagesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1256
+ #
1257
+ # * {Types::GetImagesOutput#images #images} => Array&lt;Types::Image&gt;
1258
+ # * {Types::GetImagesOutput#next_token #next_token} => String
1259
+ #
1260
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1261
+ #
1262
+ # @example Request syntax with placeholder values
1263
+ #
1264
+ # resp = client.get_images({
1265
+ # stream_name: "StreamName",
1266
+ # stream_arn: "ResourceARN",
1267
+ # image_selector_type: "PRODUCER_TIMESTAMP", # required, accepts PRODUCER_TIMESTAMP, SERVER_TIMESTAMP
1268
+ # start_timestamp: Time.now, # required
1269
+ # end_timestamp: Time.now, # required
1270
+ # sampling_interval: 1, # required
1271
+ # format: "JPEG", # required, accepts JPEG, PNG
1272
+ # format_config: {
1273
+ # "JPEGQuality" => "FormatConfigValue",
1274
+ # },
1275
+ # width_pixels: 1,
1276
+ # height_pixels: 1,
1277
+ # max_results: 1,
1278
+ # next_token: "NextToken",
1279
+ # })
1280
+ #
1281
+ # @example Response structure
1282
+ #
1283
+ # resp.images #=> Array
1284
+ # resp.images[0].time_stamp #=> Time
1285
+ # resp.images[0].error #=> String, one of "NO_MEDIA", "MEDIA_ERROR"
1286
+ # resp.images[0].image_content #=> String
1287
+ # resp.next_token #=> String
1288
+ #
1289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/GetImages AWS API Documentation
1290
+ #
1291
+ # @overload get_images(params = {})
1292
+ # @param [Hash] params ({})
1293
+ def get_images(params = {}, options = {})
1294
+ req = build_request(:get_images, params)
1295
+ req.send_request(options)
1296
+ end
1297
+
1158
1298
  # Gets media for a list of fragments (specified by fragment number) from
1159
1299
  # the archived data in an Amazon Kinesis video stream.
1160
1300
  #
@@ -1352,7 +1492,7 @@ module Aws::KinesisVideoArchivedMedia
1352
1492
  params: params,
1353
1493
  config: config)
1354
1494
  context[:gem_name] = 'aws-sdk-kinesisvideoarchivedmedia'
1355
- context[:gem_version] = '1.43.0'
1495
+ context[:gem_version] = '1.45.0'
1356
1496
  Seahorse::Client::Request.new(handlers, context)
1357
1497
  end
1358
1498
 
@@ -29,6 +29,10 @@ module Aws::KinesisVideoArchivedMedia
29
29
  DASHTimestampRange = Shapes::StructureShape.new(name: 'DASHTimestampRange')
30
30
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
31
31
  Expires = Shapes::IntegerShape.new(name: 'Expires')
32
+ Format = Shapes::StringShape.new(name: 'Format')
33
+ FormatConfig = Shapes::MapShape.new(name: 'FormatConfig')
34
+ FormatConfigKey = Shapes::StringShape.new(name: 'FormatConfigKey')
35
+ FormatConfigValue = Shapes::StringShape.new(name: 'FormatConfigValue')
32
36
  Fragment = Shapes::StructureShape.new(name: 'Fragment')
33
37
  FragmentList = Shapes::ListShape.new(name: 'FragmentList')
34
38
  FragmentNumberList = Shapes::ListShape.new(name: 'FragmentNumberList')
@@ -41,6 +45,9 @@ module Aws::KinesisVideoArchivedMedia
41
45
  GetDASHStreamingSessionURLOutput = Shapes::StructureShape.new(name: 'GetDASHStreamingSessionURLOutput')
42
46
  GetHLSStreamingSessionURLInput = Shapes::StructureShape.new(name: 'GetHLSStreamingSessionURLInput')
43
47
  GetHLSStreamingSessionURLOutput = Shapes::StructureShape.new(name: 'GetHLSStreamingSessionURLOutput')
48
+ GetImagesInput = Shapes::StructureShape.new(name: 'GetImagesInput')
49
+ GetImagesMaxResults = Shapes::IntegerShape.new(name: 'GetImagesMaxResults')
50
+ GetImagesOutput = Shapes::StructureShape.new(name: 'GetImagesOutput')
44
51
  GetMediaForFragmentListInput = Shapes::StructureShape.new(name: 'GetMediaForFragmentListInput')
45
52
  GetMediaForFragmentListOutput = Shapes::StructureShape.new(name: 'GetMediaForFragmentListOutput')
46
53
  HLSDiscontinuityMode = Shapes::StringShape.new(name: 'HLSDiscontinuityMode')
@@ -51,6 +58,12 @@ module Aws::KinesisVideoArchivedMedia
51
58
  HLSPlaybackMode = Shapes::StringShape.new(name: 'HLSPlaybackMode')
52
59
  HLSStreamingSessionURL = Shapes::StringShape.new(name: 'HLSStreamingSessionURL')
53
60
  HLSTimestampRange = Shapes::StructureShape.new(name: 'HLSTimestampRange')
61
+ HeightPixels = Shapes::IntegerShape.new(name: 'HeightPixels')
62
+ Image = Shapes::StructureShape.new(name: 'Image')
63
+ ImageContent = Shapes::StringShape.new(name: 'ImageContent')
64
+ ImageError = Shapes::StringShape.new(name: 'ImageError')
65
+ ImageSelectorType = Shapes::StringShape.new(name: 'ImageSelectorType')
66
+ Images = Shapes::ListShape.new(name: 'Images')
54
67
  InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
55
68
  InvalidCodecPrivateDataException = Shapes::StructureShape.new(name: 'InvalidCodecPrivateDataException')
56
69
  InvalidMediaFrameException = Shapes::StructureShape.new(name: 'InvalidMediaFrameException')
@@ -65,10 +78,12 @@ module Aws::KinesisVideoArchivedMedia
65
78
  Payload = Shapes::BlobShape.new(name: 'Payload', streaming: true)
66
79
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
67
80
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
81
+ SamplingInterval = Shapes::IntegerShape.new(name: 'SamplingInterval')
68
82
  StreamName = Shapes::StringShape.new(name: 'StreamName')
69
83
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
70
84
  TimestampRange = Shapes::StructureShape.new(name: 'TimestampRange')
71
85
  UnsupportedStreamMediaTypeException = Shapes::StructureShape.new(name: 'UnsupportedStreamMediaTypeException')
86
+ WidthPixels = Shapes::IntegerShape.new(name: 'WidthPixels')
72
87
 
73
88
  ClientLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
74
89
  ClientLimitExceededException.struct_class = Types::ClientLimitExceededException
@@ -89,6 +104,9 @@ module Aws::KinesisVideoArchivedMedia
89
104
  DASHTimestampRange.add_member(:end_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndTimestamp"))
90
105
  DASHTimestampRange.struct_class = Types::DASHTimestampRange
91
106
 
107
+ FormatConfig.key = Shapes::ShapeRef.new(shape: FormatConfigKey)
108
+ FormatConfig.value = Shapes::ShapeRef.new(shape: FormatConfigValue)
109
+
92
110
  Fragment.add_member(:fragment_number, Shapes::ShapeRef.new(shape: FragmentNumberString, location_name: "FragmentNumber"))
93
111
  Fragment.add_member(:fragment_size_in_bytes, Shapes::ShapeRef.new(shape: Long, location_name: "FragmentSizeInBytes"))
94
112
  Fragment.add_member(:producer_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ProducerTimestamp"))
@@ -142,6 +160,24 @@ module Aws::KinesisVideoArchivedMedia
142
160
  GetHLSStreamingSessionURLOutput.add_member(:hls_streaming_session_url, Shapes::ShapeRef.new(shape: HLSStreamingSessionURL, location_name: "HLSStreamingSessionURL"))
143
161
  GetHLSStreamingSessionURLOutput.struct_class = Types::GetHLSStreamingSessionURLOutput
144
162
 
163
+ GetImagesInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
164
+ GetImagesInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
165
+ GetImagesInput.add_member(:image_selector_type, Shapes::ShapeRef.new(shape: ImageSelectorType, required: true, location_name: "ImageSelectorType"))
166
+ GetImagesInput.add_member(:start_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "StartTimestamp"))
167
+ GetImagesInput.add_member(:end_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "EndTimestamp"))
168
+ GetImagesInput.add_member(:sampling_interval, Shapes::ShapeRef.new(shape: SamplingInterval, required: true, location_name: "SamplingInterval"))
169
+ GetImagesInput.add_member(:format, Shapes::ShapeRef.new(shape: Format, required: true, location_name: "Format"))
170
+ GetImagesInput.add_member(:format_config, Shapes::ShapeRef.new(shape: FormatConfig, location_name: "FormatConfig"))
171
+ GetImagesInput.add_member(:width_pixels, Shapes::ShapeRef.new(shape: WidthPixels, location_name: "WidthPixels"))
172
+ GetImagesInput.add_member(:height_pixels, Shapes::ShapeRef.new(shape: HeightPixels, location_name: "HeightPixels"))
173
+ GetImagesInput.add_member(:max_results, Shapes::ShapeRef.new(shape: GetImagesMaxResults, location_name: "MaxResults"))
174
+ GetImagesInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
175
+ GetImagesInput.struct_class = Types::GetImagesInput
176
+
177
+ GetImagesOutput.add_member(:images, Shapes::ShapeRef.new(shape: Images, location_name: "Images"))
178
+ GetImagesOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
179
+ GetImagesOutput.struct_class = Types::GetImagesOutput
180
+
145
181
  GetMediaForFragmentListInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
146
182
  GetMediaForFragmentListInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
147
183
  GetMediaForFragmentListInput.add_member(:fragments, Shapes::ShapeRef.new(shape: FragmentNumberList, required: true, location_name: "Fragments"))
@@ -161,6 +197,13 @@ module Aws::KinesisVideoArchivedMedia
161
197
  HLSTimestampRange.add_member(:end_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndTimestamp"))
162
198
  HLSTimestampRange.struct_class = Types::HLSTimestampRange
163
199
 
200
+ Image.add_member(:time_stamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "TimeStamp"))
201
+ Image.add_member(:error, Shapes::ShapeRef.new(shape: ImageError, location_name: "Error"))
202
+ Image.add_member(:image_content, Shapes::ShapeRef.new(shape: ImageContent, location_name: "ImageContent"))
203
+ Image.struct_class = Types::Image
204
+
205
+ Images.member = Shapes::ShapeRef.new(shape: Image)
206
+
164
207
  InvalidArgumentException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
165
208
  InvalidArgumentException.struct_class = Types::InvalidArgumentException
166
209
 
@@ -266,6 +309,24 @@ module Aws::KinesisVideoArchivedMedia
266
309
  o.errors << Shapes::ShapeRef.new(shape: InvalidCodecPrivateDataException)
267
310
  end)
268
311
 
312
+ api.add_operation(:get_images, Seahorse::Model::Operation.new.tap do |o|
313
+ o.name = "GetImages"
314
+ o.http_method = "POST"
315
+ o.http_request_uri = "/getImages"
316
+ o.input = Shapes::ShapeRef.new(shape: GetImagesInput)
317
+ o.output = Shapes::ShapeRef.new(shape: GetImagesOutput)
318
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
319
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
320
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
321
+ o.errors << Shapes::ShapeRef.new(shape: NotAuthorizedException)
322
+ o[:pager] = Aws::Pager.new(
323
+ limit_key: "max_results",
324
+ tokens: {
325
+ "next_token" => "next_token"
326
+ }
327
+ )
328
+ end)
329
+
269
330
  api.add_operation(:get_media_for_fragment_list, Seahorse::Model::Operation.new.tap do |o|
270
331
  o.name = "GetMediaForFragmentList"
271
332
  o.http_method = "POST"
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::KinesisVideoArchivedMedia
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::KinesisVideoArchivedMedia
11
+ class EndpointProvider
12
+ def initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL2tpbmVzaXN2aWRlby1maXBzLntSZWdpb259
77
+ LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3Bl
78
+ cnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0s
79
+ eyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sg
80
+ YXJlIGVuYWJsZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBw
81
+ b3J0IG9uZSBvciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlv
82
+ bnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVz
83
+ ZUZJUFMifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25k
84
+ aXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7
85
+ ImZuIjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3Vs
86
+ dCJ9LCJzdXBwb3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMi
87
+ Olt7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJj
88
+ b25kaXRpb25zIjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9raW5l
89
+ c2lzdmlkZW8tZmlwcy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1
90
+ ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoi
91
+ ZW5kcG9pbnQifV19XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBT
92
+ IGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
93
+ cnQgRklQUyIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJm
94
+ biI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3Rh
95
+ Y2sifSx0cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRp
96
+ b25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZu
97
+ IjoiZ2V0QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9
98
+ LCJzdXBwb3J0c0R1YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxl
99
+ cyI6W3siY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBz
100
+ Oi8va2luZXNpc3ZpZGVvLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVh
101
+ bFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7
102
+ fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJy
103
+ b3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24g
104
+ ZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19
105
+ LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8v
106
+ a2luZXNpc3ZpZGVvLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZG5zU3Vm
107
+ Zml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJl
108
+ bmRwb2ludCJ9XX1dfQ==
109
+
110
+ JSON
111
+ end
112
+ end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::KinesisVideoArchivedMedia
12
+ module Endpoints
13
+
14
+ class GetClip
15
+ def self.build(context)
16
+ unless context.config.regional_endpoint
17
+ endpoint = context.config.endpoint.to_s
18
+ end
19
+ Aws::KinesisVideoArchivedMedia::EndpointParameters.new(
20
+ region: context.config.region,
21
+ use_dual_stack: context.config.use_dualstack_endpoint,
22
+ use_fips: context.config.use_fips_endpoint,
23
+ endpoint: endpoint,
24
+ )
25
+ end
26
+ end
27
+
28
+ class GetDASHStreamingSessionURL
29
+ def self.build(context)
30
+ unless context.config.regional_endpoint
31
+ endpoint = context.config.endpoint.to_s
32
+ end
33
+ Aws::KinesisVideoArchivedMedia::EndpointParameters.new(
34
+ region: context.config.region,
35
+ use_dual_stack: context.config.use_dualstack_endpoint,
36
+ use_fips: context.config.use_fips_endpoint,
37
+ endpoint: endpoint,
38
+ )
39
+ end
40
+ end
41
+
42
+ class GetHLSStreamingSessionURL
43
+ def self.build(context)
44
+ unless context.config.regional_endpoint
45
+ endpoint = context.config.endpoint.to_s
46
+ end
47
+ Aws::KinesisVideoArchivedMedia::EndpointParameters.new(
48
+ region: context.config.region,
49
+ use_dual_stack: context.config.use_dualstack_endpoint,
50
+ use_fips: context.config.use_fips_endpoint,
51
+ endpoint: endpoint,
52
+ )
53
+ end
54
+ end
55
+
56
+ class GetImages
57
+ def self.build(context)
58
+ unless context.config.regional_endpoint
59
+ endpoint = context.config.endpoint.to_s
60
+ end
61
+ Aws::KinesisVideoArchivedMedia::EndpointParameters.new(
62
+ region: context.config.region,
63
+ use_dual_stack: context.config.use_dualstack_endpoint,
64
+ use_fips: context.config.use_fips_endpoint,
65
+ endpoint: endpoint,
66
+ )
67
+ end
68
+ end
69
+
70
+ class GetMediaForFragmentList
71
+ def self.build(context)
72
+ unless context.config.regional_endpoint
73
+ endpoint = context.config.endpoint.to_s
74
+ end
75
+ Aws::KinesisVideoArchivedMedia::EndpointParameters.new(
76
+ region: context.config.region,
77
+ use_dual_stack: context.config.use_dualstack_endpoint,
78
+ use_fips: context.config.use_fips_endpoint,
79
+ endpoint: endpoint,
80
+ )
81
+ end
82
+ end
83
+
84
+ class ListFragments
85
+ def self.build(context)
86
+ unless context.config.regional_endpoint
87
+ endpoint = context.config.endpoint.to_s
88
+ end
89
+ Aws::KinesisVideoArchivedMedia::EndpointParameters.new(
90
+ region: context.config.region,
91
+ use_dual_stack: context.config.use_dualstack_endpoint,
92
+ use_fips: context.config.use_fips_endpoint,
93
+ endpoint: endpoint,
94
+ )
95
+ end
96
+ end
97
+
98
+ end
99
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::KinesisVideoArchivedMedia
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::KinesisVideoArchivedMedia::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::KinesisVideoArchivedMedia::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::KinesisVideoArchivedMedia::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :get_clip
60
+ Aws::KinesisVideoArchivedMedia::Endpoints::GetClip.build(context)
61
+ when :get_dash_streaming_session_url
62
+ Aws::KinesisVideoArchivedMedia::Endpoints::GetDASHStreamingSessionURL.build(context)
63
+ when :get_hls_streaming_session_url
64
+ Aws::KinesisVideoArchivedMedia::Endpoints::GetHLSStreamingSessionURL.build(context)
65
+ when :get_images
66
+ Aws::KinesisVideoArchivedMedia::Endpoints::GetImages.build(context)
67
+ when :get_media_for_fragment_list
68
+ Aws::KinesisVideoArchivedMedia::Endpoints::GetMediaForFragmentList.build(context)
69
+ when :list_fragments
70
+ Aws::KinesisVideoArchivedMedia::Endpoints::ListFragments.build(context)
71
+ end
72
+ end
73
+ end
74
+
75
+ def add_handlers(handlers, _config)
76
+ handlers.add(Handler, step: :build, priority: 75)
77
+ end
78
+ end
79
+ end
80
+ end
@@ -826,6 +826,156 @@ module Aws::KinesisVideoArchivedMedia
826
826
  include Aws::Structure
827
827
  end
828
828
 
829
+ # @note When making an API call, you may pass GetImagesInput
830
+ # data as a hash:
831
+ #
832
+ # {
833
+ # stream_name: "StreamName",
834
+ # stream_arn: "ResourceARN",
835
+ # image_selector_type: "PRODUCER_TIMESTAMP", # required, accepts PRODUCER_TIMESTAMP, SERVER_TIMESTAMP
836
+ # start_timestamp: Time.now, # required
837
+ # end_timestamp: Time.now, # required
838
+ # sampling_interval: 1, # required
839
+ # format: "JPEG", # required, accepts JPEG, PNG
840
+ # format_config: {
841
+ # "JPEGQuality" => "FormatConfigValue",
842
+ # },
843
+ # width_pixels: 1,
844
+ # height_pixels: 1,
845
+ # max_results: 1,
846
+ # next_token: "NextToken",
847
+ # }
848
+ #
849
+ # @!attribute [rw] stream_name
850
+ # The name of the stream from which to retrieve the images. You must
851
+ # specify either the `StreamName` or the `StreamARN`.
852
+ # @return [String]
853
+ #
854
+ # @!attribute [rw] stream_arn
855
+ # The Amazon Resource Name (ARN) of the stream from which to retrieve
856
+ # the images. You must specify either the `StreamName` or the
857
+ # `StreamARN`.
858
+ # @return [String]
859
+ #
860
+ # @!attribute [rw] image_selector_type
861
+ # The origin of the Server or Producer timestamps to use to generate
862
+ # the images.
863
+ # @return [String]
864
+ #
865
+ # @!attribute [rw] start_timestamp
866
+ # The starting point from which the images should be generated. This
867
+ # `StartTimestamp` must be within an inclusive range of timestamps for
868
+ # an image to be returned.
869
+ # @return [Time]
870
+ #
871
+ # @!attribute [rw] end_timestamp
872
+ # The end timestamp for the range of images to be generated.
873
+ # @return [Time]
874
+ #
875
+ # @!attribute [rw] sampling_interval
876
+ # The time interval in milliseconds (ms) at which the images need to
877
+ # be generated from the stream. The minimum value that can be provided
878
+ # is 3000 ms. If the timestamp range is less than the sampling
879
+ # interval, the Image from the `startTimestamp` will be returned if
880
+ # available.
881
+ #
882
+ # <note markdown="1"> The minimum value of 3000 ms is a soft limit. If needed, a lower
883
+ # sampling frequency can be requested.
884
+ #
885
+ # </note>
886
+ # @return [Integer]
887
+ #
888
+ # @!attribute [rw] format
889
+ # The format that will be used to encode the image.
890
+ # @return [String]
891
+ #
892
+ # @!attribute [rw] format_config
893
+ # The list of a key-value pair structure that contains extra
894
+ # parameters that can be applied when the image is generated. The
895
+ # `FormatConfig` key is the `JPEGQuality`, which indicates the JPEG
896
+ # quality key to be used to generate the image. The `FormatConfig`
897
+ # value accepts ints from 1 to 100. If the value is 1, the image will
898
+ # be generated with less quality and the best compression. If the
899
+ # value is 100, the image will be generated with the best quality and
900
+ # less compression. If no value is provided, the default value of the
901
+ # `JPEGQuality` key will be set to 80.
902
+ # @return [Hash<String,String>]
903
+ #
904
+ # @!attribute [rw] width_pixels
905
+ # The width of the output image that is used in conjunction with the
906
+ # `HeightPixels` parameter. When both `WidthPixels` and `HeightPixels`
907
+ # parameters are provided, the image will be stretched to fit the
908
+ # specified aspect ratio. If only the `WidthPixels` parameter is
909
+ # provided or if only the `HeightPixels` is provided, a
910
+ # `ValidationException` will be thrown. If neither parameter is
911
+ # provided, the original image size from the stream will be returned.
912
+ # @return [Integer]
913
+ #
914
+ # @!attribute [rw] height_pixels
915
+ # The height of the output image that is used in conjunction with the
916
+ # `WidthPixels` parameter. When both `HeightPixels` and `WidthPixels`
917
+ # parameters are provided, the image will be stretched to fit the
918
+ # specified aspect ratio. If only the `HeightPixels` parameter is
919
+ # provided, its original aspect ratio will be used to calculate the
920
+ # `WidthPixels` ratio. If neither parameter is provided, the original
921
+ # image size will be returned.
922
+ # @return [Integer]
923
+ #
924
+ # @!attribute [rw] max_results
925
+ # The maximum number of images to be returned by the API.
926
+ #
927
+ # <note markdown="1"> The default limit is 100 images per API response. The additional
928
+ # results will be paginated.
929
+ #
930
+ # </note>
931
+ # @return [Integer]
932
+ #
933
+ # @!attribute [rw] next_token
934
+ # A token that specifies where to start paginating the next set of
935
+ # Images. This is the `GetImages:NextToken` from a previously
936
+ # truncated response.
937
+ # @return [String]
938
+ #
939
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/GetImagesInput AWS API Documentation
940
+ #
941
+ class GetImagesInput < Struct.new(
942
+ :stream_name,
943
+ :stream_arn,
944
+ :image_selector_type,
945
+ :start_timestamp,
946
+ :end_timestamp,
947
+ :sampling_interval,
948
+ :format,
949
+ :format_config,
950
+ :width_pixels,
951
+ :height_pixels,
952
+ :max_results,
953
+ :next_token)
954
+ SENSITIVE = []
955
+ include Aws::Structure
956
+ end
957
+
958
+ # @!attribute [rw] images
959
+ # The list of images generated from the video stream. If there is no
960
+ # media available for the given timestamp, the `NO_MEDIA` error will
961
+ # be listed in the output. If an error occurs while the image is being
962
+ # generated, the `MEDIA_ERROR` will be listed in the output as the
963
+ # cause of the missing image.
964
+ # @return [Array<Types::Image>]
965
+ #
966
+ # @!attribute [rw] next_token
967
+ # The encrypted token that was used in the request to get more images.
968
+ # @return [String]
969
+ #
970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/GetImagesOutput AWS API Documentation
971
+ #
972
+ class GetImagesOutput < Struct.new(
973
+ :images,
974
+ :next_token)
975
+ SENSITIVE = []
976
+ include Aws::Structure
977
+ end
978
+
829
979
  # @note When making an API call, you may pass GetMediaForFragmentListInput
830
980
  # data as a hash:
831
981
  #
@@ -1022,6 +1172,46 @@ module Aws::KinesisVideoArchivedMedia
1022
1172
  include Aws::Structure
1023
1173
  end
1024
1174
 
1175
+ # A structure that contains the `Timestamp`, `Error`, and
1176
+ # `ImageContent`.
1177
+ #
1178
+ # @!attribute [rw] time_stamp
1179
+ # An attribute of the `Image` object that is used to extract an image
1180
+ # from the video stream. This field is used to manage gaps on images
1181
+ # or to better understand the pagination window.
1182
+ # @return [Time]
1183
+ #
1184
+ # @!attribute [rw] error
1185
+ # The error message shown when the image for the provided timestamp
1186
+ # was not extracted due to a non-tryable error. An error will be
1187
+ # returned if:
1188
+ #
1189
+ # * There is no media that exists for the specified `Timestamp`.
1190
+ #
1191
+ # ^
1192
+ # ^
1193
+ #
1194
+ # * The media for the specified time does not allow an image to be
1195
+ # extracted. In this case the media is audio only, or the incorrect
1196
+ # media has been ingested.
1197
+ #
1198
+ # ^
1199
+ # @return [String]
1200
+ #
1201
+ # @!attribute [rw] image_content
1202
+ # An attribute of the `Image` object that is Base64 encoded.
1203
+ # @return [String]
1204
+ #
1205
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-archived-media-2017-09-30/Image AWS API Documentation
1206
+ #
1207
+ class Image < Struct.new(
1208
+ :time_stamp,
1209
+ :error,
1210
+ :image_content)
1211
+ SENSITIVE = []
1212
+ include Aws::Structure
1213
+ end
1214
+
1025
1215
  # A specified parameter exceeds its restrictions, is not supported, or
1026
1216
  # can't be used.
1027
1217
  #
@@ -13,9 +13,13 @@ require 'aws-sigv4'
13
13
 
14
14
  require_relative 'aws-sdk-kinesisvideoarchivedmedia/types'
15
15
  require_relative 'aws-sdk-kinesisvideoarchivedmedia/client_api'
16
+ require_relative 'aws-sdk-kinesisvideoarchivedmedia/plugins/endpoints.rb'
16
17
  require_relative 'aws-sdk-kinesisvideoarchivedmedia/client'
17
18
  require_relative 'aws-sdk-kinesisvideoarchivedmedia/errors'
18
19
  require_relative 'aws-sdk-kinesisvideoarchivedmedia/resource'
20
+ require_relative 'aws-sdk-kinesisvideoarchivedmedia/endpoint_parameters'
21
+ require_relative 'aws-sdk-kinesisvideoarchivedmedia/endpoint_provider'
22
+ require_relative 'aws-sdk-kinesisvideoarchivedmedia/endpoints'
19
23
  require_relative 'aws-sdk-kinesisvideoarchivedmedia/customizations'
20
24
 
21
25
  # This module provides support for Amazon Kinesis Video Streams Archived Media. This module is available in the
@@ -48,6 +52,6 @@ require_relative 'aws-sdk-kinesisvideoarchivedmedia/customizations'
48
52
  # @!group service
49
53
  module Aws::KinesisVideoArchivedMedia
50
54
 
51
- GEM_VERSION = '1.43.0'
55
+ GEM_VERSION = '1.45.0'
52
56
 
53
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kinesisvideoarchivedmedia
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.43.0
4
+ version: 1.45.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-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.127.0
22
+ version: 3.165.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.127.0
32
+ version: 3.165.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,11 @@ files:
59
59
  - lib/aws-sdk-kinesisvideoarchivedmedia/client.rb
60
60
  - lib/aws-sdk-kinesisvideoarchivedmedia/client_api.rb
61
61
  - lib/aws-sdk-kinesisvideoarchivedmedia/customizations.rb
62
+ - lib/aws-sdk-kinesisvideoarchivedmedia/endpoint_parameters.rb
63
+ - lib/aws-sdk-kinesisvideoarchivedmedia/endpoint_provider.rb
64
+ - lib/aws-sdk-kinesisvideoarchivedmedia/endpoints.rb
62
65
  - lib/aws-sdk-kinesisvideoarchivedmedia/errors.rb
66
+ - lib/aws-sdk-kinesisvideoarchivedmedia/plugins/endpoints.rb
63
67
  - lib/aws-sdk-kinesisvideoarchivedmedia/resource.rb
64
68
  - lib/aws-sdk-kinesisvideoarchivedmedia/types.rb
65
69
  homepage: https://github.com/aws/aws-sdk-ruby