aws-sdk-ivs 1.13.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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