aws-sdk-kinesisvideoarchivedmedia 1.43.0 → 1.45.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: 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