aws-sdk-ivs 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,22 +28,29 @@ module Aws::IVS
28
28
  ChannelList = Shapes::ListShape.new(name: 'ChannelList')
29
29
  ChannelName = Shapes::StringShape.new(name: 'ChannelName')
30
30
  ChannelNotBroadcasting = Shapes::StructureShape.new(name: 'ChannelNotBroadcasting')
31
+ ChannelRecordingConfigurationArn = Shapes::StringShape.new(name: 'ChannelRecordingConfigurationArn')
31
32
  ChannelSummary = Shapes::StructureShape.new(name: 'ChannelSummary')
32
33
  ChannelType = Shapes::StringShape.new(name: 'ChannelType')
33
34
  Channels = Shapes::ListShape.new(name: 'Channels')
34
35
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
35
36
  CreateChannelRequest = Shapes::StructureShape.new(name: 'CreateChannelRequest')
36
37
  CreateChannelResponse = Shapes::StructureShape.new(name: 'CreateChannelResponse')
38
+ CreateRecordingConfigurationRequest = Shapes::StructureShape.new(name: 'CreateRecordingConfigurationRequest')
39
+ CreateRecordingConfigurationResponse = Shapes::StructureShape.new(name: 'CreateRecordingConfigurationResponse')
37
40
  CreateStreamKeyRequest = Shapes::StructureShape.new(name: 'CreateStreamKeyRequest')
38
41
  CreateStreamKeyResponse = Shapes::StructureShape.new(name: 'CreateStreamKeyResponse')
39
42
  DeleteChannelRequest = Shapes::StructureShape.new(name: 'DeleteChannelRequest')
40
43
  DeletePlaybackKeyPairRequest = Shapes::StructureShape.new(name: 'DeletePlaybackKeyPairRequest')
41
44
  DeletePlaybackKeyPairResponse = Shapes::StructureShape.new(name: 'DeletePlaybackKeyPairResponse')
45
+ DeleteRecordingConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteRecordingConfigurationRequest')
42
46
  DeleteStreamKeyRequest = Shapes::StructureShape.new(name: 'DeleteStreamKeyRequest')
47
+ DestinationConfiguration = Shapes::StructureShape.new(name: 'DestinationConfiguration')
43
48
  GetChannelRequest = Shapes::StructureShape.new(name: 'GetChannelRequest')
44
49
  GetChannelResponse = Shapes::StructureShape.new(name: 'GetChannelResponse')
45
50
  GetPlaybackKeyPairRequest = Shapes::StructureShape.new(name: 'GetPlaybackKeyPairRequest')
46
51
  GetPlaybackKeyPairResponse = Shapes::StructureShape.new(name: 'GetPlaybackKeyPairResponse')
52
+ GetRecordingConfigurationRequest = Shapes::StructureShape.new(name: 'GetRecordingConfigurationRequest')
53
+ GetRecordingConfigurationResponse = Shapes::StructureShape.new(name: 'GetRecordingConfigurationResponse')
47
54
  GetStreamKeyRequest = Shapes::StructureShape.new(name: 'GetStreamKeyRequest')
48
55
  GetStreamKeyResponse = Shapes::StructureShape.new(name: 'GetStreamKeyResponse')
49
56
  GetStreamRequest = Shapes::StructureShape.new(name: 'GetStreamRequest')
@@ -57,6 +64,8 @@ module Aws::IVS
57
64
  ListChannelsResponse = Shapes::StructureShape.new(name: 'ListChannelsResponse')
58
65
  ListPlaybackKeyPairsRequest = Shapes::StructureShape.new(name: 'ListPlaybackKeyPairsRequest')
59
66
  ListPlaybackKeyPairsResponse = Shapes::StructureShape.new(name: 'ListPlaybackKeyPairsResponse')
67
+ ListRecordingConfigurationsRequest = Shapes::StructureShape.new(name: 'ListRecordingConfigurationsRequest')
68
+ ListRecordingConfigurationsResponse = Shapes::StructureShape.new(name: 'ListRecordingConfigurationsResponse')
60
69
  ListStreamKeysRequest = Shapes::StructureShape.new(name: 'ListStreamKeysRequest')
61
70
  ListStreamKeysResponse = Shapes::StructureShape.new(name: 'ListStreamKeysResponse')
62
71
  ListStreamsRequest = Shapes::StructureShape.new(name: 'ListStreamsRequest')
@@ -65,6 +74,7 @@ module Aws::IVS
65
74
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
66
75
  MaxChannelResults = Shapes::IntegerShape.new(name: 'MaxChannelResults')
67
76
  MaxPlaybackKeyPairResults = Shapes::IntegerShape.new(name: 'MaxPlaybackKeyPairResults')
77
+ MaxRecordingConfigurationResults = Shapes::IntegerShape.new(name: 'MaxRecordingConfigurationResults')
68
78
  MaxStreamKeyResults = Shapes::IntegerShape.new(name: 'MaxStreamKeyResults')
69
79
  MaxStreamResults = Shapes::IntegerShape.new(name: 'MaxStreamResults')
70
80
  MaxTagResults = Shapes::IntegerShape.new(name: 'MaxTagResults')
@@ -79,8 +89,16 @@ module Aws::IVS
79
89
  PlaybackPublicKeyMaterial = Shapes::StringShape.new(name: 'PlaybackPublicKeyMaterial')
80
90
  PlaybackURL = Shapes::StringShape.new(name: 'PlaybackURL')
81
91
  PutMetadataRequest = Shapes::StructureShape.new(name: 'PutMetadataRequest')
92
+ RecordingConfiguration = Shapes::StructureShape.new(name: 'RecordingConfiguration')
93
+ RecordingConfigurationArn = Shapes::StringShape.new(name: 'RecordingConfigurationArn')
94
+ RecordingConfigurationList = Shapes::ListShape.new(name: 'RecordingConfigurationList')
95
+ RecordingConfigurationName = Shapes::StringShape.new(name: 'RecordingConfigurationName')
96
+ RecordingConfigurationState = Shapes::StringShape.new(name: 'RecordingConfigurationState')
97
+ RecordingConfigurationSummary = Shapes::StructureShape.new(name: 'RecordingConfigurationSummary')
82
98
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
83
99
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
100
+ S3DestinationBucketName = Shapes::StringShape.new(name: 'S3DestinationBucketName')
101
+ S3DestinationConfiguration = Shapes::StructureShape.new(name: 'S3DestinationConfiguration')
84
102
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
85
103
  StopStreamRequest = Shapes::StructureShape.new(name: 'StopStreamRequest')
86
104
  StopStreamResponse = Shapes::StructureShape.new(name: 'StopStreamResponse')
@@ -144,6 +162,7 @@ module Aws::IVS
144
162
  Channel.add_member(:name, Shapes::ShapeRef.new(shape: ChannelName, location_name: "name"))
145
163
  Channel.add_member(:latency_mode, Shapes::ShapeRef.new(shape: ChannelLatencyMode, location_name: "latencyMode"))
146
164
  Channel.add_member(:type, Shapes::ShapeRef.new(shape: ChannelType, location_name: "type"))
165
+ Channel.add_member(:recording_configuration_arn, Shapes::ShapeRef.new(shape: ChannelRecordingConfigurationArn, location_name: "recordingConfigurationArn"))
147
166
  Channel.add_member(:ingest_endpoint, Shapes::ShapeRef.new(shape: IngestEndpoint, location_name: "ingestEndpoint"))
148
167
  Channel.add_member(:playback_url, Shapes::ShapeRef.new(shape: PlaybackURL, location_name: "playbackUrl"))
149
168
  Channel.add_member(:authorized, Shapes::ShapeRef.new(shape: IsAuthorized, location_name: "authorized"))
@@ -161,6 +180,7 @@ module Aws::IVS
161
180
  ChannelSummary.add_member(:name, Shapes::ShapeRef.new(shape: ChannelName, location_name: "name"))
162
181
  ChannelSummary.add_member(:latency_mode, Shapes::ShapeRef.new(shape: ChannelLatencyMode, location_name: "latencyMode"))
163
182
  ChannelSummary.add_member(:authorized, Shapes::ShapeRef.new(shape: IsAuthorized, location_name: "authorized"))
183
+ ChannelSummary.add_member(:recording_configuration_arn, Shapes::ShapeRef.new(shape: ChannelRecordingConfigurationArn, location_name: "recordingConfigurationArn"))
164
184
  ChannelSummary.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
165
185
  ChannelSummary.struct_class = Types::ChannelSummary
166
186
 
@@ -173,6 +193,7 @@ module Aws::IVS
173
193
  CreateChannelRequest.add_member(:latency_mode, Shapes::ShapeRef.new(shape: ChannelLatencyMode, location_name: "latencyMode"))
174
194
  CreateChannelRequest.add_member(:type, Shapes::ShapeRef.new(shape: ChannelType, location_name: "type"))
175
195
  CreateChannelRequest.add_member(:authorized, Shapes::ShapeRef.new(shape: Boolean, location_name: "authorized"))
196
+ CreateChannelRequest.add_member(:recording_configuration_arn, Shapes::ShapeRef.new(shape: ChannelRecordingConfigurationArn, location_name: "recordingConfigurationArn"))
176
197
  CreateChannelRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
177
198
  CreateChannelRequest.struct_class = Types::CreateChannelRequest
178
199
 
@@ -180,6 +201,14 @@ module Aws::IVS
180
201
  CreateChannelResponse.add_member(:stream_key, Shapes::ShapeRef.new(shape: StreamKey, location_name: "streamKey"))
181
202
  CreateChannelResponse.struct_class = Types::CreateChannelResponse
182
203
 
204
+ CreateRecordingConfigurationRequest.add_member(:name, Shapes::ShapeRef.new(shape: RecordingConfigurationName, location_name: "name"))
205
+ CreateRecordingConfigurationRequest.add_member(:destination_configuration, Shapes::ShapeRef.new(shape: DestinationConfiguration, required: true, location_name: "destinationConfiguration"))
206
+ CreateRecordingConfigurationRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
207
+ CreateRecordingConfigurationRequest.struct_class = Types::CreateRecordingConfigurationRequest
208
+
209
+ CreateRecordingConfigurationResponse.add_member(:recording_configuration, Shapes::ShapeRef.new(shape: RecordingConfiguration, location_name: "recordingConfiguration"))
210
+ CreateRecordingConfigurationResponse.struct_class = Types::CreateRecordingConfigurationResponse
211
+
183
212
  CreateStreamKeyRequest.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
184
213
  CreateStreamKeyRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
185
214
  CreateStreamKeyRequest.struct_class = Types::CreateStreamKeyRequest
@@ -195,9 +224,15 @@ module Aws::IVS
195
224
 
196
225
  DeletePlaybackKeyPairResponse.struct_class = Types::DeletePlaybackKeyPairResponse
197
226
 
227
+ DeleteRecordingConfigurationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: RecordingConfigurationArn, required: true, location_name: "arn"))
228
+ DeleteRecordingConfigurationRequest.struct_class = Types::DeleteRecordingConfigurationRequest
229
+
198
230
  DeleteStreamKeyRequest.add_member(:arn, Shapes::ShapeRef.new(shape: StreamKeyArn, required: true, location_name: "arn"))
199
231
  DeleteStreamKeyRequest.struct_class = Types::DeleteStreamKeyRequest
200
232
 
233
+ DestinationConfiguration.add_member(:s3, Shapes::ShapeRef.new(shape: S3DestinationConfiguration, location_name: "s3"))
234
+ DestinationConfiguration.struct_class = Types::DestinationConfiguration
235
+
201
236
  GetChannelRequest.add_member(:arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "arn"))
202
237
  GetChannelRequest.struct_class = Types::GetChannelRequest
203
238
 
@@ -210,6 +245,12 @@ module Aws::IVS
210
245
  GetPlaybackKeyPairResponse.add_member(:key_pair, Shapes::ShapeRef.new(shape: PlaybackKeyPair, location_name: "keyPair"))
211
246
  GetPlaybackKeyPairResponse.struct_class = Types::GetPlaybackKeyPairResponse
212
247
 
248
+ GetRecordingConfigurationRequest.add_member(:arn, Shapes::ShapeRef.new(shape: RecordingConfigurationArn, required: true, location_name: "arn"))
249
+ GetRecordingConfigurationRequest.struct_class = Types::GetRecordingConfigurationRequest
250
+
251
+ GetRecordingConfigurationResponse.add_member(:recording_configuration, Shapes::ShapeRef.new(shape: RecordingConfiguration, location_name: "recordingConfiguration"))
252
+ GetRecordingConfigurationResponse.struct_class = Types::GetRecordingConfigurationResponse
253
+
213
254
  GetStreamKeyRequest.add_member(:arn, Shapes::ShapeRef.new(shape: StreamKeyArn, required: true, location_name: "arn"))
214
255
  GetStreamKeyRequest.struct_class = Types::GetStreamKeyRequest
215
256
 
@@ -234,6 +275,7 @@ module Aws::IVS
234
275
  InternalServerException.struct_class = Types::InternalServerException
235
276
 
236
277
  ListChannelsRequest.add_member(:filter_by_name, Shapes::ShapeRef.new(shape: ChannelName, location_name: "filterByName"))
278
+ ListChannelsRequest.add_member(:filter_by_recording_configuration_arn, Shapes::ShapeRef.new(shape: ChannelRecordingConfigurationArn, location_name: "filterByRecordingConfigurationArn"))
237
279
  ListChannelsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
238
280
  ListChannelsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxChannelResults, location_name: "maxResults"))
239
281
  ListChannelsRequest.struct_class = Types::ListChannelsRequest
@@ -250,6 +292,14 @@ module Aws::IVS
250
292
  ListPlaybackKeyPairsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
251
293
  ListPlaybackKeyPairsResponse.struct_class = Types::ListPlaybackKeyPairsResponse
252
294
 
295
+ ListRecordingConfigurationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
296
+ ListRecordingConfigurationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxRecordingConfigurationResults, location_name: "maxResults"))
297
+ ListRecordingConfigurationsRequest.struct_class = Types::ListRecordingConfigurationsRequest
298
+
299
+ ListRecordingConfigurationsResponse.add_member(:recording_configurations, Shapes::ShapeRef.new(shape: RecordingConfigurationList, required: true, location_name: "recordingConfigurations"))
300
+ ListRecordingConfigurationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
301
+ ListRecordingConfigurationsResponse.struct_class = Types::ListRecordingConfigurationsResponse
302
+
253
303
  ListStreamKeysRequest.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
254
304
  ListStreamKeysRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PaginationToken, location_name: "nextToken"))
255
305
  ListStreamKeysRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxStreamKeyResults, location_name: "maxResults"))
@@ -296,9 +346,28 @@ module Aws::IVS
296
346
  PutMetadataRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: StreamMetadata, required: true, location_name: "metadata"))
297
347
  PutMetadataRequest.struct_class = Types::PutMetadataRequest
298
348
 
349
+ RecordingConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: RecordingConfigurationArn, required: true, location_name: "arn"))
350
+ RecordingConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: RecordingConfigurationName, location_name: "name"))
351
+ RecordingConfiguration.add_member(:destination_configuration, Shapes::ShapeRef.new(shape: DestinationConfiguration, required: true, location_name: "destinationConfiguration"))
352
+ RecordingConfiguration.add_member(:state, Shapes::ShapeRef.new(shape: RecordingConfigurationState, required: true, location_name: "state"))
353
+ RecordingConfiguration.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
354
+ RecordingConfiguration.struct_class = Types::RecordingConfiguration
355
+
356
+ RecordingConfigurationList.member = Shapes::ShapeRef.new(shape: RecordingConfigurationSummary)
357
+
358
+ RecordingConfigurationSummary.add_member(:arn, Shapes::ShapeRef.new(shape: RecordingConfigurationArn, required: true, location_name: "arn"))
359
+ RecordingConfigurationSummary.add_member(:name, Shapes::ShapeRef.new(shape: RecordingConfigurationName, location_name: "name"))
360
+ RecordingConfigurationSummary.add_member(:destination_configuration, Shapes::ShapeRef.new(shape: DestinationConfiguration, required: true, location_name: "destinationConfiguration"))
361
+ RecordingConfigurationSummary.add_member(:state, Shapes::ShapeRef.new(shape: RecordingConfigurationState, required: true, location_name: "state"))
362
+ RecordingConfigurationSummary.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
363
+ RecordingConfigurationSummary.struct_class = Types::RecordingConfigurationSummary
364
+
299
365
  ResourceNotFoundException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
300
366
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
301
367
 
368
+ S3DestinationConfiguration.add_member(:bucket_name, Shapes::ShapeRef.new(shape: S3DestinationBucketName, required: true, location_name: "bucketName"))
369
+ S3DestinationConfiguration.struct_class = Types::S3DestinationConfiguration
370
+
302
371
  ServiceQuotaExceededException.add_member(:exception_message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "exceptionMessage"))
303
372
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
304
373
 
@@ -369,6 +438,7 @@ module Aws::IVS
369
438
  UpdateChannelRequest.add_member(:latency_mode, Shapes::ShapeRef.new(shape: ChannelLatencyMode, location_name: "latencyMode"))
370
439
  UpdateChannelRequest.add_member(:type, Shapes::ShapeRef.new(shape: ChannelType, location_name: "type"))
371
440
  UpdateChannelRequest.add_member(:authorized, Shapes::ShapeRef.new(shape: Boolean, location_name: "authorized"))
441
+ UpdateChannelRequest.add_member(:recording_configuration_arn, Shapes::ShapeRef.new(shape: ChannelRecordingConfigurationArn, location_name: "recordingConfigurationArn"))
372
442
  UpdateChannelRequest.struct_class = Types::UpdateChannelRequest
373
443
 
374
444
  UpdateChannelResponse.add_member(:channel, Shapes::ShapeRef.new(shape: Channel, location_name: "channel"))
@@ -419,10 +489,25 @@ module Aws::IVS
419
489
  o.output = Shapes::ShapeRef.new(shape: CreateChannelResponse)
420
490
  o.errors << Shapes::ShapeRef.new(shape: ValidationException)
421
491
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
492
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
422
493
  o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
423
494
  o.errors << Shapes::ShapeRef.new(shape: PendingVerification)
424
495
  end)
425
496
 
497
+ api.add_operation(:create_recording_configuration, Seahorse::Model::Operation.new.tap do |o|
498
+ o.name = "CreateRecordingConfiguration"
499
+ o.http_method = "POST"
500
+ o.http_request_uri = "/CreateRecordingConfiguration"
501
+ o.input = Shapes::ShapeRef.new(shape: CreateRecordingConfigurationRequest)
502
+ o.output = Shapes::ShapeRef.new(shape: CreateRecordingConfigurationResponse)
503
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
504
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
505
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
506
+ o.errors << Shapes::ShapeRef.new(shape: PendingVerification)
507
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
508
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
509
+ end)
510
+
426
511
  api.add_operation(:create_stream_key, Seahorse::Model::Operation.new.tap do |o|
427
512
  o.name = "CreateStreamKey"
428
513
  o.http_method = "POST"
@@ -461,6 +546,19 @@ module Aws::IVS
461
546
  o.errors << Shapes::ShapeRef.new(shape: PendingVerification)
462
547
  end)
463
548
 
549
+ api.add_operation(:delete_recording_configuration, Seahorse::Model::Operation.new.tap do |o|
550
+ o.name = "DeleteRecordingConfiguration"
551
+ o.http_method = "POST"
552
+ o.http_request_uri = "/DeleteRecordingConfiguration"
553
+ o.input = Shapes::ShapeRef.new(shape: DeleteRecordingConfigurationRequest)
554
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
555
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
556
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
557
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
558
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
559
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
560
+ end)
561
+
464
562
  api.add_operation(:delete_stream_key, Seahorse::Model::Operation.new.tap do |o|
465
563
  o.name = "DeleteStreamKey"
466
564
  o.http_method = "POST"
@@ -495,6 +593,18 @@ module Aws::IVS
495
593
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
496
594
  end)
497
595
 
596
+ api.add_operation(:get_recording_configuration, Seahorse::Model::Operation.new.tap do |o|
597
+ o.name = "GetRecordingConfiguration"
598
+ o.http_method = "POST"
599
+ o.http_request_uri = "/GetRecordingConfiguration"
600
+ o.input = Shapes::ShapeRef.new(shape: GetRecordingConfigurationRequest)
601
+ o.output = Shapes::ShapeRef.new(shape: GetRecordingConfigurationResponse)
602
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
603
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
604
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
605
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
606
+ end)
607
+
498
608
  api.add_operation(:get_stream, Seahorse::Model::Operation.new.tap do |o|
499
609
  o.name = "GetStream"
500
610
  o.http_method = "POST"
@@ -564,6 +674,23 @@ module Aws::IVS
564
674
  )
565
675
  end)
566
676
 
677
+ api.add_operation(:list_recording_configurations, Seahorse::Model::Operation.new.tap do |o|
678
+ o.name = "ListRecordingConfigurations"
679
+ o.http_method = "POST"
680
+ o.http_request_uri = "/ListRecordingConfigurations"
681
+ o.input = Shapes::ShapeRef.new(shape: ListRecordingConfigurationsRequest)
682
+ o.output = Shapes::ShapeRef.new(shape: ListRecordingConfigurationsResponse)
683
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
684
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
685
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
686
+ o[:pager] = Aws::Pager.new(
687
+ limit_key: "max_results",
688
+ tokens: {
689
+ "next_token" => "next_token"
690
+ }
691
+ )
692
+ end)
693
+
567
694
  api.add_operation(:list_stream_keys, Seahorse::Model::Operation.new.tap do |o|
568
695
  o.name = "ListStreamKeys"
569
696
  o.http_method = "POST"
@@ -126,13 +126,17 @@ module Aws::IVS
126
126
  # @return [String]
127
127
  #
128
128
  # @!attribute [rw] latency_mode
129
- # Channel latency mode. Default: `LOW`.
129
+ # Channel latency mode. Use `NORMAL` to broadcast and deliver live
130
+ # video up to Full HD. Use `LOW` for near-real-time interaction with
131
+ # viewers. Default: `LOW`. (Note: In the Amazon IVS console, `LOW` and
132
+ # `NORMAL` correspond to Ultra-low and Standard, respectively.)
130
133
  # @return [String]
131
134
  #
132
135
  # @!attribute [rw] type
133
136
  # Channel type, which determines the allowable resolution and bitrate.
134
137
  # *If you exceed the allowable resolution or bitrate, the stream
135
- # probably will disconnect immediately.* Valid values:
138
+ # probably will disconnect immediately.* Default: `STANDARD`. Valid
139
+ # values:
136
140
  #
137
141
  # * `STANDARD`\: Multiple qualities are generated from the original
138
142
  # input, to automatically give viewers the best experience for their
@@ -143,8 +147,12 @@ module Aws::IVS
143
147
  # viewer’s video-quality choice is limited to the original input.
144
148
  # Vertical resolution can be up to 480 and bitrate can be up to 1.5
145
149
  # Mbps.
150
+ # @return [String]
146
151
  #
147
- # Default: `STANDARD`.
152
+ # @!attribute [rw] recording_configuration_arn
153
+ # Recording-configuration ARN. A value other than an empty string
154
+ # indicates that recording is enabled. Default: "" (empty string,
155
+ # recording is disabled).
148
156
  # @return [String]
149
157
  #
150
158
  # @!attribute [rw] ingest_endpoint
@@ -157,7 +165,8 @@ module Aws::IVS
157
165
  # @return [String]
158
166
  #
159
167
  # @!attribute [rw] authorized
160
- # Whether the channel is authorized.
168
+ # Whether the channel is private (enabled for playback authorization).
169
+ # Default: `false`.
161
170
  # @return [Boolean]
162
171
  #
163
172
  # @!attribute [rw] tags
@@ -171,6 +180,7 @@ module Aws::IVS
171
180
  :name,
172
181
  :latency_mode,
173
182
  :type,
183
+ :recording_configuration_arn,
174
184
  :ingest_endpoint,
175
185
  :playback_url,
176
186
  :authorized,
@@ -202,13 +212,23 @@ module Aws::IVS
202
212
  # @return [String]
203
213
  #
204
214
  # @!attribute [rw] latency_mode
205
- # Channel latency mode. Default: `LOW`.
215
+ # Channel latency mode. Use `NORMAL` to broadcast and deliver live
216
+ # video up to Full HD. Use `LOW` for near-real-time interaction with
217
+ # viewers. Default: `LOW`. (Note: In the Amazon IVS console, `LOW` and
218
+ # `NORMAL` correspond to Ultra-low and Standard, respectively.)
206
219
  # @return [String]
207
220
  #
208
221
  # @!attribute [rw] authorized
209
- # Whether the channel is authorized.
222
+ # Whether the channel is private (enabled for playback authorization).
223
+ # Default: `false`.
210
224
  # @return [Boolean]
211
225
  #
226
+ # @!attribute [rw] recording_configuration_arn
227
+ # Recording-configuration ARN. A value other than an empty string
228
+ # indicates that recording is enabled. Default: "" (empty string,
229
+ # recording is disabled).
230
+ # @return [String]
231
+ #
212
232
  # @!attribute [rw] tags
213
233
  # Array of 1-50 maps, each of the form `string:string (key:value)`.
214
234
  # @return [Hash<String,String>]
@@ -220,6 +240,7 @@ module Aws::IVS
220
240
  :name,
221
241
  :latency_mode,
222
242
  :authorized,
243
+ :recording_configuration_arn,
223
244
  :tags)
224
245
  SENSITIVE = []
225
246
  include Aws::Structure
@@ -245,6 +266,7 @@ module Aws::IVS
245
266
  # latency_mode: "NORMAL", # accepts NORMAL, LOW
246
267
  # type: "BASIC", # accepts BASIC, STANDARD
247
268
  # authorized: false,
269
+ # recording_configuration_arn: "ChannelRecordingConfigurationArn",
248
270
  # tags: {
249
271
  # "TagKey" => "TagValue",
250
272
  # },
@@ -255,13 +277,17 @@ module Aws::IVS
255
277
  # @return [String]
256
278
  #
257
279
  # @!attribute [rw] latency_mode
258
- # Channel latency mode. Default: `LOW`.
280
+ # Channel latency mode. Use `NORMAL` to broadcast and deliver live
281
+ # video up to Full HD. Use `LOW` for near-real-time interaction with
282
+ # viewers. (Note: In the Amazon IVS console, `LOW` and `NORMAL`
283
+ # correspond to Ultra-low and Standard, respectively.) Default: `LOW`.
259
284
  # @return [String]
260
285
  #
261
286
  # @!attribute [rw] type
262
287
  # Channel type, which determines the allowable resolution and bitrate.
263
288
  # *If you exceed the allowable resolution or bitrate, the stream
264
- # probably will disconnect immediately.* Valid values:
289
+ # probably will disconnect immediately.* Default: `STANDARD`. Valid
290
+ # values:
265
291
  #
266
292
  # * `STANDARD`\: Multiple qualities are generated from the original
267
293
  # input, to automatically give viewers the best experience for their
@@ -272,16 +298,20 @@ module Aws::IVS
272
298
  # viewer’s video-quality choice is limited to the original input.
273
299
  # Vertical resolution can be up to 480 and bitrate can be up to 1.5
274
300
  # Mbps.
275
- #
276
- # Default: `STANDARD`.
277
301
  # @return [String]
278
302
  #
279
303
  # @!attribute [rw] authorized
280
- # Whether the channel is authorized. Default: `false`.
304
+ # Whether the channel is private (enabled for playback authorization).
305
+ # Default: `false`.
281
306
  # @return [Boolean]
282
307
  #
308
+ # @!attribute [rw] recording_configuration_arn
309
+ # Recording-configuration ARN. Default: "" (empty string, recording
310
+ # is disabled).
311
+ # @return [String]
312
+ #
283
313
  # @!attribute [rw] tags
284
- # See Channel$tags.
314
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
285
315
  # @return [Hash<String,String>]
286
316
  #
287
317
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateChannelRequest AWS API Documentation
@@ -291,6 +321,7 @@ module Aws::IVS
291
321
  :latency_mode,
292
322
  :type,
293
323
  :authorized,
324
+ :recording_configuration_arn,
294
325
  :tags)
295
326
  SENSITIVE = []
296
327
  include Aws::Structure
@@ -313,6 +344,57 @@ module Aws::IVS
313
344
  include Aws::Structure
314
345
  end
315
346
 
347
+ # @note When making an API call, you may pass CreateRecordingConfigurationRequest
348
+ # data as a hash:
349
+ #
350
+ # {
351
+ # name: "RecordingConfigurationName",
352
+ # destination_configuration: { # required
353
+ # s3: {
354
+ # bucket_name: "S3DestinationBucketName", # required
355
+ # },
356
+ # },
357
+ # tags: {
358
+ # "TagKey" => "TagValue",
359
+ # },
360
+ # }
361
+ #
362
+ # @!attribute [rw] name
363
+ # An arbitrary string (a nickname) that helps the customer identify
364
+ # that resource. The value does not need to be unique.
365
+ # @return [String]
366
+ #
367
+ # @!attribute [rw] destination_configuration
368
+ # A complex type that contains a destination configuration for where
369
+ # recorded video will be stored.
370
+ # @return [Types::DestinationConfiguration]
371
+ #
372
+ # @!attribute [rw] tags
373
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
374
+ # @return [Hash<String,String>]
375
+ #
376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateRecordingConfigurationRequest AWS API Documentation
377
+ #
378
+ class CreateRecordingConfigurationRequest < Struct.new(
379
+ :name,
380
+ :destination_configuration,
381
+ :tags)
382
+ SENSITIVE = []
383
+ include Aws::Structure
384
+ end
385
+
386
+ # @!attribute [rw] recording_configuration
387
+ # An object representing a configuration to record a channel stream.
388
+ # @return [Types::RecordingConfiguration]
389
+ #
390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateRecordingConfigurationResponse AWS API Documentation
391
+ #
392
+ class CreateRecordingConfigurationResponse < Struct.new(
393
+ :recording_configuration)
394
+ SENSITIVE = []
395
+ include Aws::Structure
396
+ end
397
+
316
398
  # @note When making an API call, you may pass CreateStreamKeyRequest
317
399
  # data as a hash:
318
400
  #
@@ -328,7 +410,7 @@ module Aws::IVS
328
410
  # @return [String]
329
411
  #
330
412
  # @!attribute [rw] tags
331
- # See Channel$tags.
413
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
332
414
  # @return [Hash<String,String>]
333
415
  #
334
416
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/CreateStreamKeyRequest AWS API Documentation
@@ -394,6 +476,25 @@ module Aws::IVS
394
476
  #
395
477
  class DeletePlaybackKeyPairResponse < Aws::EmptyStructure; end
396
478
 
479
+ # @note When making an API call, you may pass DeleteRecordingConfigurationRequest
480
+ # data as a hash:
481
+ #
482
+ # {
483
+ # arn: "RecordingConfigurationArn", # required
484
+ # }
485
+ #
486
+ # @!attribute [rw] arn
487
+ # ARN of the recording configuration to be deleted.
488
+ # @return [String]
489
+ #
490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeleteRecordingConfigurationRequest AWS API Documentation
491
+ #
492
+ class DeleteRecordingConfigurationRequest < Struct.new(
493
+ :arn)
494
+ SENSITIVE = []
495
+ include Aws::Structure
496
+ end
497
+
397
498
  # @note When making an API call, you may pass DeleteStreamKeyRequest
398
499
  # data as a hash:
399
500
  #
@@ -413,6 +514,33 @@ module Aws::IVS
413
514
  include Aws::Structure
414
515
  end
415
516
 
517
+ # A complex type that describes a location where recorded videos will be
518
+ # stored. Each member represents a type of destination configuration.
519
+ # For recording, you define one and only one type of destination
520
+ # configuration.
521
+ #
522
+ # @note When making an API call, you may pass DestinationConfiguration
523
+ # data as a hash:
524
+ #
525
+ # {
526
+ # s3: {
527
+ # bucket_name: "S3DestinationBucketName", # required
528
+ # },
529
+ # }
530
+ #
531
+ # @!attribute [rw] s3
532
+ # An S3 destination configuration where recorded videos will be
533
+ # stored.
534
+ # @return [Types::S3DestinationConfiguration]
535
+ #
536
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DestinationConfiguration AWS API Documentation
537
+ #
538
+ class DestinationConfiguration < Struct.new(
539
+ :s3)
540
+ SENSITIVE = []
541
+ include Aws::Structure
542
+ end
543
+
416
544
  # @note When making an API call, you may pass GetChannelRequest
417
545
  # data as a hash:
418
546
  #
@@ -475,6 +603,37 @@ module Aws::IVS
475
603
  include Aws::Structure
476
604
  end
477
605
 
606
+ # @note When making an API call, you may pass GetRecordingConfigurationRequest
607
+ # data as a hash:
608
+ #
609
+ # {
610
+ # arn: "RecordingConfigurationArn", # required
611
+ # }
612
+ #
613
+ # @!attribute [rw] arn
614
+ # ARN of the recording configuration to be retrieved.
615
+ # @return [String]
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetRecordingConfigurationRequest AWS API Documentation
618
+ #
619
+ class GetRecordingConfigurationRequest < Struct.new(
620
+ :arn)
621
+ SENSITIVE = []
622
+ include Aws::Structure
623
+ end
624
+
625
+ # @!attribute [rw] recording_configuration
626
+ # An object representing a configuration to record a channel stream.
627
+ # @return [Types::RecordingConfiguration]
628
+ #
629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetRecordingConfigurationResponse AWS API Documentation
630
+ #
631
+ class GetRecordingConfigurationResponse < Struct.new(
632
+ :recording_configuration)
633
+ SENSITIVE = []
634
+ include Aws::Structure
635
+ end
636
+
478
637
  # @note When making an API call, you may pass GetStreamKeyRequest
479
638
  # data as a hash:
480
639
  #
@@ -603,6 +762,7 @@ module Aws::IVS
603
762
  #
604
763
  # {
605
764
  # filter_by_name: "ChannelName",
765
+ # filter_by_recording_configuration_arn: "ChannelRecordingConfigurationArn",
606
766
  # next_token: "PaginationToken",
607
767
  # max_results: 1,
608
768
  # }
@@ -611,19 +771,25 @@ module Aws::IVS
611
771
  # Filters the channel list to match the specified name.
612
772
  # @return [String]
613
773
  #
774
+ # @!attribute [rw] filter_by_recording_configuration_arn
775
+ # Filters the channel list to match the specified
776
+ # recording-configuration ARN.
777
+ # @return [String]
778
+ #
614
779
  # @!attribute [rw] next_token
615
780
  # The first channel to retrieve. This is used for pagination; see the
616
781
  # `nextToken` response field.
617
782
  # @return [String]
618
783
  #
619
784
  # @!attribute [rw] max_results
620
- # Maximum number of channels to return.
785
+ # Maximum number of channels to return. Default: 50.
621
786
  # @return [Integer]
622
787
  #
623
788
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListChannelsRequest AWS API Documentation
624
789
  #
625
790
  class ListChannelsRequest < Struct.new(
626
791
  :filter_by_name,
792
+ :filter_by_recording_configuration_arn,
627
793
  :next_token,
628
794
  :max_results)
629
795
  SENSITIVE = []
@@ -662,7 +828,7 @@ module Aws::IVS
662
828
  #
663
829
  # @!attribute [rw] max_results
664
830
  # The first key pair to retrieve. This is used for pagination; see the
665
- # `nextToken` response field.
831
+ # `nextToken` response field. Default: 50.
666
832
  # @return [Integer]
667
833
  #
668
834
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListPlaybackKeyPairsRequest AWS API Documentation
@@ -692,6 +858,50 @@ module Aws::IVS
692
858
  include Aws::Structure
693
859
  end
694
860
 
861
+ # @note When making an API call, you may pass ListRecordingConfigurationsRequest
862
+ # data as a hash:
863
+ #
864
+ # {
865
+ # next_token: "PaginationToken",
866
+ # max_results: 1,
867
+ # }
868
+ #
869
+ # @!attribute [rw] next_token
870
+ # The first recording configuration to retrieve. This is used for
871
+ # pagination; see the `nextToken` response field.
872
+ # @return [String]
873
+ #
874
+ # @!attribute [rw] max_results
875
+ # Maximum number of recording configurations to return. Default: 50.
876
+ # @return [Integer]
877
+ #
878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListRecordingConfigurationsRequest AWS API Documentation
879
+ #
880
+ class ListRecordingConfigurationsRequest < Struct.new(
881
+ :next_token,
882
+ :max_results)
883
+ SENSITIVE = []
884
+ include Aws::Structure
885
+ end
886
+
887
+ # @!attribute [rw] recording_configurations
888
+ # List of the matching recording configurations.
889
+ # @return [Array<Types::RecordingConfigurationSummary>]
890
+ #
891
+ # @!attribute [rw] next_token
892
+ # If there are more recording configurations than `maxResults`, use
893
+ # `nextToken` in the request to get the next set.
894
+ # @return [String]
895
+ #
896
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListRecordingConfigurationsResponse AWS API Documentation
897
+ #
898
+ class ListRecordingConfigurationsResponse < Struct.new(
899
+ :recording_configurations,
900
+ :next_token)
901
+ SENSITIVE = []
902
+ include Aws::Structure
903
+ end
904
+
695
905
  # @note When making an API call, you may pass ListStreamKeysRequest
696
906
  # data as a hash:
697
907
  #
@@ -711,7 +921,7 @@ module Aws::IVS
711
921
  # @return [String]
712
922
  #
713
923
  # @!attribute [rw] max_results
714
- # Maximum number of streamKeys to return.
924
+ # Maximum number of streamKeys to return. Default: 50.
715
925
  # @return [Integer]
716
926
  #
717
927
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamKeysRequest AWS API Documentation
@@ -756,7 +966,7 @@ module Aws::IVS
756
966
  # @return [String]
757
967
  #
758
968
  # @!attribute [rw] max_results
759
- # Maximum number of streams to return.
969
+ # Maximum number of streams to return. Default: 50.
760
970
  # @return [Integer]
761
971
  #
762
972
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListStreamsRequest AWS API Documentation
@@ -805,7 +1015,7 @@ module Aws::IVS
805
1015
  # @return [String]
806
1016
  #
807
1017
  # @!attribute [rw] max_results
808
- # Maximum number of tags to return.
1018
+ # Maximum number of tags to return. Default: 50.
809
1019
  # @return [Integer]
810
1020
  #
811
1021
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListTagsForResourceRequest AWS API Documentation
@@ -854,7 +1064,9 @@ module Aws::IVS
854
1064
  # @return [String]
855
1065
  #
856
1066
  # @!attribute [rw] name
857
- # Key-pair name.
1067
+ # An arbitrary string (a nickname) assigned to a playback key pair
1068
+ # that helps the customer identify that resource. The value does not
1069
+ # need to be unique.
858
1070
  # @return [String]
859
1071
  #
860
1072
  # @!attribute [rw] fingerprint
@@ -883,11 +1095,13 @@ module Aws::IVS
883
1095
  # @return [String]
884
1096
  #
885
1097
  # @!attribute [rw] name
886
- # Key-pair name.
1098
+ # An arbitrary string (a nickname) assigned to a playback key pair
1099
+ # that helps the customer identify that resource. The value does not
1100
+ # need to be unique.
887
1101
  # @return [String]
888
1102
  #
889
1103
  # @!attribute [rw] tags
890
- # Array of 1-50 maps, each of the form `string:string (key:value)`
1104
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
891
1105
  # @return [Hash<String,String>]
892
1106
  #
893
1107
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/PlaybackKeyPairSummary AWS API Documentation
@@ -926,6 +1140,84 @@ module Aws::IVS
926
1140
  include Aws::Structure
927
1141
  end
928
1142
 
1143
+ # An object representing a configuration to record a channel stream.
1144
+ #
1145
+ # @!attribute [rw] arn
1146
+ # Recording-configuration ARN.
1147
+ # @return [String]
1148
+ #
1149
+ # @!attribute [rw] name
1150
+ # An arbitrary string (a nickname) assigned to a recording
1151
+ # configuration that helps the customer identify that resource. The
1152
+ # value does not need to be unique.
1153
+ # @return [String]
1154
+ #
1155
+ # @!attribute [rw] destination_configuration
1156
+ # A complex type that contains information about where recorded video
1157
+ # will be stored.
1158
+ # @return [Types::DestinationConfiguration]
1159
+ #
1160
+ # @!attribute [rw] state
1161
+ # Indicates the current state of the recording configuration. When the
1162
+ # state is `ACTIVE`, the configuration is ready for recording a
1163
+ # channel stream.
1164
+ # @return [String]
1165
+ #
1166
+ # @!attribute [rw] tags
1167
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
1168
+ # @return [Hash<String,String>]
1169
+ #
1170
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/RecordingConfiguration AWS API Documentation
1171
+ #
1172
+ class RecordingConfiguration < Struct.new(
1173
+ :arn,
1174
+ :name,
1175
+ :destination_configuration,
1176
+ :state,
1177
+ :tags)
1178
+ SENSITIVE = []
1179
+ include Aws::Structure
1180
+ end
1181
+
1182
+ # Summary information about a RecordingConfiguration.
1183
+ #
1184
+ # @!attribute [rw] arn
1185
+ # Recording-configuration ARN.
1186
+ # @return [String]
1187
+ #
1188
+ # @!attribute [rw] name
1189
+ # An arbitrary string (a nickname) assigned to a recording
1190
+ # configuration that helps the customer identify that resource. The
1191
+ # value does not need to be unique.
1192
+ # @return [String]
1193
+ #
1194
+ # @!attribute [rw] destination_configuration
1195
+ # A complex type that contains information about where recorded video
1196
+ # will be stored.
1197
+ # @return [Types::DestinationConfiguration]
1198
+ #
1199
+ # @!attribute [rw] state
1200
+ # Indicates the current state of the recording configuration. When the
1201
+ # state is `ACTIVE`, the configuration is ready for recording a
1202
+ # channel stream.
1203
+ # @return [String]
1204
+ #
1205
+ # @!attribute [rw] tags
1206
+ # Array of 1-50 maps, each of the form `string:string (key:value)`.
1207
+ # @return [Hash<String,String>]
1208
+ #
1209
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/RecordingConfigurationSummary AWS API Documentation
1210
+ #
1211
+ class RecordingConfigurationSummary < Struct.new(
1212
+ :arn,
1213
+ :name,
1214
+ :destination_configuration,
1215
+ :state,
1216
+ :tags)
1217
+ SENSITIVE = []
1218
+ include Aws::Structure
1219
+ end
1220
+
929
1221
  # @!attribute [rw] exception_message
930
1222
  # Request references a resource which does not exist.
931
1223
  # @return [String]
@@ -938,6 +1230,28 @@ module Aws::IVS
938
1230
  include Aws::Structure
939
1231
  end
940
1232
 
1233
+ # A complex type that describes an S3 location where recorded videos
1234
+ # will be stored.
1235
+ #
1236
+ # @note When making an API call, you may pass S3DestinationConfiguration
1237
+ # data as a hash:
1238
+ #
1239
+ # {
1240
+ # bucket_name: "S3DestinationBucketName", # required
1241
+ # }
1242
+ #
1243
+ # @!attribute [rw] bucket_name
1244
+ # Location (S3 bucket name) where recorded videos will be stored.
1245
+ # @return [String]
1246
+ #
1247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/S3DestinationConfiguration AWS API Documentation
1248
+ #
1249
+ class S3DestinationConfiguration < Struct.new(
1250
+ :bucket_name)
1251
+ SENSITIVE = []
1252
+ include Aws::Structure
1253
+ end
1254
+
941
1255
  # @!attribute [rw] exception_message
942
1256
  # Request would cause a service quota to be exceeded.
943
1257
  # @return [String]
@@ -980,8 +1294,8 @@ module Aws::IVS
980
1294
  # @return [String]
981
1295
  #
982
1296
  # @!attribute [rw] playback_url
983
- # URL of the video master manifest, required by the video player to
984
- # play the HLS stream.
1297
+ # URL of the master playlist, required by the video player to play the
1298
+ # HLS stream.
985
1299
  # @return [String]
986
1300
  #
987
1301
  # @!attribute [rw] start_time
@@ -997,7 +1311,8 @@ module Aws::IVS
997
1311
  # @return [String]
998
1312
  #
999
1313
  # @!attribute [rw] viewer_count
1000
- # Number of current viewers of the stream.
1314
+ # Number of current viewers of the stream. A value of -1 indicates
1315
+ # that the request timed out; in this case, retry.
1001
1316
  # @return [Integer]
1002
1317
  #
1003
1318
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/Stream AWS API Documentation
@@ -1081,7 +1396,8 @@ module Aws::IVS
1081
1396
  # @return [String]
1082
1397
  #
1083
1398
  # @!attribute [rw] viewer_count
1084
- # Number of current viewers of the stream.
1399
+ # Number of current viewers of the stream. A value of -1 indicates
1400
+ # that the request timed out; in this case, retry.
1085
1401
  # @return [Integer]
1086
1402
  #
1087
1403
  # @!attribute [rw] start_time
@@ -1193,6 +1509,7 @@ module Aws::IVS
1193
1509
  # latency_mode: "NORMAL", # accepts NORMAL, LOW
1194
1510
  # type: "BASIC", # accepts BASIC, STANDARD
1195
1511
  # authorized: false,
1512
+ # recording_configuration_arn: "ChannelRecordingConfigurationArn",
1196
1513
  # }
1197
1514
  #
1198
1515
  # @!attribute [rw] arn
@@ -1204,13 +1521,16 @@ module Aws::IVS
1204
1521
  # @return [String]
1205
1522
  #
1206
1523
  # @!attribute [rw] latency_mode
1207
- # Channel latency mode. Default: `LOW`.
1524
+ # Channel latency mode. Use `NORMAL` to broadcast and deliver live
1525
+ # video up to Full HD. Use `LOW` for near-real-time interaction with
1526
+ # viewers. (Note: In the Amazon IVS console, `LOW` and `NORMAL`
1527
+ # correspond to Ultra-low and Standard, respectively.)
1208
1528
  # @return [String]
1209
1529
  #
1210
1530
  # @!attribute [rw] type
1211
1531
  # Channel type, which determines the allowable resolution and bitrate.
1212
1532
  # *If you exceed the allowable resolution or bitrate, the stream
1213
- # probably will disconnect immediately.* Valid values:
1533
+ # probably will disconnect immediately*. Valid values:
1214
1534
  #
1215
1535
  # * `STANDARD`\: Multiple qualities are generated from the original
1216
1536
  # input, to automatically give viewers the best experience for their
@@ -1221,14 +1541,18 @@ module Aws::IVS
1221
1541
  # viewer’s video-quality choice is limited to the original input.
1222
1542
  # Vertical resolution can be up to 480 and bitrate can be up to 1.5
1223
1543
  # Mbps.
1224
- #
1225
- # Default: `STANDARD`.
1226
1544
  # @return [String]
1227
1545
  #
1228
1546
  # @!attribute [rw] authorized
1229
- # Whether the channel is authorized. Default: `false`.
1547
+ # Whether the channel is private (enabled for playback authorization).
1230
1548
  # @return [Boolean]
1231
1549
  #
1550
+ # @!attribute [rw] recording_configuration_arn
1551
+ # Recording-configuration ARN. If this is set to an empty string,
1552
+ # recording is disabled. A value other than an empty string indicates
1553
+ # that recording is enabled
1554
+ # @return [String]
1555
+ #
1232
1556
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/UpdateChannelRequest AWS API Documentation
1233
1557
  #
1234
1558
  class UpdateChannelRequest < Struct.new(
@@ -1236,7 +1560,8 @@ module Aws::IVS
1236
1560
  :name,
1237
1561
  :latency_mode,
1238
1562
  :type,
1239
- :authorized)
1563
+ :authorized,
1564
+ :recording_configuration_arn)
1240
1565
  SENSITIVE = []
1241
1566
  include Aws::Structure
1242
1567
  end