aws-sdk-ivs 1.14.0 → 1.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ba7eb726875989991c09b86afa89b0269f8698b6989d057879d237bde53ab30b
4
- data.tar.gz: 569ec79e8460ce0a0c82dfdde71c62531c80e949737111048f283c5dc1dc8d21
3
+ metadata.gz: 80e7e30082cf7f21ad71dbf8e661c02d7909e46b10667ba062e1fb4885260488
4
+ data.tar.gz: 3dbd69d6790c293c4a8cd689dda1d04c7d90961e8abdfb48bf8bd04397d04b9d
5
5
  SHA512:
6
- metadata.gz: 82a6d67135d4a29c838384b703e90665a97e65b7d3aed493131403f8b2820784588b8260a057e4d6568c705f870863b755d7656d042e9e0a5ad239ddd3a1b2c8
7
- data.tar.gz: 0346bcd4317a3a3ec988eb3c735dcf2c6efd874cac3572af2287f475e4cbd0127512988a942cd2958df2471b29bf9592d0e30d7dd19879e20c014a95c1667f12
6
+ metadata.gz: 1893d47cde84483ea185ff775692338b869f52bf8e237dc3e40fcfbe1b9155012f94f2c688fb1286d19ef558f9a9d921af0b2d13eae02d8d83d0a27be1911595
7
+ data.tar.gz: acae82ca9d5e379c6421814617470daff9978859f36695304e7e08742296dfc1db77bd201c91d1fc2becc67d40f1ab3e6858e0474831f01eb1f94218dbb87783
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.18.0 (2022-01-18)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for the new Thumbnail Configuration property for Recording Configurations. For more information see https://docs.aws.amazon.com/ivs/latest/userguide/record-to-s3.html
8
+
9
+ 1.17.0 (2021-12-21)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.16.0 (2021-11-30)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.15.0 (2021-11-18)
20
+ ------------------
21
+
22
+ * Feature - Add APIs for retrieving stream session information and support for filtering live streams by health. For more information, see https://docs.aws.amazon.com/ivs/latest/userguide/stream-health.html
23
+
4
24
  1.14.0 (2021-11-04)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.14.0
1
+ 1.18.0
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
32
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
33
 
@@ -73,6 +74,7 @@ module Aws::IVS
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
79
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
80
 
@@ -119,7 +121,9 @@ module Aws::IVS
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::IVS
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -295,7 +303,7 @@ module Aws::IVS
295
303
  # seconds to wait when opening a HTTP session before raising a
296
304
  # `Timeout::Error`.
297
305
  #
298
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
299
307
  # number of seconds to wait for response data. This value can
300
308
  # safely be set per-request on the session.
301
309
  #
@@ -311,6 +319,9 @@ module Aws::IVS
311
319
  # disables this behaviour. This value can safely be set per
312
320
  # request on the session.
313
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
314
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
315
326
  # HTTP debug output will be sent to the `:logger`.
316
327
  #
@@ -526,6 +537,11 @@ module Aws::IVS
526
537
  # @option params [Hash<String,String>] :tags
527
538
  # Array of 1-50 maps, each of the form `string:string (key:value)`.
528
539
  #
540
+ # @option params [Types::ThumbnailConfiguration] :thumbnail_configuration
541
+ # A complex type that allows you to enable/disable the recording of
542
+ # thumbnails for a live session and modify the interval at which
543
+ # thumbnails are generated for the live session.
544
+ #
529
545
  # @return [Types::CreateRecordingConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
530
546
  #
531
547
  # * {Types::CreateRecordingConfigurationResponse#recording_configuration #recording_configuration} => Types::RecordingConfiguration
@@ -542,6 +558,10 @@ module Aws::IVS
542
558
  # tags: {
543
559
  # "TagKey" => "TagValue",
544
560
  # },
561
+ # thumbnail_configuration: {
562
+ # recording_mode: "DISABLED", # accepts DISABLED, INTERVAL
563
+ # target_interval_seconds: 1,
564
+ # },
545
565
  # })
546
566
  #
547
567
  # @example Response structure
@@ -552,6 +572,8 @@ module Aws::IVS
552
572
  # resp.recording_configuration.state #=> String, one of "CREATING", "CREATE_FAILED", "ACTIVE"
553
573
  # resp.recording_configuration.tags #=> Hash
554
574
  # resp.recording_configuration.tags["TagKey"] #=> String
575
+ # resp.recording_configuration.thumbnail_configuration.recording_mode #=> String, one of "DISABLED", "INTERVAL"
576
+ # resp.recording_configuration.thumbnail_configuration.target_interval_seconds #=> Integer
555
577
  #
556
578
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateRecordingConfiguration AWS API Documentation
557
579
  #
@@ -820,6 +842,8 @@ module Aws::IVS
820
842
  # resp.recording_configuration.state #=> String, one of "CREATING", "CREATE_FAILED", "ACTIVE"
821
843
  # resp.recording_configuration.tags #=> Hash
822
844
  # resp.recording_configuration.tags["TagKey"] #=> String
845
+ # resp.recording_configuration.thumbnail_configuration.recording_mode #=> String, one of "DISABLED", "INTERVAL"
846
+ # resp.recording_configuration.thumbnail_configuration.target_interval_seconds #=> Integer
823
847
  #
824
848
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetRecordingConfiguration AWS API Documentation
825
849
  #
@@ -853,6 +877,7 @@ module Aws::IVS
853
877
  # resp.stream.playback_url #=> String
854
878
  # resp.stream.start_time #=> Time
855
879
  # resp.stream.state #=> String, one of "LIVE", "OFFLINE"
880
+ # resp.stream.stream_id #=> String
856
881
  # resp.stream.viewer_count #=> Integer
857
882
  #
858
883
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStream AWS API Documentation
@@ -896,6 +921,76 @@ module Aws::IVS
896
921
  req.send_request(options)
897
922
  end
898
923
 
924
+ # Gets metadata on a specified stream.
925
+ #
926
+ # @option params [required, String] :channel_arn
927
+ # ARN of the channel resource
928
+ #
929
+ # @option params [String] :stream_id
930
+ # Unique identifier for a live or previously live stream in the
931
+ # specified channel. If no `streamId` is provided, this returns the most
932
+ # recent stream session for the channel, if it exists.
933
+ #
934
+ # @return [Types::GetStreamSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
935
+ #
936
+ # * {Types::GetStreamSessionResponse#stream_session #stream_session} => Types::StreamSession
937
+ #
938
+ # @example Request syntax with placeholder values
939
+ #
940
+ # resp = client.get_stream_session({
941
+ # channel_arn: "ChannelArn", # required
942
+ # stream_id: "StreamId",
943
+ # })
944
+ #
945
+ # @example Response structure
946
+ #
947
+ # resp.stream_session.channel.arn #=> String
948
+ # resp.stream_session.channel.authorized #=> Boolean
949
+ # resp.stream_session.channel.ingest_endpoint #=> String
950
+ # resp.stream_session.channel.latency_mode #=> String, one of "NORMAL", "LOW"
951
+ # resp.stream_session.channel.name #=> String
952
+ # resp.stream_session.channel.playback_url #=> String
953
+ # resp.stream_session.channel.recording_configuration_arn #=> String
954
+ # resp.stream_session.channel.tags #=> Hash
955
+ # resp.stream_session.channel.tags["TagKey"] #=> String
956
+ # resp.stream_session.channel.type #=> String, one of "BASIC", "STANDARD"
957
+ # resp.stream_session.end_time #=> Time
958
+ # resp.stream_session.ingest_configuration.audio.channels #=> Integer
959
+ # resp.stream_session.ingest_configuration.audio.codec #=> String
960
+ # resp.stream_session.ingest_configuration.audio.sample_rate #=> Integer
961
+ # resp.stream_session.ingest_configuration.audio.target_bitrate #=> Integer
962
+ # resp.stream_session.ingest_configuration.video.avc_level #=> String
963
+ # resp.stream_session.ingest_configuration.video.avc_profile #=> String
964
+ # resp.stream_session.ingest_configuration.video.codec #=> String
965
+ # resp.stream_session.ingest_configuration.video.encoder #=> String
966
+ # resp.stream_session.ingest_configuration.video.target_bitrate #=> Integer
967
+ # resp.stream_session.ingest_configuration.video.target_framerate #=> Integer
968
+ # resp.stream_session.ingest_configuration.video.video_height #=> Integer
969
+ # resp.stream_session.ingest_configuration.video.video_width #=> Integer
970
+ # resp.stream_session.recording_configuration.arn #=> String
971
+ # resp.stream_session.recording_configuration.destination_configuration.s3.bucket_name #=> String
972
+ # resp.stream_session.recording_configuration.name #=> String
973
+ # resp.stream_session.recording_configuration.state #=> String, one of "CREATING", "CREATE_FAILED", "ACTIVE"
974
+ # resp.stream_session.recording_configuration.tags #=> Hash
975
+ # resp.stream_session.recording_configuration.tags["TagKey"] #=> String
976
+ # resp.stream_session.recording_configuration.thumbnail_configuration.recording_mode #=> String, one of "DISABLED", "INTERVAL"
977
+ # resp.stream_session.recording_configuration.thumbnail_configuration.target_interval_seconds #=> Integer
978
+ # resp.stream_session.start_time #=> Time
979
+ # resp.stream_session.stream_id #=> String
980
+ # resp.stream_session.truncated_events #=> Array
981
+ # resp.stream_session.truncated_events[0].event_time #=> Time
982
+ # resp.stream_session.truncated_events[0].name #=> String
983
+ # resp.stream_session.truncated_events[0].type #=> String
984
+ #
985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamSession AWS API Documentation
986
+ #
987
+ # @overload get_stream_session(params = {})
988
+ # @param [Hash] params ({})
989
+ def get_stream_session(params = {}, options = {})
990
+ req = build_request(:get_stream_session, params)
991
+ req.send_request(options)
992
+ end
993
+
899
994
  # Imports the public portion of a new key pair and returns its `arn` and
900
995
  # `fingerprint`. The `privateKey` can then be used to generate viewer
901
996
  # authorization tokens, to grant viewers access to private channels. For
@@ -1142,9 +1237,58 @@ module Aws::IVS
1142
1237
  req.send_request(options)
1143
1238
  end
1144
1239
 
1240
+ # Gets a summary of current and previous streams for a specified channel
1241
+ # in your account, in the AWS region where the API request is processed.
1242
+ #
1243
+ # @option params [required, String] :channel_arn
1244
+ # Channel ARN used to filter the list.
1245
+ #
1246
+ # @option params [Integer] :max_results
1247
+ # Maximum number of streams to return. Default: 50.
1248
+ #
1249
+ # @option params [String] :next_token
1250
+ # The first stream to retrieve. This is used for pagination; see the
1251
+ # `nextToken` response field.
1252
+ #
1253
+ # @return [Types::ListStreamSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1254
+ #
1255
+ # * {Types::ListStreamSessionsResponse#next_token #next_token} => String
1256
+ # * {Types::ListStreamSessionsResponse#stream_sessions #stream_sessions} => Array&lt;Types::StreamSessionSummary&gt;
1257
+ #
1258
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1259
+ #
1260
+ # @example Request syntax with placeholder values
1261
+ #
1262
+ # resp = client.list_stream_sessions({
1263
+ # channel_arn: "ChannelArn", # required
1264
+ # max_results: 1,
1265
+ # next_token: "PaginationToken",
1266
+ # })
1267
+ #
1268
+ # @example Response structure
1269
+ #
1270
+ # resp.next_token #=> String
1271
+ # resp.stream_sessions #=> Array
1272
+ # resp.stream_sessions[0].end_time #=> Time
1273
+ # resp.stream_sessions[0].has_error_event #=> Boolean
1274
+ # resp.stream_sessions[0].start_time #=> Time
1275
+ # resp.stream_sessions[0].stream_id #=> String
1276
+ #
1277
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamSessions AWS API Documentation
1278
+ #
1279
+ # @overload list_stream_sessions(params = {})
1280
+ # @param [Hash] params ({})
1281
+ def list_stream_sessions(params = {}, options = {})
1282
+ req = build_request(:list_stream_sessions, params)
1283
+ req.send_request(options)
1284
+ end
1285
+
1145
1286
  # Gets summary information about live streams in your account, in the
1146
1287
  # Amazon Web Services region where the API request is processed.
1147
1288
  #
1289
+ # @option params [Types::StreamFilters] :filter_by
1290
+ # Filters the stream list to match the specified criterion.
1291
+ #
1148
1292
  # @option params [Integer] :max_results
1149
1293
  # Maximum number of streams to return. Default: 50.
1150
1294
  #
@@ -1162,6 +1306,9 @@ module Aws::IVS
1162
1306
  # @example Request syntax with placeholder values
1163
1307
  #
1164
1308
  # resp = client.list_streams({
1309
+ # filter_by: {
1310
+ # health: "HEALTHY", # accepts HEALTHY, STARVING, UNKNOWN
1311
+ # },
1165
1312
  # max_results: 1,
1166
1313
  # next_token: "PaginationToken",
1167
1314
  # })
@@ -1174,6 +1321,7 @@ module Aws::IVS
1174
1321
  # resp.streams[0].health #=> String, one of "HEALTHY", "STARVING", "UNKNOWN"
1175
1322
  # resp.streams[0].start_time #=> Time
1176
1323
  # resp.streams[0].state #=> String, one of "LIVE", "OFFLINE"
1324
+ # resp.streams[0].stream_id #=> String
1177
1325
  # resp.streams[0].viewer_count #=> Integer
1178
1326
  #
1179
1327
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreams AWS API Documentation
@@ -1424,7 +1572,7 @@ module Aws::IVS
1424
1572
  params: params,
1425
1573
  config: config)
1426
1574
  context[:gem_name] = 'aws-sdk-ivs'
1427
- context[:gem_version] = '1.14.0'
1575
+ context[:gem_version] = '1.18.0'
1428
1576
  Seahorse::Client::Request.new(handlers, context)
1429
1577
  end
1430
1578
 
@@ -14,6 +14,7 @@ module Aws::IVS
14
14
  include Seahorse::Model
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
+ AudioConfiguration = Shapes::StructureShape.new(name: 'AudioConfiguration')
17
18
  BatchError = Shapes::StructureShape.new(name: 'BatchError')
18
19
  BatchErrors = Shapes::ListShape.new(name: 'BatchErrors')
19
20
  BatchGetChannelRequest = Shapes::StructureShape.new(name: 'BatchGetChannelRequest')
@@ -55,9 +56,13 @@ module Aws::IVS
55
56
  GetStreamKeyResponse = Shapes::StructureShape.new(name: 'GetStreamKeyResponse')
56
57
  GetStreamRequest = Shapes::StructureShape.new(name: 'GetStreamRequest')
57
58
  GetStreamResponse = Shapes::StructureShape.new(name: 'GetStreamResponse')
59
+ GetStreamSessionRequest = Shapes::StructureShape.new(name: 'GetStreamSessionRequest')
60
+ GetStreamSessionResponse = Shapes::StructureShape.new(name: 'GetStreamSessionResponse')
58
61
  ImportPlaybackKeyPairRequest = Shapes::StructureShape.new(name: 'ImportPlaybackKeyPairRequest')
59
62
  ImportPlaybackKeyPairResponse = Shapes::StructureShape.new(name: 'ImportPlaybackKeyPairResponse')
63
+ IngestConfiguration = Shapes::StructureShape.new(name: 'IngestConfiguration')
60
64
  IngestEndpoint = Shapes::StringShape.new(name: 'IngestEndpoint')
65
+ Integer = Shapes::IntegerShape.new(name: 'Integer')
61
66
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
62
67
  IsAuthorized = Shapes::BooleanShape.new(name: 'IsAuthorized')
63
68
  ListChannelsRequest = Shapes::StructureShape.new(name: 'ListChannelsRequest')
@@ -68,6 +73,8 @@ module Aws::IVS
68
73
  ListRecordingConfigurationsResponse = Shapes::StructureShape.new(name: 'ListRecordingConfigurationsResponse')
69
74
  ListStreamKeysRequest = Shapes::StructureShape.new(name: 'ListStreamKeysRequest')
70
75
  ListStreamKeysResponse = Shapes::StructureShape.new(name: 'ListStreamKeysResponse')
76
+ ListStreamSessionsRequest = Shapes::StructureShape.new(name: 'ListStreamSessionsRequest')
77
+ ListStreamSessionsResponse = Shapes::StructureShape.new(name: 'ListStreamSessionsResponse')
71
78
  ListStreamsRequest = Shapes::StructureShape.new(name: 'ListStreamsRequest')
72
79
  ListStreamsResponse = Shapes::StructureShape.new(name: 'ListStreamsResponse')
73
80
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
@@ -94,6 +101,7 @@ module Aws::IVS
94
101
  RecordingConfigurationName = Shapes::StringShape.new(name: 'RecordingConfigurationName')
95
102
  RecordingConfigurationState = Shapes::StringShape.new(name: 'RecordingConfigurationState')
96
103
  RecordingConfigurationSummary = Shapes::StructureShape.new(name: 'RecordingConfigurationSummary')
104
+ RecordingMode = Shapes::StringShape.new(name: 'RecordingMode')
97
105
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
98
106
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
99
107
  S3DestinationBucketName = Shapes::StringShape.new(name: 'S3DestinationBucketName')
@@ -102,7 +110,11 @@ module Aws::IVS
102
110
  StopStreamRequest = Shapes::StructureShape.new(name: 'StopStreamRequest')
103
111
  StopStreamResponse = Shapes::StructureShape.new(name: 'StopStreamResponse')
104
112
  Stream = Shapes::StructureShape.new(name: 'Stream')
113
+ StreamEvent = Shapes::StructureShape.new(name: 'StreamEvent')
114
+ StreamEvents = Shapes::ListShape.new(name: 'StreamEvents')
115
+ StreamFilters = Shapes::StructureShape.new(name: 'StreamFilters')
105
116
  StreamHealth = Shapes::StringShape.new(name: 'StreamHealth')
117
+ StreamId = Shapes::StringShape.new(name: 'StreamId')
106
118
  StreamKey = Shapes::StructureShape.new(name: 'StreamKey')
107
119
  StreamKeyArn = Shapes::StringShape.new(name: 'StreamKeyArn')
108
120
  StreamKeyArnList = Shapes::ListShape.new(name: 'StreamKeyArnList')
@@ -112,29 +124,43 @@ module Aws::IVS
112
124
  StreamKeys = Shapes::ListShape.new(name: 'StreamKeys')
113
125
  StreamList = Shapes::ListShape.new(name: 'StreamList')
114
126
  StreamMetadata = Shapes::StringShape.new(name: 'StreamMetadata')
127
+ StreamSession = Shapes::StructureShape.new(name: 'StreamSession')
128
+ StreamSessionList = Shapes::ListShape.new(name: 'StreamSessionList')
129
+ StreamSessionSummary = Shapes::StructureShape.new(name: 'StreamSessionSummary')
115
130
  StreamStartTime = Shapes::TimestampShape.new(name: 'StreamStartTime', timestampFormat: "iso8601")
116
131
  StreamState = Shapes::StringShape.new(name: 'StreamState')
117
132
  StreamSummary = Shapes::StructureShape.new(name: 'StreamSummary')
118
133
  StreamUnavailable = Shapes::StructureShape.new(name: 'StreamUnavailable')
119
134
  StreamViewerCount = Shapes::IntegerShape.new(name: 'StreamViewerCount')
135
+ String = Shapes::StringShape.new(name: 'String')
120
136
  TagKey = Shapes::StringShape.new(name: 'TagKey')
121
137
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
122
138
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
123
139
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
124
140
  TagValue = Shapes::StringShape.new(name: 'TagValue')
125
141
  Tags = Shapes::MapShape.new(name: 'Tags')
142
+ TargetIntervalSeconds = Shapes::IntegerShape.new(name: 'TargetIntervalSeconds')
126
143
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
144
+ ThumbnailConfiguration = Shapes::StructureShape.new(name: 'ThumbnailConfiguration')
145
+ Time = Shapes::TimestampShape.new(name: 'Time', timestampFormat: "iso8601")
127
146
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
128
147
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
129
148
  UpdateChannelRequest = Shapes::StructureShape.new(name: 'UpdateChannelRequest')
130
149
  UpdateChannelResponse = Shapes::StructureShape.new(name: 'UpdateChannelResponse')
131
150
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
151
+ VideoConfiguration = Shapes::StructureShape.new(name: 'VideoConfiguration')
132
152
  errorCode = Shapes::StringShape.new(name: 'errorCode')
133
153
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
134
154
 
135
155
  AccessDeniedException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
136
156
  AccessDeniedException.struct_class = Types::AccessDeniedException
137
157
 
158
+ AudioConfiguration.add_member(:channels, Shapes::ShapeRef.new(shape: Integer, location_name: "channels"))
159
+ AudioConfiguration.add_member(:codec, Shapes::ShapeRef.new(shape: String, location_name: "codec"))
160
+ AudioConfiguration.add_member(:sample_rate, Shapes::ShapeRef.new(shape: Integer, location_name: "sampleRate"))
161
+ AudioConfiguration.add_member(:target_bitrate, Shapes::ShapeRef.new(shape: Integer, location_name: "targetBitrate"))
162
+ AudioConfiguration.struct_class = Types::AudioConfiguration
163
+
138
164
  BatchError.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "arn"))
139
165
  BatchError.add_member(:code, Shapes::ShapeRef.new(shape: errorCode, location_name: "code"))
140
166
  BatchError.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -202,6 +228,7 @@ module Aws::IVS
202
228
  CreateRecordingConfigurationRequest.add_member(:destination_configuration, Shapes::ShapeRef.new(shape: DestinationConfiguration, required: true, location_name: "destinationConfiguration"))
203
229
  CreateRecordingConfigurationRequest.add_member(:name, Shapes::ShapeRef.new(shape: RecordingConfigurationName, location_name: "name"))
204
230
  CreateRecordingConfigurationRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
231
+ CreateRecordingConfigurationRequest.add_member(:thumbnail_configuration, Shapes::ShapeRef.new(shape: ThumbnailConfiguration, location_name: "thumbnailConfiguration"))
205
232
  CreateRecordingConfigurationRequest.struct_class = Types::CreateRecordingConfigurationRequest
206
233
 
207
234
  CreateRecordingConfigurationResponse.add_member(:recording_configuration, Shapes::ShapeRef.new(shape: RecordingConfiguration, location_name: "recordingConfiguration"))
@@ -261,6 +288,13 @@ module Aws::IVS
261
288
  GetStreamResponse.add_member(:stream, Shapes::ShapeRef.new(shape: Stream, location_name: "stream"))
262
289
  GetStreamResponse.struct_class = Types::GetStreamResponse
263
290
 
291
+ GetStreamSessionRequest.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
292
+ GetStreamSessionRequest.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
293
+ GetStreamSessionRequest.struct_class = Types::GetStreamSessionRequest
294
+
295
+ GetStreamSessionResponse.add_member(:stream_session, Shapes::ShapeRef.new(shape: StreamSession, location_name: "streamSession"))
296
+ GetStreamSessionResponse.struct_class = Types::GetStreamSessionResponse
297
+
264
298
  ImportPlaybackKeyPairRequest.add_member(:name, Shapes::ShapeRef.new(shape: PlaybackKeyPairName, location_name: "name"))
265
299
  ImportPlaybackKeyPairRequest.add_member(:public_key_material, Shapes::ShapeRef.new(shape: PlaybackPublicKeyMaterial, required: true, location_name: "publicKeyMaterial"))
266
300
  ImportPlaybackKeyPairRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
@@ -269,6 +303,10 @@ module Aws::IVS
269
303
  ImportPlaybackKeyPairResponse.add_member(:key_pair, Shapes::ShapeRef.new(shape: PlaybackKeyPair, location_name: "keyPair"))
270
304
  ImportPlaybackKeyPairResponse.struct_class = Types::ImportPlaybackKeyPairResponse
271
305
 
306
+ IngestConfiguration.add_member(:audio, Shapes::ShapeRef.new(shape: AudioConfiguration, location_name: "audio"))
307
+ IngestConfiguration.add_member(:video, Shapes::ShapeRef.new(shape: VideoConfiguration, location_name: "video"))
308
+ IngestConfiguration.struct_class = Types::IngestConfiguration
309
+
272
310
  InternalServerException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
273
311
  InternalServerException.struct_class = Types::InternalServerException
274
312
 
@@ -307,6 +345,16 @@ module Aws::IVS
307
345
  ListStreamKeysResponse.add_member(:stream_keys, Shapes::ShapeRef.new(shape: StreamKeyList, required: true, location_name: "streamKeys"))
308
346
  ListStreamKeysResponse.struct_class = Types::ListStreamKeysResponse
309
347
 
348
+ ListStreamSessionsRequest.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
349
+ ListStreamSessionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxStreamResults, location_name: "maxResults"))
350
+ ListStreamSessionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
351
+ ListStreamSessionsRequest.struct_class = Types::ListStreamSessionsRequest
352
+
353
+ ListStreamSessionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
354
+ ListStreamSessionsResponse.add_member(:stream_sessions, Shapes::ShapeRef.new(shape: StreamSessionList, required: true, location_name: "streamSessions"))
355
+ ListStreamSessionsResponse.struct_class = Types::ListStreamSessionsResponse
356
+
357
+ ListStreamsRequest.add_member(:filter_by, Shapes::ShapeRef.new(shape: StreamFilters, location_name: "filterBy"))
310
358
  ListStreamsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxStreamResults, location_name: "maxResults"))
311
359
  ListStreamsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
312
360
  ListStreamsRequest.struct_class = Types::ListStreamsRequest
@@ -346,6 +394,7 @@ module Aws::IVS
346
394
  RecordingConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: RecordingConfigurationName, location_name: "name"))
347
395
  RecordingConfiguration.add_member(:state, Shapes::ShapeRef.new(shape: RecordingConfigurationState, required: true, location_name: "state"))
348
396
  RecordingConfiguration.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
397
+ RecordingConfiguration.add_member(:thumbnail_configuration, Shapes::ShapeRef.new(shape: ThumbnailConfiguration, location_name: "thumbnailConfiguration"))
349
398
  RecordingConfiguration.struct_class = Types::RecordingConfiguration
350
399
 
351
400
  RecordingConfigurationList.member = Shapes::ShapeRef.new(shape: RecordingConfigurationSummary)
@@ -376,9 +425,20 @@ module Aws::IVS
376
425
  Stream.add_member(:playback_url, Shapes::ShapeRef.new(shape: PlaybackURL, location_name: "playbackUrl"))
377
426
  Stream.add_member(:start_time, Shapes::ShapeRef.new(shape: StreamStartTime, location_name: "startTime"))
378
427
  Stream.add_member(:state, Shapes::ShapeRef.new(shape: StreamState, location_name: "state"))
428
+ Stream.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
379
429
  Stream.add_member(:viewer_count, Shapes::ShapeRef.new(shape: StreamViewerCount, location_name: "viewerCount"))
380
430
  Stream.struct_class = Types::Stream
381
431
 
432
+ StreamEvent.add_member(:event_time, Shapes::ShapeRef.new(shape: Time, location_name: "eventTime"))
433
+ StreamEvent.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
434
+ StreamEvent.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
435
+ StreamEvent.struct_class = Types::StreamEvent
436
+
437
+ StreamEvents.member = Shapes::ShapeRef.new(shape: StreamEvent)
438
+
439
+ StreamFilters.add_member(:health, Shapes::ShapeRef.new(shape: StreamHealth, location_name: "health"))
440
+ StreamFilters.struct_class = Types::StreamFilters
441
+
382
442
  StreamKey.add_member(:arn, Shapes::ShapeRef.new(shape: StreamKeyArn, location_name: "arn"))
383
443
  StreamKey.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, location_name: "channelArn"))
384
444
  StreamKey.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
@@ -398,10 +458,28 @@ module Aws::IVS
398
458
 
399
459
  StreamList.member = Shapes::ShapeRef.new(shape: StreamSummary)
400
460
 
461
+ StreamSession.add_member(:channel, Shapes::ShapeRef.new(shape: Channel, location_name: "channel"))
462
+ StreamSession.add_member(:end_time, Shapes::ShapeRef.new(shape: Time, location_name: "endTime"))
463
+ StreamSession.add_member(:ingest_configuration, Shapes::ShapeRef.new(shape: IngestConfiguration, location_name: "ingestConfiguration"))
464
+ StreamSession.add_member(:recording_configuration, Shapes::ShapeRef.new(shape: RecordingConfiguration, location_name: "recordingConfiguration"))
465
+ StreamSession.add_member(:start_time, Shapes::ShapeRef.new(shape: Time, location_name: "startTime"))
466
+ StreamSession.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
467
+ StreamSession.add_member(:truncated_events, Shapes::ShapeRef.new(shape: StreamEvents, location_name: "truncatedEvents"))
468
+ StreamSession.struct_class = Types::StreamSession
469
+
470
+ StreamSessionList.member = Shapes::ShapeRef.new(shape: StreamSessionSummary)
471
+
472
+ StreamSessionSummary.add_member(:end_time, Shapes::ShapeRef.new(shape: Time, location_name: "endTime"))
473
+ StreamSessionSummary.add_member(:has_error_event, Shapes::ShapeRef.new(shape: Boolean, location_name: "hasErrorEvent"))
474
+ StreamSessionSummary.add_member(:start_time, Shapes::ShapeRef.new(shape: Time, location_name: "startTime"))
475
+ StreamSessionSummary.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
476
+ StreamSessionSummary.struct_class = Types::StreamSessionSummary
477
+
401
478
  StreamSummary.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, location_name: "channelArn"))
402
479
  StreamSummary.add_member(:health, Shapes::ShapeRef.new(shape: StreamHealth, location_name: "health"))
403
480
  StreamSummary.add_member(:start_time, Shapes::ShapeRef.new(shape: StreamStartTime, location_name: "startTime"))
404
481
  StreamSummary.add_member(:state, Shapes::ShapeRef.new(shape: StreamState, location_name: "state"))
482
+ StreamSummary.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
405
483
  StreamSummary.add_member(:viewer_count, Shapes::ShapeRef.new(shape: StreamViewerCount, location_name: "viewerCount"))
406
484
  StreamSummary.struct_class = Types::StreamSummary
407
485
 
@@ -422,6 +500,10 @@ module Aws::IVS
422
500
  ThrottlingException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
423
501
  ThrottlingException.struct_class = Types::ThrottlingException
424
502
 
503
+ ThumbnailConfiguration.add_member(:recording_mode, Shapes::ShapeRef.new(shape: RecordingMode, location_name: "recordingMode"))
504
+ ThumbnailConfiguration.add_member(:target_interval_seconds, Shapes::ShapeRef.new(shape: TargetIntervalSeconds, location_name: "targetIntervalSeconds"))
505
+ ThumbnailConfiguration.struct_class = Types::ThumbnailConfiguration
506
+
425
507
  UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location: "uri", location_name: "resourceArn"))
426
508
  UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location: "querystring", location_name: "tagKeys"))
427
509
  UntagResourceRequest.struct_class = Types::UntagResourceRequest
@@ -442,6 +524,16 @@ module Aws::IVS
442
524
  ValidationException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
443
525
  ValidationException.struct_class = Types::ValidationException
444
526
 
527
+ VideoConfiguration.add_member(:avc_level, Shapes::ShapeRef.new(shape: String, location_name: "avcLevel"))
528
+ VideoConfiguration.add_member(:avc_profile, Shapes::ShapeRef.new(shape: String, location_name: "avcProfile"))
529
+ VideoConfiguration.add_member(:codec, Shapes::ShapeRef.new(shape: String, location_name: "codec"))
530
+ VideoConfiguration.add_member(:encoder, Shapes::ShapeRef.new(shape: String, location_name: "encoder"))
531
+ VideoConfiguration.add_member(:target_bitrate, Shapes::ShapeRef.new(shape: Integer, location_name: "targetBitrate"))
532
+ VideoConfiguration.add_member(:target_framerate, Shapes::ShapeRef.new(shape: Integer, location_name: "targetFramerate"))
533
+ VideoConfiguration.add_member(:video_height, Shapes::ShapeRef.new(shape: Integer, location_name: "videoHeight"))
534
+ VideoConfiguration.add_member(:video_width, Shapes::ShapeRef.new(shape: Integer, location_name: "videoWidth"))
535
+ VideoConfiguration.struct_class = Types::VideoConfiguration
536
+
445
537
 
446
538
  # @api private
447
539
  API = Seahorse::Model::Api.new.tap do |api|
@@ -624,6 +716,17 @@ module Aws::IVS
624
716
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
625
717
  end)
626
718
 
719
+ api.add_operation(:get_stream_session, Seahorse::Model::Operation.new.tap do |o|
720
+ o.name = "GetStreamSession"
721
+ o.http_method = "POST"
722
+ o.http_request_uri = "/GetStreamSession"
723
+ o.input = Shapes::ShapeRef.new(shape: GetStreamSessionRequest)
724
+ o.output = Shapes::ShapeRef.new(shape: GetStreamSessionResponse)
725
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
726
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
727
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
728
+ end)
729
+
627
730
  api.add_operation(:import_playback_key_pair, Seahorse::Model::Operation.new.tap do |o|
628
731
  o.name = "ImportPlaybackKeyPair"
629
732
  o.http_method = "POST"
@@ -704,6 +807,23 @@ module Aws::IVS
704
807
  )
705
808
  end)
706
809
 
810
+ api.add_operation(:list_stream_sessions, Seahorse::Model::Operation.new.tap do |o|
811
+ o.name = "ListStreamSessions"
812
+ o.http_method = "POST"
813
+ o.http_request_uri = "/ListStreamSessions"
814
+ o.input = Shapes::ShapeRef.new(shape: ListStreamSessionsRequest)
815
+ o.output = Shapes::ShapeRef.new(shape: ListStreamSessionsResponse)
816
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
817
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
818
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
819
+ o[:pager] = Aws::Pager.new(
820
+ limit_key: "max_results",
821
+ tokens: {
822
+ "next_token" => "next_token"
823
+ }
824
+ )
825
+ end)
826
+
707
827
  api.add_operation(:list_streams, Seahorse::Model::Operation.new.tap do |o|
708
828
  o.name = "ListStreams"
709
829
  o.http_method = "POST"
@@ -711,6 +831,7 @@ module Aws::IVS
711
831
  o.input = Shapes::ShapeRef.new(shape: ListStreamsRequest)
712
832
  o.output = Shapes::ShapeRef.new(shape: ListStreamsResponse)
713
833
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
834
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
714
835
  o[:pager] = Aws::Pager.new(
715
836
  limit_key: "max_results",
716
837
  tokens: {
@@ -22,6 +22,36 @@ module Aws::IVS
22
22
  include Aws::Structure
23
23
  end
24
24
 
25
+ # Object specifying a stream’s audio configuration.
26
+ #
27
+ # @!attribute [rw] channels
28
+ # Number of audio channels.
29
+ # @return [Integer]
30
+ #
31
+ # @!attribute [rw] codec
32
+ # Codec used for the audio encoding.
33
+ # @return [String]
34
+ #
35
+ # @!attribute [rw] sample_rate
36
+ # Number of audio samples recorded per second.
37
+ # @return [Integer]
38
+ #
39
+ # @!attribute [rw] target_bitrate
40
+ # The expected ingest bitrate (bits per second). This is configured in
41
+ # the encoder.
42
+ # @return [Integer]
43
+ #
44
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/AudioConfiguration AWS API Documentation
45
+ #
46
+ class AudioConfiguration < Struct.new(
47
+ :channels,
48
+ :codec,
49
+ :sample_rate,
50
+ :target_bitrate)
51
+ SENSITIVE = []
52
+ include Aws::Structure
53
+ end
54
+
25
55
  # Error related to a specific channel, specified by its ARN.
26
56
  #
27
57
  # @!attribute [rw] arn
@@ -355,6 +385,10 @@ module Aws::IVS
355
385
  # tags: {
356
386
  # "TagKey" => "TagValue",
357
387
  # },
388
+ # thumbnail_configuration: {
389
+ # recording_mode: "DISABLED", # accepts DISABLED, INTERVAL
390
+ # target_interval_seconds: 1,
391
+ # },
358
392
  # }
359
393
  #
360
394
  # @!attribute [rw] destination_configuration
@@ -370,12 +404,19 @@ module Aws::IVS
370
404
  # Array of 1-50 maps, each of the form `string:string (key:value)`.
371
405
  # @return [Hash<String,String>]
372
406
  #
407
+ # @!attribute [rw] thumbnail_configuration
408
+ # A complex type that allows you to enable/disable the recording of
409
+ # thumbnails for a live session and modify the interval at which
410
+ # thumbnails are generated for the live session.
411
+ # @return [Types::ThumbnailConfiguration]
412
+ #
373
413
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateRecordingConfigurationRequest AWS API Documentation
374
414
  #
375
415
  class CreateRecordingConfigurationRequest < Struct.new(
376
416
  :destination_configuration,
377
417
  :name,
378
- :tags)
418
+ :tags,
419
+ :thumbnail_configuration)
379
420
  SENSITIVE = []
380
421
  include Aws::Structure
381
422
  end
@@ -699,6 +740,45 @@ module Aws::IVS
699
740
  include Aws::Structure
700
741
  end
701
742
 
743
+ # @note When making an API call, you may pass GetStreamSessionRequest
744
+ # data as a hash:
745
+ #
746
+ # {
747
+ # channel_arn: "ChannelArn", # required
748
+ # stream_id: "StreamId",
749
+ # }
750
+ #
751
+ # @!attribute [rw] channel_arn
752
+ # ARN of the channel resource
753
+ # @return [String]
754
+ #
755
+ # @!attribute [rw] stream_id
756
+ # Unique identifier for a live or previously live stream in the
757
+ # specified channel. If no `streamId` is provided, this returns the
758
+ # most recent stream session for the channel, if it exists.
759
+ # @return [String]
760
+ #
761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamSessionRequest AWS API Documentation
762
+ #
763
+ class GetStreamSessionRequest < Struct.new(
764
+ :channel_arn,
765
+ :stream_id)
766
+ SENSITIVE = []
767
+ include Aws::Structure
768
+ end
769
+
770
+ # @!attribute [rw] stream_session
771
+ # List of stream details.
772
+ # @return [Types::StreamSession]
773
+ #
774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamSessionResponse AWS API Documentation
775
+ #
776
+ class GetStreamSessionResponse < Struct.new(
777
+ :stream_session)
778
+ SENSITIVE = []
779
+ include Aws::Structure
780
+ end
781
+
702
782
  # @note When making an API call, you may pass ImportPlaybackKeyPairRequest
703
783
  # data as a hash:
704
784
  #
@@ -744,6 +824,26 @@ module Aws::IVS
744
824
  include Aws::Structure
745
825
  end
746
826
 
827
+ # Object specifying the ingest configuration set up by the broadcaster,
828
+ # usually in an encoder.
829
+ #
830
+ # @!attribute [rw] audio
831
+ # Encoder settings for audio.
832
+ # @return [Types::AudioConfiguration]
833
+ #
834
+ # @!attribute [rw] video
835
+ # Encoder settings for video.
836
+ # @return [Types::VideoConfiguration]
837
+ #
838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/IngestConfiguration AWS API Documentation
839
+ #
840
+ class IngestConfiguration < Struct.new(
841
+ :audio,
842
+ :video)
843
+ SENSITIVE = []
844
+ include Aws::Structure
845
+ end
846
+
747
847
  # @!attribute [rw] exception_message
748
848
  # Unexpected error during processing of request.
749
849
  # @return [String]
@@ -951,14 +1051,71 @@ module Aws::IVS
951
1051
  include Aws::Structure
952
1052
  end
953
1053
 
1054
+ # @note When making an API call, you may pass ListStreamSessionsRequest
1055
+ # data as a hash:
1056
+ #
1057
+ # {
1058
+ # channel_arn: "ChannelArn", # required
1059
+ # max_results: 1,
1060
+ # next_token: "PaginationToken",
1061
+ # }
1062
+ #
1063
+ # @!attribute [rw] channel_arn
1064
+ # Channel ARN used to filter the list.
1065
+ # @return [String]
1066
+ #
1067
+ # @!attribute [rw] max_results
1068
+ # Maximum number of streams to return. Default: 50.
1069
+ # @return [Integer]
1070
+ #
1071
+ # @!attribute [rw] next_token
1072
+ # The first stream to retrieve. This is used for pagination; see the
1073
+ # `nextToken` response field.
1074
+ # @return [String]
1075
+ #
1076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamSessionsRequest AWS API Documentation
1077
+ #
1078
+ class ListStreamSessionsRequest < Struct.new(
1079
+ :channel_arn,
1080
+ :max_results,
1081
+ :next_token)
1082
+ SENSITIVE = []
1083
+ include Aws::Structure
1084
+ end
1085
+
1086
+ # @!attribute [rw] next_token
1087
+ # If there are more streams than `maxResults`, use `nextToken` in the
1088
+ # request to get the next set.
1089
+ # @return [String]
1090
+ #
1091
+ # @!attribute [rw] stream_sessions
1092
+ # List of stream sessions.
1093
+ # @return [Array<Types::StreamSessionSummary>]
1094
+ #
1095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamSessionsResponse AWS API Documentation
1096
+ #
1097
+ class ListStreamSessionsResponse < Struct.new(
1098
+ :next_token,
1099
+ :stream_sessions)
1100
+ SENSITIVE = []
1101
+ include Aws::Structure
1102
+ end
1103
+
954
1104
  # @note When making an API call, you may pass ListStreamsRequest
955
1105
  # data as a hash:
956
1106
  #
957
1107
  # {
1108
+ # filter_by: {
1109
+ # health: "HEALTHY", # accepts HEALTHY, STARVING, UNKNOWN
1110
+ # },
958
1111
  # max_results: 1,
959
1112
  # next_token: "PaginationToken",
960
1113
  # }
961
1114
  #
1115
+ # @!attribute [rw] filter_by
1116
+ # Filters the stream list to match the specified criterion.
1117
+ # @return [Types::StreamFilters]
1118
+ #
962
1119
  # @!attribute [rw] max_results
963
1120
  # Maximum number of streams to return. Default: 50.
964
1121
  # @return [Integer]
@@ -971,6 +1128,7 @@ module Aws::IVS
971
1128
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamsRequest AWS API Documentation
972
1129
  #
973
1130
  class ListStreamsRequest < Struct.new(
1131
+ :filter_by,
974
1132
  :max_results,
975
1133
  :next_token)
976
1134
  SENSITIVE = []
@@ -1141,6 +1299,12 @@ module Aws::IVS
1141
1299
  # Array of 1-50 maps, each of the form `string:string (key:value)`.
1142
1300
  # @return [Hash<String,String>]
1143
1301
  #
1302
+ # @!attribute [rw] thumbnail_configuration
1303
+ # A complex type that allows you to enable/disable the recording of
1304
+ # thumbnails for a live session and modify the interval at which
1305
+ # thumbnails are generated for the live session.
1306
+ # @return [Types::ThumbnailConfiguration]
1307
+ #
1144
1308
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/RecordingConfiguration AWS API Documentation
1145
1309
  #
1146
1310
  class RecordingConfiguration < Struct.new(
@@ -1148,7 +1312,8 @@ module Aws::IVS
1148
1312
  :destination_configuration,
1149
1313
  :name,
1150
1314
  :state,
1151
- :tags)
1315
+ :tags,
1316
+ :thumbnail_configuration)
1152
1317
  SENSITIVE = []
1153
1318
  include Aws::Structure
1154
1319
  end
@@ -1283,6 +1448,11 @@ module Aws::IVS
1283
1448
  # The stream’s state.
1284
1449
  # @return [String]
1285
1450
  #
1451
+ # @!attribute [rw] stream_id
1452
+ # Unique identifier for a live or previously live stream in the
1453
+ # specified channel.
1454
+ # @return [String]
1455
+ #
1286
1456
  # @!attribute [rw] viewer_count
1287
1457
  # A count of concurrent views of the stream. Typically, a new view
1288
1458
  # appears in `viewerCount` within 15 seconds of when video playback
@@ -1299,11 +1469,62 @@ module Aws::IVS
1299
1469
  :playback_url,
1300
1470
  :start_time,
1301
1471
  :state,
1472
+ :stream_id,
1302
1473
  :viewer_count)
1303
1474
  SENSITIVE = []
1304
1475
  include Aws::Structure
1305
1476
  end
1306
1477
 
1478
+ # Object specifying a stream’s events. For a list of events, see [Using
1479
+ # Amazon EventBridge with Amazon IVS][1].
1480
+ #
1481
+ #
1482
+ #
1483
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/eventbridge.html
1484
+ #
1485
+ # @!attribute [rw] event_time
1486
+ # UTC ISO-8601 formatted timestamp of when the event occurred.
1487
+ # @return [Time]
1488
+ #
1489
+ # @!attribute [rw] name
1490
+ # Name that identifies the stream event within a `type`.
1491
+ # @return [String]
1492
+ #
1493
+ # @!attribute [rw] type
1494
+ # Logical group for certain events.
1495
+ # @return [String]
1496
+ #
1497
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StreamEvent AWS API Documentation
1498
+ #
1499
+ class StreamEvent < Struct.new(
1500
+ :event_time,
1501
+ :name,
1502
+ :type)
1503
+ SENSITIVE = []
1504
+ include Aws::Structure
1505
+ end
1506
+
1507
+ # Object specifying the stream attribute on which to filter.
1508
+ #
1509
+ # @note When making an API call, you may pass StreamFilters
1510
+ # data as a hash:
1511
+ #
1512
+ # {
1513
+ # health: "HEALTHY", # accepts HEALTHY, STARVING, UNKNOWN
1514
+ # }
1515
+ #
1516
+ # @!attribute [rw] health
1517
+ # The stream’s health.
1518
+ # @return [String]
1519
+ #
1520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StreamFilters AWS API Documentation
1521
+ #
1522
+ class StreamFilters < Struct.new(
1523
+ :health)
1524
+ SENSITIVE = []
1525
+ include Aws::Structure
1526
+ end
1527
+
1307
1528
  # Object specifying a stream key.
1308
1529
  #
1309
1530
  # @!attribute [rw] arn
@@ -1357,6 +1578,92 @@ module Aws::IVS
1357
1578
  include Aws::Structure
1358
1579
  end
1359
1580
 
1581
+ # Object that captures the Amazon IVS configuration that the customer
1582
+ # provisioned, the ingest configurations that the broadcaster used, and
1583
+ # the most recent Amazon IVS stream events it encountered.
1584
+ #
1585
+ # @!attribute [rw] channel
1586
+ # The properties of the channel at the time of going live.
1587
+ # @return [Types::Channel]
1588
+ #
1589
+ # @!attribute [rw] end_time
1590
+ # UTC ISO-8601 formatted timestamp of when the channel went offline.
1591
+ # For live streams, this is `NULL`.
1592
+ # @return [Time]
1593
+ #
1594
+ # @!attribute [rw] ingest_configuration
1595
+ # The properties of the incoming RTMP stream for the stream.
1596
+ # @return [Types::IngestConfiguration]
1597
+ #
1598
+ # @!attribute [rw] recording_configuration
1599
+ # The properties of recording the live stream.
1600
+ # @return [Types::RecordingConfiguration]
1601
+ #
1602
+ # @!attribute [rw] start_time
1603
+ # UTC ISO-8601 formatted timestamp of when the channel went live.
1604
+ # @return [Time]
1605
+ #
1606
+ # @!attribute [rw] stream_id
1607
+ # Unique identifier for a live or previously live stream in the
1608
+ # specified channel.
1609
+ # @return [String]
1610
+ #
1611
+ # @!attribute [rw] truncated_events
1612
+ # List of Amazon IVS events that the stream encountered. The list is
1613
+ # sorted by most recent events and contains up to 500 events. For
1614
+ # Amazon IVS events, see [Using Amazon EventBridge with Amazon
1615
+ # IVS][1].
1616
+ #
1617
+ #
1618
+ #
1619
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/eventbridge.html
1620
+ # @return [Array<Types::StreamEvent>]
1621
+ #
1622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StreamSession AWS API Documentation
1623
+ #
1624
+ class StreamSession < Struct.new(
1625
+ :channel,
1626
+ :end_time,
1627
+ :ingest_configuration,
1628
+ :recording_configuration,
1629
+ :start_time,
1630
+ :stream_id,
1631
+ :truncated_events)
1632
+ SENSITIVE = []
1633
+ include Aws::Structure
1634
+ end
1635
+
1636
+ # Summary information about a stream session.
1637
+ #
1638
+ # @!attribute [rw] end_time
1639
+ # UTC ISO-8601 formatted timestamp of when the channel went offline.
1640
+ # For live streams, this is `NULL`.
1641
+ # @return [Time]
1642
+ #
1643
+ # @!attribute [rw] has_error_event
1644
+ # If `true`, this stream encountered a quota breach or failure.
1645
+ # @return [Boolean]
1646
+ #
1647
+ # @!attribute [rw] start_time
1648
+ # UTC ISO-8601 formatted timestamp of when the channel went live.
1649
+ # @return [Time]
1650
+ #
1651
+ # @!attribute [rw] stream_id
1652
+ # Unique identifier for a live or previously live stream in the
1653
+ # specified channel.
1654
+ # @return [String]
1655
+ #
1656
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StreamSessionSummary AWS API Documentation
1657
+ #
1658
+ class StreamSessionSummary < Struct.new(
1659
+ :end_time,
1660
+ :has_error_event,
1661
+ :start_time,
1662
+ :stream_id)
1663
+ SENSITIVE = []
1664
+ include Aws::Structure
1665
+ end
1666
+
1360
1667
  # Summary information about a stream.
1361
1668
  #
1362
1669
  # @!attribute [rw] channel_arn
@@ -1376,6 +1683,11 @@ module Aws::IVS
1376
1683
  # The stream’s state.
1377
1684
  # @return [String]
1378
1685
  #
1686
+ # @!attribute [rw] stream_id
1687
+ # Unique identifier for a live or previously live stream in the
1688
+ # specified channel.
1689
+ # @return [String]
1690
+ #
1379
1691
  # @!attribute [rw] viewer_count
1380
1692
  # A count of concurrent views of the stream. Typically, a new view
1381
1693
  # appears in `viewerCount` within 15 seconds of when video playback
@@ -1391,6 +1703,7 @@ module Aws::IVS
1391
1703
  :health,
1392
1704
  :start_time,
1393
1705
  :state,
1706
+ :stream_id,
1394
1707
  :viewer_count)
1395
1708
  SENSITIVE = []
1396
1709
  include Aws::Structure
@@ -1451,6 +1764,48 @@ module Aws::IVS
1451
1764
  include Aws::Structure
1452
1765
  end
1453
1766
 
1767
+ # An object representing a configuration of thumbnails for recorded
1768
+ # video.
1769
+ #
1770
+ # @note When making an API call, you may pass ThumbnailConfiguration
1771
+ # data as a hash:
1772
+ #
1773
+ # {
1774
+ # recording_mode: "DISABLED", # accepts DISABLED, INTERVAL
1775
+ # target_interval_seconds: 1,
1776
+ # }
1777
+ #
1778
+ # @!attribute [rw] recording_mode
1779
+ # Thumbnail recording mode. Default: `INTERVAL`.
1780
+ # @return [String]
1781
+ #
1782
+ # @!attribute [rw] target_interval_seconds
1783
+ # The targeted thumbnail-generation interval in seconds. This is
1784
+ # configurable (and required) only if `recordingMode` is `INTERVAL`.
1785
+ # Default: 60.
1786
+ #
1787
+ # **Important:** Setting a value for `targetIntervalSeconds` does not
1788
+ # guarantee that thumbnails are generated at the specified interval.
1789
+ # For thumbnails to be generated at the `targetIntervalSeconds`
1790
+ # interval, the `IDR/Keyframe` value for the input video must be less
1791
+ # than the `targetIntervalSeconds` value. See [ Amazon IVS Streaming
1792
+ # Configuration][1] for information on setting `IDR/Keyframe` to the
1793
+ # recommended value in video-encoder settings.
1794
+ #
1795
+ #
1796
+ #
1797
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/streaming-config.html
1798
+ # @return [Integer]
1799
+ #
1800
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ThumbnailConfiguration AWS API Documentation
1801
+ #
1802
+ class ThumbnailConfiguration < Struct.new(
1803
+ :recording_mode,
1804
+ :target_interval_seconds)
1805
+ SENSITIVE = []
1806
+ include Aws::Structure
1807
+ end
1808
+
1454
1809
  # @note When making an API call, you may pass UntagResourceRequest
1455
1810
  # data as a hash:
1456
1811
  #
@@ -1571,5 +1926,58 @@ module Aws::IVS
1571
1926
  include Aws::Structure
1572
1927
  end
1573
1928
 
1929
+ # Object specifying a stream’s video configuration.
1930
+ #
1931
+ # @!attribute [rw] avc_level
1932
+ # Indicates the degree of required decoder performance for a profile.
1933
+ # Normally this is set automatically by the encoder. For details, see
1934
+ # the H.264 specification.
1935
+ # @return [String]
1936
+ #
1937
+ # @!attribute [rw] avc_profile
1938
+ # Indicates to the decoder the requirements for decoding the stream.
1939
+ # For definitions of the valid values, see the H.264 specification.
1940
+ # @return [String]
1941
+ #
1942
+ # @!attribute [rw] codec
1943
+ # Codec used for the video encoding.
1944
+ # @return [String]
1945
+ #
1946
+ # @!attribute [rw] encoder
1947
+ # Software or hardware used to encode the video.
1948
+ # @return [String]
1949
+ #
1950
+ # @!attribute [rw] target_bitrate
1951
+ # The expected ingest bitrate (bits per second). This is configured in
1952
+ # the encoder.
1953
+ # @return [Integer]
1954
+ #
1955
+ # @!attribute [rw] target_framerate
1956
+ # The expected ingest framerate. This is configured in the encoder.
1957
+ # @return [Integer]
1958
+ #
1959
+ # @!attribute [rw] video_height
1960
+ # Video-resolution height in pixels.
1961
+ # @return [Integer]
1962
+ #
1963
+ # @!attribute [rw] video_width
1964
+ # Video-resolution width in pixels.
1965
+ # @return [Integer]
1966
+ #
1967
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/VideoConfiguration AWS API Documentation
1968
+ #
1969
+ class VideoConfiguration < Struct.new(
1970
+ :avc_level,
1971
+ :avc_profile,
1972
+ :codec,
1973
+ :encoder,
1974
+ :target_bitrate,
1975
+ :target_framerate,
1976
+ :video_height,
1977
+ :video_width)
1978
+ SENSITIVE = []
1979
+ include Aws::Structure
1980
+ end
1981
+
1574
1982
  end
1575
1983
  end
data/lib/aws-sdk-ivs.rb CHANGED
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-ivs/customizations'
48
48
  # @!group service
49
49
  module Aws::IVS
50
50
 
51
- GEM_VERSION = '1.14.0'
51
+ GEM_VERSION = '1.18.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ivs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-04 00:00:00.000000000 Z
11
+ date: 2022-01-18 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.122.0
22
+ version: 3.125.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.122.0
32
+ version: 3.125.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement