aws-sdk-ivs 1.13.0 → 1.17.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: 2f0d3354b1c8fb3988dbbf491dcb56c0ce09e2bab7debd5422e538bff661fcf7
4
- data.tar.gz: 831d85dec2221a09ce385535684f82aee8ce84293ebb1cd5a4f28aa8cf7c8ead
3
+ metadata.gz: 50fa4603c35c219f638f305e5df3ac249361189e58de77a990db436027761845
4
+ data.tar.gz: 7a7174f634f206e7dcd80ca559ceb2f8c50fb3ffdf4c922b19e474525c4c0851
5
5
  SHA512:
6
- metadata.gz: 5e583148fec55ef309f9c6f385f0123c6a88e78ec0f8695b6b0f14a48c8d83a9ca37cc2f4989ecab15dc383c0198dd6f8878f30243af1b40f4a8b4c4a865bac6
7
- data.tar.gz: efa6bd1e4af8c227b38c499ecf5369294fc82277cab6d05e823d9002311b15cdae758e775fcc69622f47e3e85bf4aa8e17ec39e8dc0a6059675cc4baf81e6d3e
6
+ metadata.gz: fd57b662afaaefa003f7f0b3b50325868700107a9018dfc95b66a3e1eb6f3028d12845390cbdf1b177e7f9c6a8eb4ba3eaa51f1057276fab14ab97a0d5088815
7
+ data.tar.gz: 314fbd3acea7a69acec247faf0d1723bf60631110562c0e3513d38213fda0b58a0d44cecc4fa4bfe8486d7745361692b54e245ab3233fdd4c4b52f8e424e018a
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.17.0 (2021-12-21)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.16.0 (2021-11-30)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.15.0 (2021-11-18)
15
+ ------------------
16
+
17
+ * 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
18
+
19
+ 1.14.0 (2021-11-04)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.13.0 (2021-10-18)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.13.0
1
+ 1.17.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.
@@ -275,6 +283,15 @@ module Aws::IVS
275
283
  # ** Please note ** When response stubbing is enabled, no HTTP
276
284
  # requests are made, and retries are disabled.
277
285
  #
286
+ # @option options [Boolean] :use_dualstack_endpoint
287
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
288
+ # will be used if available.
289
+ #
290
+ # @option options [Boolean] :use_fips_endpoint
291
+ # When set to `true`, fips compatible endpoints will be used if available.
292
+ # When a `fips` region is used, the region is normalized and this config
293
+ # is set to `true`.
294
+ #
278
295
  # @option options [Boolean] :validate_params (true)
279
296
  # When `true`, request parameters are validated before
280
297
  # sending the request.
@@ -286,7 +303,7 @@ module Aws::IVS
286
303
  # seconds to wait when opening a HTTP session before raising a
287
304
  # `Timeout::Error`.
288
305
  #
289
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
290
307
  # number of seconds to wait for response data. This value can
291
308
  # safely be set per-request on the session.
292
309
  #
@@ -302,6 +319,9 @@ module Aws::IVS
302
319
  # disables this behaviour. This value can safely be set per
303
320
  # request on the session.
304
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
305
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
306
326
  # HTTP debug output will be sent to the `:logger`.
307
327
  #
@@ -844,6 +864,7 @@ module Aws::IVS
844
864
  # resp.stream.playback_url #=> String
845
865
  # resp.stream.start_time #=> Time
846
866
  # resp.stream.state #=> String, one of "LIVE", "OFFLINE"
867
+ # resp.stream.stream_id #=> String
847
868
  # resp.stream.viewer_count #=> Integer
848
869
  #
849
870
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStream AWS API Documentation
@@ -887,6 +908,74 @@ module Aws::IVS
887
908
  req.send_request(options)
888
909
  end
889
910
 
911
+ # Gets metadata on a specified stream.
912
+ #
913
+ # @option params [required, String] :channel_arn
914
+ # ARN of the channel resource
915
+ #
916
+ # @option params [String] :stream_id
917
+ # Unique identifier for a live or previously live stream in the
918
+ # specified channel. If no `streamId` is provided, this returns the most
919
+ # recent stream session for the channel, if it exists.
920
+ #
921
+ # @return [Types::GetStreamSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
922
+ #
923
+ # * {Types::GetStreamSessionResponse#stream_session #stream_session} => Types::StreamSession
924
+ #
925
+ # @example Request syntax with placeholder values
926
+ #
927
+ # resp = client.get_stream_session({
928
+ # channel_arn: "ChannelArn", # required
929
+ # stream_id: "StreamId",
930
+ # })
931
+ #
932
+ # @example Response structure
933
+ #
934
+ # resp.stream_session.channel.arn #=> String
935
+ # resp.stream_session.channel.authorized #=> Boolean
936
+ # resp.stream_session.channel.ingest_endpoint #=> String
937
+ # resp.stream_session.channel.latency_mode #=> String, one of "NORMAL", "LOW"
938
+ # resp.stream_session.channel.name #=> String
939
+ # resp.stream_session.channel.playback_url #=> String
940
+ # resp.stream_session.channel.recording_configuration_arn #=> String
941
+ # resp.stream_session.channel.tags #=> Hash
942
+ # resp.stream_session.channel.tags["TagKey"] #=> String
943
+ # resp.stream_session.channel.type #=> String, one of "BASIC", "STANDARD"
944
+ # resp.stream_session.end_time #=> Time
945
+ # resp.stream_session.ingest_configuration.audio.channels #=> Integer
946
+ # resp.stream_session.ingest_configuration.audio.codec #=> String
947
+ # resp.stream_session.ingest_configuration.audio.sample_rate #=> Integer
948
+ # resp.stream_session.ingest_configuration.audio.target_bitrate #=> Integer
949
+ # resp.stream_session.ingest_configuration.video.avc_level #=> String
950
+ # resp.stream_session.ingest_configuration.video.avc_profile #=> String
951
+ # resp.stream_session.ingest_configuration.video.codec #=> String
952
+ # resp.stream_session.ingest_configuration.video.encoder #=> String
953
+ # resp.stream_session.ingest_configuration.video.target_bitrate #=> Integer
954
+ # resp.stream_session.ingest_configuration.video.target_framerate #=> Integer
955
+ # resp.stream_session.ingest_configuration.video.video_height #=> Integer
956
+ # resp.stream_session.ingest_configuration.video.video_width #=> Integer
957
+ # resp.stream_session.recording_configuration.arn #=> String
958
+ # resp.stream_session.recording_configuration.destination_configuration.s3.bucket_name #=> String
959
+ # resp.stream_session.recording_configuration.name #=> String
960
+ # resp.stream_session.recording_configuration.state #=> String, one of "CREATING", "CREATE_FAILED", "ACTIVE"
961
+ # resp.stream_session.recording_configuration.tags #=> Hash
962
+ # resp.stream_session.recording_configuration.tags["TagKey"] #=> String
963
+ # resp.stream_session.start_time #=> Time
964
+ # resp.stream_session.stream_id #=> String
965
+ # resp.stream_session.truncated_events #=> Array
966
+ # resp.stream_session.truncated_events[0].event_time #=> Time
967
+ # resp.stream_session.truncated_events[0].name #=> String
968
+ # resp.stream_session.truncated_events[0].type #=> String
969
+ #
970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamSession AWS API Documentation
971
+ #
972
+ # @overload get_stream_session(params = {})
973
+ # @param [Hash] params ({})
974
+ def get_stream_session(params = {}, options = {})
975
+ req = build_request(:get_stream_session, params)
976
+ req.send_request(options)
977
+ end
978
+
890
979
  # Imports the public portion of a new key pair and returns its `arn` and
891
980
  # `fingerprint`. The `privateKey` can then be used to generate viewer
892
981
  # authorization tokens, to grant viewers access to private channels. For
@@ -1133,9 +1222,58 @@ module Aws::IVS
1133
1222
  req.send_request(options)
1134
1223
  end
1135
1224
 
1225
+ # Gets a summary of current and previous streams for a specified channel
1226
+ # in your account, in the AWS region where the API request is processed.
1227
+ #
1228
+ # @option params [required, String] :channel_arn
1229
+ # Channel ARN used to filter the list.
1230
+ #
1231
+ # @option params [Integer] :max_results
1232
+ # Maximum number of streams to return. Default: 50.
1233
+ #
1234
+ # @option params [String] :next_token
1235
+ # The first stream to retrieve. This is used for pagination; see the
1236
+ # `nextToken` response field.
1237
+ #
1238
+ # @return [Types::ListStreamSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1239
+ #
1240
+ # * {Types::ListStreamSessionsResponse#next_token #next_token} => String
1241
+ # * {Types::ListStreamSessionsResponse#stream_sessions #stream_sessions} => Array<Types::StreamSessionSummary>
1242
+ #
1243
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1244
+ #
1245
+ # @example Request syntax with placeholder values
1246
+ #
1247
+ # resp = client.list_stream_sessions({
1248
+ # channel_arn: "ChannelArn", # required
1249
+ # max_results: 1,
1250
+ # next_token: "PaginationToken",
1251
+ # })
1252
+ #
1253
+ # @example Response structure
1254
+ #
1255
+ # resp.next_token #=> String
1256
+ # resp.stream_sessions #=> Array
1257
+ # resp.stream_sessions[0].end_time #=> Time
1258
+ # resp.stream_sessions[0].has_error_event #=> Boolean
1259
+ # resp.stream_sessions[0].start_time #=> Time
1260
+ # resp.stream_sessions[0].stream_id #=> String
1261
+ #
1262
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamSessions AWS API Documentation
1263
+ #
1264
+ # @overload list_stream_sessions(params = {})
1265
+ # @param [Hash] params ({})
1266
+ def list_stream_sessions(params = {}, options = {})
1267
+ req = build_request(:list_stream_sessions, params)
1268
+ req.send_request(options)
1269
+ end
1270
+
1136
1271
  # Gets summary information about live streams in your account, in the
1137
1272
  # Amazon Web Services region where the API request is processed.
1138
1273
  #
1274
+ # @option params [Types::StreamFilters] :filter_by
1275
+ # Filters the stream list to match the specified criterion.
1276
+ #
1139
1277
  # @option params [Integer] :max_results
1140
1278
  # Maximum number of streams to return. Default: 50.
1141
1279
  #
@@ -1153,6 +1291,9 @@ module Aws::IVS
1153
1291
  # @example Request syntax with placeholder values
1154
1292
  #
1155
1293
  # resp = client.list_streams({
1294
+ # filter_by: {
1295
+ # health: "HEALTHY", # accepts HEALTHY, STARVING, UNKNOWN
1296
+ # },
1156
1297
  # max_results: 1,
1157
1298
  # next_token: "PaginationToken",
1158
1299
  # })
@@ -1165,6 +1306,7 @@ module Aws::IVS
1165
1306
  # resp.streams[0].health #=> String, one of "HEALTHY", "STARVING", "UNKNOWN"
1166
1307
  # resp.streams[0].start_time #=> Time
1167
1308
  # resp.streams[0].state #=> String, one of "LIVE", "OFFLINE"
1309
+ # resp.streams[0].stream_id #=> String
1168
1310
  # resp.streams[0].viewer_count #=> Integer
1169
1311
  #
1170
1312
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreams AWS API Documentation
@@ -1415,7 +1557,7 @@ module Aws::IVS
1415
1557
  params: params,
1416
1558
  config: config)
1417
1559
  context[:gem_name] = 'aws-sdk-ivs'
1418
- context[:gem_version] = '1.13.0'
1560
+ context[:gem_version] = '1.17.0'
1419
1561
  Seahorse::Client::Request.new(handlers, context)
1420
1562
  end
1421
1563
 
@@ -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')
@@ -102,7 +109,11 @@ module Aws::IVS
102
109
  StopStreamRequest = Shapes::StructureShape.new(name: 'StopStreamRequest')
103
110
  StopStreamResponse = Shapes::StructureShape.new(name: 'StopStreamResponse')
104
111
  Stream = Shapes::StructureShape.new(name: 'Stream')
112
+ StreamEvent = Shapes::StructureShape.new(name: 'StreamEvent')
113
+ StreamEvents = Shapes::ListShape.new(name: 'StreamEvents')
114
+ StreamFilters = Shapes::StructureShape.new(name: 'StreamFilters')
105
115
  StreamHealth = Shapes::StringShape.new(name: 'StreamHealth')
116
+ StreamId = Shapes::StringShape.new(name: 'StreamId')
106
117
  StreamKey = Shapes::StructureShape.new(name: 'StreamKey')
107
118
  StreamKeyArn = Shapes::StringShape.new(name: 'StreamKeyArn')
108
119
  StreamKeyArnList = Shapes::ListShape.new(name: 'StreamKeyArnList')
@@ -112,11 +123,15 @@ module Aws::IVS
112
123
  StreamKeys = Shapes::ListShape.new(name: 'StreamKeys')
113
124
  StreamList = Shapes::ListShape.new(name: 'StreamList')
114
125
  StreamMetadata = Shapes::StringShape.new(name: 'StreamMetadata')
126
+ StreamSession = Shapes::StructureShape.new(name: 'StreamSession')
127
+ StreamSessionList = Shapes::ListShape.new(name: 'StreamSessionList')
128
+ StreamSessionSummary = Shapes::StructureShape.new(name: 'StreamSessionSummary')
115
129
  StreamStartTime = Shapes::TimestampShape.new(name: 'StreamStartTime', timestampFormat: "iso8601")
116
130
  StreamState = Shapes::StringShape.new(name: 'StreamState')
117
131
  StreamSummary = Shapes::StructureShape.new(name: 'StreamSummary')
118
132
  StreamUnavailable = Shapes::StructureShape.new(name: 'StreamUnavailable')
119
133
  StreamViewerCount = Shapes::IntegerShape.new(name: 'StreamViewerCount')
134
+ String = Shapes::StringShape.new(name: 'String')
120
135
  TagKey = Shapes::StringShape.new(name: 'TagKey')
121
136
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
122
137
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
@@ -124,17 +139,25 @@ module Aws::IVS
124
139
  TagValue = Shapes::StringShape.new(name: 'TagValue')
125
140
  Tags = Shapes::MapShape.new(name: 'Tags')
126
141
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
142
+ Time = Shapes::TimestampShape.new(name: 'Time', timestampFormat: "iso8601")
127
143
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
128
144
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
129
145
  UpdateChannelRequest = Shapes::StructureShape.new(name: 'UpdateChannelRequest')
130
146
  UpdateChannelResponse = Shapes::StructureShape.new(name: 'UpdateChannelResponse')
131
147
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
148
+ VideoConfiguration = Shapes::StructureShape.new(name: 'VideoConfiguration')
132
149
  errorCode = Shapes::StringShape.new(name: 'errorCode')
133
150
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
134
151
 
135
152
  AccessDeniedException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
136
153
  AccessDeniedException.struct_class = Types::AccessDeniedException
137
154
 
155
+ AudioConfiguration.add_member(:channels, Shapes::ShapeRef.new(shape: Integer, location_name: "channels"))
156
+ AudioConfiguration.add_member(:codec, Shapes::ShapeRef.new(shape: String, location_name: "codec"))
157
+ AudioConfiguration.add_member(:sample_rate, Shapes::ShapeRef.new(shape: Integer, location_name: "sampleRate"))
158
+ AudioConfiguration.add_member(:target_bitrate, Shapes::ShapeRef.new(shape: Integer, location_name: "targetBitrate"))
159
+ AudioConfiguration.struct_class = Types::AudioConfiguration
160
+
138
161
  BatchError.add_member(:arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "arn"))
139
162
  BatchError.add_member(:code, Shapes::ShapeRef.new(shape: errorCode, location_name: "code"))
140
163
  BatchError.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "message"))
@@ -261,6 +284,13 @@ module Aws::IVS
261
284
  GetStreamResponse.add_member(:stream, Shapes::ShapeRef.new(shape: Stream, location_name: "stream"))
262
285
  GetStreamResponse.struct_class = Types::GetStreamResponse
263
286
 
287
+ GetStreamSessionRequest.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
288
+ GetStreamSessionRequest.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
289
+ GetStreamSessionRequest.struct_class = Types::GetStreamSessionRequest
290
+
291
+ GetStreamSessionResponse.add_member(:stream_session, Shapes::ShapeRef.new(shape: StreamSession, location_name: "streamSession"))
292
+ GetStreamSessionResponse.struct_class = Types::GetStreamSessionResponse
293
+
264
294
  ImportPlaybackKeyPairRequest.add_member(:name, Shapes::ShapeRef.new(shape: PlaybackKeyPairName, location_name: "name"))
265
295
  ImportPlaybackKeyPairRequest.add_member(:public_key_material, Shapes::ShapeRef.new(shape: PlaybackPublicKeyMaterial, required: true, location_name: "publicKeyMaterial"))
266
296
  ImportPlaybackKeyPairRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
@@ -269,6 +299,10 @@ module Aws::IVS
269
299
  ImportPlaybackKeyPairResponse.add_member(:key_pair, Shapes::ShapeRef.new(shape: PlaybackKeyPair, location_name: "keyPair"))
270
300
  ImportPlaybackKeyPairResponse.struct_class = Types::ImportPlaybackKeyPairResponse
271
301
 
302
+ IngestConfiguration.add_member(:audio, Shapes::ShapeRef.new(shape: AudioConfiguration, location_name: "audio"))
303
+ IngestConfiguration.add_member(:video, Shapes::ShapeRef.new(shape: VideoConfiguration, location_name: "video"))
304
+ IngestConfiguration.struct_class = Types::IngestConfiguration
305
+
272
306
  InternalServerException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
273
307
  InternalServerException.struct_class = Types::InternalServerException
274
308
 
@@ -307,6 +341,16 @@ module Aws::IVS
307
341
  ListStreamKeysResponse.add_member(:stream_keys, Shapes::ShapeRef.new(shape: StreamKeyList, required: true, location_name: "streamKeys"))
308
342
  ListStreamKeysResponse.struct_class = Types::ListStreamKeysResponse
309
343
 
344
+ ListStreamSessionsRequest.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
345
+ ListStreamSessionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxStreamResults, location_name: "maxResults"))
346
+ ListStreamSessionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
347
+ ListStreamSessionsRequest.struct_class = Types::ListStreamSessionsRequest
348
+
349
+ ListStreamSessionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
350
+ ListStreamSessionsResponse.add_member(:stream_sessions, Shapes::ShapeRef.new(shape: StreamSessionList, required: true, location_name: "streamSessions"))
351
+ ListStreamSessionsResponse.struct_class = Types::ListStreamSessionsResponse
352
+
353
+ ListStreamsRequest.add_member(:filter_by, Shapes::ShapeRef.new(shape: StreamFilters, location_name: "filterBy"))
310
354
  ListStreamsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxStreamResults, location_name: "maxResults"))
311
355
  ListStreamsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
312
356
  ListStreamsRequest.struct_class = Types::ListStreamsRequest
@@ -376,9 +420,20 @@ module Aws::IVS
376
420
  Stream.add_member(:playback_url, Shapes::ShapeRef.new(shape: PlaybackURL, location_name: "playbackUrl"))
377
421
  Stream.add_member(:start_time, Shapes::ShapeRef.new(shape: StreamStartTime, location_name: "startTime"))
378
422
  Stream.add_member(:state, Shapes::ShapeRef.new(shape: StreamState, location_name: "state"))
423
+ Stream.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
379
424
  Stream.add_member(:viewer_count, Shapes::ShapeRef.new(shape: StreamViewerCount, location_name: "viewerCount"))
380
425
  Stream.struct_class = Types::Stream
381
426
 
427
+ StreamEvent.add_member(:event_time, Shapes::ShapeRef.new(shape: Time, location_name: "eventTime"))
428
+ StreamEvent.add_member(:name, Shapes::ShapeRef.new(shape: String, location_name: "name"))
429
+ StreamEvent.add_member(:type, Shapes::ShapeRef.new(shape: String, location_name: "type"))
430
+ StreamEvent.struct_class = Types::StreamEvent
431
+
432
+ StreamEvents.member = Shapes::ShapeRef.new(shape: StreamEvent)
433
+
434
+ StreamFilters.add_member(:health, Shapes::ShapeRef.new(shape: StreamHealth, location_name: "health"))
435
+ StreamFilters.struct_class = Types::StreamFilters
436
+
382
437
  StreamKey.add_member(:arn, Shapes::ShapeRef.new(shape: StreamKeyArn, location_name: "arn"))
383
438
  StreamKey.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, location_name: "channelArn"))
384
439
  StreamKey.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
@@ -398,10 +453,28 @@ module Aws::IVS
398
453
 
399
454
  StreamList.member = Shapes::ShapeRef.new(shape: StreamSummary)
400
455
 
456
+ StreamSession.add_member(:channel, Shapes::ShapeRef.new(shape: Channel, location_name: "channel"))
457
+ StreamSession.add_member(:end_time, Shapes::ShapeRef.new(shape: Time, location_name: "endTime"))
458
+ StreamSession.add_member(:ingest_configuration, Shapes::ShapeRef.new(shape: IngestConfiguration, location_name: "ingestConfiguration"))
459
+ StreamSession.add_member(:recording_configuration, Shapes::ShapeRef.new(shape: RecordingConfiguration, location_name: "recordingConfiguration"))
460
+ StreamSession.add_member(:start_time, Shapes::ShapeRef.new(shape: Time, location_name: "startTime"))
461
+ StreamSession.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
462
+ StreamSession.add_member(:truncated_events, Shapes::ShapeRef.new(shape: StreamEvents, location_name: "truncatedEvents"))
463
+ StreamSession.struct_class = Types::StreamSession
464
+
465
+ StreamSessionList.member = Shapes::ShapeRef.new(shape: StreamSessionSummary)
466
+
467
+ StreamSessionSummary.add_member(:end_time, Shapes::ShapeRef.new(shape: Time, location_name: "endTime"))
468
+ StreamSessionSummary.add_member(:has_error_event, Shapes::ShapeRef.new(shape: Boolean, location_name: "hasErrorEvent"))
469
+ StreamSessionSummary.add_member(:start_time, Shapes::ShapeRef.new(shape: Time, location_name: "startTime"))
470
+ StreamSessionSummary.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
471
+ StreamSessionSummary.struct_class = Types::StreamSessionSummary
472
+
401
473
  StreamSummary.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, location_name: "channelArn"))
402
474
  StreamSummary.add_member(:health, Shapes::ShapeRef.new(shape: StreamHealth, location_name: "health"))
403
475
  StreamSummary.add_member(:start_time, Shapes::ShapeRef.new(shape: StreamStartTime, location_name: "startTime"))
404
476
  StreamSummary.add_member(:state, Shapes::ShapeRef.new(shape: StreamState, location_name: "state"))
477
+ StreamSummary.add_member(:stream_id, Shapes::ShapeRef.new(shape: StreamId, location_name: "streamId"))
405
478
  StreamSummary.add_member(:viewer_count, Shapes::ShapeRef.new(shape: StreamViewerCount, location_name: "viewerCount"))
406
479
  StreamSummary.struct_class = Types::StreamSummary
407
480
 
@@ -442,6 +515,16 @@ module Aws::IVS
442
515
  ValidationException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
443
516
  ValidationException.struct_class = Types::ValidationException
444
517
 
518
+ VideoConfiguration.add_member(:avc_level, Shapes::ShapeRef.new(shape: String, location_name: "avcLevel"))
519
+ VideoConfiguration.add_member(:avc_profile, Shapes::ShapeRef.new(shape: String, location_name: "avcProfile"))
520
+ VideoConfiguration.add_member(:codec, Shapes::ShapeRef.new(shape: String, location_name: "codec"))
521
+ VideoConfiguration.add_member(:encoder, Shapes::ShapeRef.new(shape: String, location_name: "encoder"))
522
+ VideoConfiguration.add_member(:target_bitrate, Shapes::ShapeRef.new(shape: Integer, location_name: "targetBitrate"))
523
+ VideoConfiguration.add_member(:target_framerate, Shapes::ShapeRef.new(shape: Integer, location_name: "targetFramerate"))
524
+ VideoConfiguration.add_member(:video_height, Shapes::ShapeRef.new(shape: Integer, location_name: "videoHeight"))
525
+ VideoConfiguration.add_member(:video_width, Shapes::ShapeRef.new(shape: Integer, location_name: "videoWidth"))
526
+ VideoConfiguration.struct_class = Types::VideoConfiguration
527
+
445
528
 
446
529
  # @api private
447
530
  API = Seahorse::Model::Api.new.tap do |api|
@@ -624,6 +707,17 @@ module Aws::IVS
624
707
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
625
708
  end)
626
709
 
710
+ api.add_operation(:get_stream_session, Seahorse::Model::Operation.new.tap do |o|
711
+ o.name = "GetStreamSession"
712
+ o.http_method = "POST"
713
+ o.http_request_uri = "/GetStreamSession"
714
+ o.input = Shapes::ShapeRef.new(shape: GetStreamSessionRequest)
715
+ o.output = Shapes::ShapeRef.new(shape: GetStreamSessionResponse)
716
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
717
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
718
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
719
+ end)
720
+
627
721
  api.add_operation(:import_playback_key_pair, Seahorse::Model::Operation.new.tap do |o|
628
722
  o.name = "ImportPlaybackKeyPair"
629
723
  o.http_method = "POST"
@@ -704,6 +798,23 @@ module Aws::IVS
704
798
  )
705
799
  end)
706
800
 
801
+ api.add_operation(:list_stream_sessions, Seahorse::Model::Operation.new.tap do |o|
802
+ o.name = "ListStreamSessions"
803
+ o.http_method = "POST"
804
+ o.http_request_uri = "/ListStreamSessions"
805
+ o.input = Shapes::ShapeRef.new(shape: ListStreamSessionsRequest)
806
+ o.output = Shapes::ShapeRef.new(shape: ListStreamSessionsResponse)
807
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
808
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
809
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
810
+ o[:pager] = Aws::Pager.new(
811
+ limit_key: "max_results",
812
+ tokens: {
813
+ "next_token" => "next_token"
814
+ }
815
+ )
816
+ end)
817
+
707
818
  api.add_operation(:list_streams, Seahorse::Model::Operation.new.tap do |o|
708
819
  o.name = "ListStreams"
709
820
  o.http_method = "POST"
@@ -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
@@ -699,6 +729,45 @@ module Aws::IVS
699
729
  include Aws::Structure
700
730
  end
701
731
 
732
+ # @note When making an API call, you may pass GetStreamSessionRequest
733
+ # data as a hash:
734
+ #
735
+ # {
736
+ # channel_arn: "ChannelArn", # required
737
+ # stream_id: "StreamId",
738
+ # }
739
+ #
740
+ # @!attribute [rw] channel_arn
741
+ # ARN of the channel resource
742
+ # @return [String]
743
+ #
744
+ # @!attribute [rw] stream_id
745
+ # Unique identifier for a live or previously live stream in the
746
+ # specified channel. If no `streamId` is provided, this returns the
747
+ # most recent stream session for the channel, if it exists.
748
+ # @return [String]
749
+ #
750
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamSessionRequest AWS API Documentation
751
+ #
752
+ class GetStreamSessionRequest < Struct.new(
753
+ :channel_arn,
754
+ :stream_id)
755
+ SENSITIVE = []
756
+ include Aws::Structure
757
+ end
758
+
759
+ # @!attribute [rw] stream_session
760
+ # List of stream details.
761
+ # @return [Types::StreamSession]
762
+ #
763
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetStreamSessionResponse AWS API Documentation
764
+ #
765
+ class GetStreamSessionResponse < Struct.new(
766
+ :stream_session)
767
+ SENSITIVE = []
768
+ include Aws::Structure
769
+ end
770
+
702
771
  # @note When making an API call, you may pass ImportPlaybackKeyPairRequest
703
772
  # data as a hash:
704
773
  #
@@ -744,6 +813,26 @@ module Aws::IVS
744
813
  include Aws::Structure
745
814
  end
746
815
 
816
+ # Object specifying the ingest configuration set up by the broadcaster,
817
+ # usually in an encoder.
818
+ #
819
+ # @!attribute [rw] audio
820
+ # Encoder settings for audio.
821
+ # @return [Types::AudioConfiguration]
822
+ #
823
+ # @!attribute [rw] video
824
+ # Encoder settings for video.
825
+ # @return [Types::VideoConfiguration]
826
+ #
827
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/IngestConfiguration AWS API Documentation
828
+ #
829
+ class IngestConfiguration < Struct.new(
830
+ :audio,
831
+ :video)
832
+ SENSITIVE = []
833
+ include Aws::Structure
834
+ end
835
+
747
836
  # @!attribute [rw] exception_message
748
837
  # Unexpected error during processing of request.
749
838
  # @return [String]
@@ -951,14 +1040,70 @@ module Aws::IVS
951
1040
  include Aws::Structure
952
1041
  end
953
1042
 
1043
+ # @note When making an API call, you may pass ListStreamSessionsRequest
1044
+ # data as a hash:
1045
+ #
1046
+ # {
1047
+ # channel_arn: "ChannelArn", # required
1048
+ # max_results: 1,
1049
+ # next_token: "PaginationToken",
1050
+ # }
1051
+ #
1052
+ # @!attribute [rw] channel_arn
1053
+ # Channel ARN used to filter the list.
1054
+ # @return [String]
1055
+ #
1056
+ # @!attribute [rw] max_results
1057
+ # Maximum number of streams to return. Default: 50.
1058
+ # @return [Integer]
1059
+ #
1060
+ # @!attribute [rw] next_token
1061
+ # The first stream to retrieve. This is used for pagination; see the
1062
+ # `nextToken` response field.
1063
+ # @return [String]
1064
+ #
1065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamSessionsRequest AWS API Documentation
1066
+ #
1067
+ class ListStreamSessionsRequest < Struct.new(
1068
+ :channel_arn,
1069
+ :max_results,
1070
+ :next_token)
1071
+ SENSITIVE = []
1072
+ include Aws::Structure
1073
+ end
1074
+
1075
+ # @!attribute [rw] next_token
1076
+ # If there are more streams than `maxResults`, use `nextToken` in the
1077
+ # request to get the next set.
1078
+ # @return [String]
1079
+ #
1080
+ # @!attribute [rw] stream_sessions
1081
+ # @return [Array<Types::StreamSessionSummary>]
1082
+ #
1083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamSessionsResponse AWS API Documentation
1084
+ #
1085
+ class ListStreamSessionsResponse < Struct.new(
1086
+ :next_token,
1087
+ :stream_sessions)
1088
+ SENSITIVE = []
1089
+ include Aws::Structure
1090
+ end
1091
+
954
1092
  # @note When making an API call, you may pass ListStreamsRequest
955
1093
  # data as a hash:
956
1094
  #
957
1095
  # {
1096
+ # filter_by: {
1097
+ # health: "HEALTHY", # accepts HEALTHY, STARVING, UNKNOWN
1098
+ # },
958
1099
  # max_results: 1,
959
1100
  # next_token: "PaginationToken",
960
1101
  # }
961
1102
  #
1103
+ # @!attribute [rw] filter_by
1104
+ # Filters the stream list to match the specified criterion.
1105
+ # @return [Types::StreamFilters]
1106
+ #
962
1107
  # @!attribute [rw] max_results
963
1108
  # Maximum number of streams to return. Default: 50.
964
1109
  # @return [Integer]
@@ -971,6 +1116,7 @@ module Aws::IVS
971
1116
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamsRequest AWS API Documentation
972
1117
  #
973
1118
  class ListStreamsRequest < Struct.new(
1119
+ :filter_by,
974
1120
  :max_results,
975
1121
  :next_token)
976
1122
  SENSITIVE = []
@@ -1283,6 +1429,11 @@ module Aws::IVS
1283
1429
  # The stream’s state.
1284
1430
  # @return [String]
1285
1431
  #
1432
+ # @!attribute [rw] stream_id
1433
+ # Unique identifier for a live or previously live stream in the
1434
+ # specified channel.
1435
+ # @return [String]
1436
+ #
1286
1437
  # @!attribute [rw] viewer_count
1287
1438
  # A count of concurrent views of the stream. Typically, a new view
1288
1439
  # appears in `viewerCount` within 15 seconds of when video playback
@@ -1299,11 +1450,62 @@ module Aws::IVS
1299
1450
  :playback_url,
1300
1451
  :start_time,
1301
1452
  :state,
1453
+ :stream_id,
1302
1454
  :viewer_count)
1303
1455
  SENSITIVE = []
1304
1456
  include Aws::Structure
1305
1457
  end
1306
1458
 
1459
+ # Object specifying a stream’s events. For a list of events, see [Using
1460
+ # Amazon EventBridge with Amazon IVS][1].
1461
+ #
1462
+ #
1463
+ #
1464
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/eventbridge.html
1465
+ #
1466
+ # @!attribute [rw] event_time
1467
+ # UTC ISO-8601 formatted timestamp of when the event occurred.
1468
+ # @return [Time]
1469
+ #
1470
+ # @!attribute [rw] name
1471
+ # Name that identifies the stream event within a `type`.
1472
+ # @return [String]
1473
+ #
1474
+ # @!attribute [rw] type
1475
+ # Logical group for certain events.
1476
+ # @return [String]
1477
+ #
1478
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StreamEvent AWS API Documentation
1479
+ #
1480
+ class StreamEvent < Struct.new(
1481
+ :event_time,
1482
+ :name,
1483
+ :type)
1484
+ SENSITIVE = []
1485
+ include Aws::Structure
1486
+ end
1487
+
1488
+ # Object specifying the stream attribute on which to filter.
1489
+ #
1490
+ # @note When making an API call, you may pass StreamFilters
1491
+ # data as a hash:
1492
+ #
1493
+ # {
1494
+ # health: "HEALTHY", # accepts HEALTHY, STARVING, UNKNOWN
1495
+ # }
1496
+ #
1497
+ # @!attribute [rw] health
1498
+ # The stream’s health.
1499
+ # @return [String]
1500
+ #
1501
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StreamFilters AWS API Documentation
1502
+ #
1503
+ class StreamFilters < Struct.new(
1504
+ :health)
1505
+ SENSITIVE = []
1506
+ include Aws::Structure
1507
+ end
1508
+
1307
1509
  # Object specifying a stream key.
1308
1510
  #
1309
1511
  # @!attribute [rw] arn
@@ -1357,6 +1559,92 @@ module Aws::IVS
1357
1559
  include Aws::Structure
1358
1560
  end
1359
1561
 
1562
+ # Object that captures the Amazon IVS configuration that the customer
1563
+ # provisioned, the ingest configurations that the broadcaster used, and
1564
+ # the most recent Amazon IVS stream events it encountered.
1565
+ #
1566
+ # @!attribute [rw] channel
1567
+ # The properties of the channel at the time of going live.
1568
+ # @return [Types::Channel]
1569
+ #
1570
+ # @!attribute [rw] end_time
1571
+ # UTC ISO-8601 formatted timestamp of when the channel went offline.
1572
+ # For live streams, this is `NULL`.
1573
+ # @return [Time]
1574
+ #
1575
+ # @!attribute [rw] ingest_configuration
1576
+ # The properties of the incoming RTMP stream for the stream.
1577
+ # @return [Types::IngestConfiguration]
1578
+ #
1579
+ # @!attribute [rw] recording_configuration
1580
+ # The properties of recording the live stream.
1581
+ # @return [Types::RecordingConfiguration]
1582
+ #
1583
+ # @!attribute [rw] start_time
1584
+ # UTC ISO-8601 formatted timestamp of when the channel went live.
1585
+ # @return [Time]
1586
+ #
1587
+ # @!attribute [rw] stream_id
1588
+ # Unique identifier for a live or previously live stream in the
1589
+ # specified channel.
1590
+ # @return [String]
1591
+ #
1592
+ # @!attribute [rw] truncated_events
1593
+ # List of Amazon IVS events that the stream encountered. The list is
1594
+ # sorted by most recent events and contains up to 500 events. For
1595
+ # Amazon IVS events, see [Using Amazon EventBridge with Amazon
1596
+ # IVS][1].
1597
+ #
1598
+ #
1599
+ #
1600
+ # [1]: https://docs.aws.amazon.com/ivs/latest/userguide/eventbridge.html
1601
+ # @return [Array<Types::StreamEvent>]
1602
+ #
1603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StreamSession AWS API Documentation
1604
+ #
1605
+ class StreamSession < Struct.new(
1606
+ :channel,
1607
+ :end_time,
1608
+ :ingest_configuration,
1609
+ :recording_configuration,
1610
+ :start_time,
1611
+ :stream_id,
1612
+ :truncated_events)
1613
+ SENSITIVE = []
1614
+ include Aws::Structure
1615
+ end
1616
+
1617
+ # Summary information about a stream session.
1618
+ #
1619
+ # @!attribute [rw] end_time
1620
+ # UTC ISO-8601 formatted timestamp of when the channel went offline.
1621
+ # For live streams, this is `NULL`.
1622
+ # @return [Time]
1623
+ #
1624
+ # @!attribute [rw] has_error_event
1625
+ # If `true`, this stream encountered a quota breach or failure.
1626
+ # @return [Boolean]
1627
+ #
1628
+ # @!attribute [rw] start_time
1629
+ # UTC ISO-8601 formatted timestamp of when the channel went live.
1630
+ # @return [Time]
1631
+ #
1632
+ # @!attribute [rw] stream_id
1633
+ # Unique identifier for a live or previously live stream in the
1634
+ # specified channel.
1635
+ # @return [String]
1636
+ #
1637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/StreamSessionSummary AWS API Documentation
1638
+ #
1639
+ class StreamSessionSummary < Struct.new(
1640
+ :end_time,
1641
+ :has_error_event,
1642
+ :start_time,
1643
+ :stream_id)
1644
+ SENSITIVE = []
1645
+ include Aws::Structure
1646
+ end
1647
+
1360
1648
  # Summary information about a stream.
1361
1649
  #
1362
1650
  # @!attribute [rw] channel_arn
@@ -1376,6 +1664,11 @@ module Aws::IVS
1376
1664
  # The stream’s state.
1377
1665
  # @return [String]
1378
1666
  #
1667
+ # @!attribute [rw] stream_id
1668
+ # Unique identifier for a live or previously live stream in the
1669
+ # specified channel.
1670
+ # @return [String]
1671
+ #
1379
1672
  # @!attribute [rw] viewer_count
1380
1673
  # A count of concurrent views of the stream. Typically, a new view
1381
1674
  # appears in `viewerCount` within 15 seconds of when video playback
@@ -1391,6 +1684,7 @@ module Aws::IVS
1391
1684
  :health,
1392
1685
  :start_time,
1393
1686
  :state,
1687
+ :stream_id,
1394
1688
  :viewer_count)
1395
1689
  SENSITIVE = []
1396
1690
  include Aws::Structure
@@ -1571,5 +1865,58 @@ module Aws::IVS
1571
1865
  include Aws::Structure
1572
1866
  end
1573
1867
 
1868
+ # Object specifying a stream’s video configuration.
1869
+ #
1870
+ # @!attribute [rw] avc_level
1871
+ # Indicates the degree of required decoder performance for a profile.
1872
+ # Normally this is set automatically by the encoder. For details, see
1873
+ # the H.264 specification.
1874
+ # @return [String]
1875
+ #
1876
+ # @!attribute [rw] avc_profile
1877
+ # Indicates to the decoder the requirements for decoding the stream.
1878
+ # For definitions of the valid values, see the H.264 specification.
1879
+ # @return [String]
1880
+ #
1881
+ # @!attribute [rw] codec
1882
+ # Codec used for the video encoding.
1883
+ # @return [String]
1884
+ #
1885
+ # @!attribute [rw] encoder
1886
+ # Software or hardware used to encode the video.
1887
+ # @return [String]
1888
+ #
1889
+ # @!attribute [rw] target_bitrate
1890
+ # The expected ingest bitrate (bits per second). This is configured in
1891
+ # the encoder.
1892
+ # @return [Integer]
1893
+ #
1894
+ # @!attribute [rw] target_framerate
1895
+ # The expected ingest framerate. This is configured in the encoder.
1896
+ # @return [Integer]
1897
+ #
1898
+ # @!attribute [rw] video_height
1899
+ # Video-resolution height in pixels.
1900
+ # @return [Integer]
1901
+ #
1902
+ # @!attribute [rw] video_width
1903
+ # Video-resolution width in pixels.
1904
+ # @return [Integer]
1905
+ #
1906
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/VideoConfiguration AWS API Documentation
1907
+ #
1908
+ class VideoConfiguration < Struct.new(
1909
+ :avc_level,
1910
+ :avc_profile,
1911
+ :codec,
1912
+ :encoder,
1913
+ :target_bitrate,
1914
+ :target_framerate,
1915
+ :video_height,
1916
+ :video_width)
1917
+ SENSITIVE = []
1918
+ include Aws::Structure
1919
+ end
1920
+
1574
1921
  end
1575
1922
  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.13.0'
51
+ GEM_VERSION = '1.17.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.13.0
4
+ version: 1.17.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-10-18 00:00:00.000000000 Z
11
+ date: 2021-12-21 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.121.2
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.121.2
32
+ version: 3.125.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement