aws-sdk-ivs 1.14.0 → 1.18.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: 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