aws-sdk-kinesisvideowebrtcstorage 1.17.0 → 1.19.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: 252a17abd5e7d2d2cfbfd62f735d4465a6f34aadc94a2191d89c59519209d422
4
- data.tar.gz: 664a4ea732ff89bb1bf34367788c6d109df3ab73ba9a4ae7406f65dbf5d40cb7
3
+ metadata.gz: 30c9c0b511c1731dc410a26304e74e5bf73aef20345e15ad41a670bd3e9f294e
4
+ data.tar.gz: a19e779a03a04701a8c33844303fb0341b373700df476d604ab4117eb34e2279
5
5
  SHA512:
6
- metadata.gz: c2acfe0197100b907614712983aa941f4f698ada6470fe82d1aa19d59f729b7cd42bfdb56ba5435b814b8c7cdee79db49bee83c055820bc2b9517670356633c0
7
- data.tar.gz: 9f2fcd20ac362831d924856a766383695f53f8fed1c3b5be71910d9f39633047613b93f913f68e4fc2fc8ac22727c8cd7cb55209bbe16c27a0bb7a5baa3846c9
6
+ metadata.gz: cfd231aba805986ec45c4af58f58809449f21e076e921b9322fdf306fd5371d2a09b657a3e085102b76c0f5f00fb25b78e6151bf0ad40990e22c955b8abe9190
7
+ data.tar.gz: 51cfeb6475d9fd37ab9143baae9965875e96add9280c75a926ff21abb22d848d573af7880fd68e21dbdcbef8a73fecdc5099974906c0cc4dfeef480e0a65e96f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.19.0 (2024-08-05)
5
+ ------------------
6
+
7
+ * Feature - Add JoinStorageSessionAsViewer API
8
+
9
+ 1.18.0 (2024-07-02)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.17.0 (2024-06-25)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.17.0
1
+ 1.19.0
@@ -312,6 +312,15 @@ module Aws::KinesisVideoWebRTCStorage
312
312
  #
313
313
  # @option options [String] :session_token
314
314
  #
315
+ # @option options [Array] :sigv4a_signing_region_set
316
+ # A list of regions that should be signed with SigV4a signing. When
317
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
318
+ # in the following locations:
319
+ #
320
+ # * `Aws.config[:sigv4a_signing_region_set]`
321
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
322
+ # * `~/.aws/config`
323
+ #
315
324
  # @option options [Boolean] :stub_responses (false)
316
325
  # Causes the client to return stubbed responses. By default
317
326
  # fake responses are generated and returned. You can specify
@@ -416,6 +425,12 @@ module Aws::KinesisVideoWebRTCStorage
416
425
 
417
426
  # @!group API Operations
418
427
 
428
+ # <note markdown="1"> Before using this API, you must call the `GetSignalingChannelEndpoint`
429
+ # API to request the WEBRTC endpoint. You then specify the endpoint and
430
+ # region in your `JoinStorageSession` API request.
431
+ #
432
+ # </note>
433
+ #
419
434
  # Join the ongoing one way-video and/or multi-way audio WebRTC session
420
435
  # as a video producing device for an input channel. If there’s no
421
436
  # existing session for the channel, a new streaming session needs to be
@@ -423,17 +438,33 @@ module Aws::KinesisVideoWebRTCStorage
423
438
  # must be provided.
424
439
  #
425
440
  # Currently for the `SINGLE_MASTER` type, a video producing device is
426
- # able to ingest both audio and video media into a stream, while viewers
427
- # can only ingest audio. Both a video producing device and viewers can
428
- # join the session first, and wait for other participants.
441
+ # able to ingest both audio and video media into a stream. Only video
442
+ # producing devices can join the session and record media.
429
443
  #
430
- # While participants are having peer to peer conversations through
431
- # webRTC, the ingested media session will be stored into the Kinesis
432
- # Video Stream. Multiple viewers are able to playback real-time media.
444
+ # Both audio and video tracks are currently required for WebRTC
445
+ # ingestion.
433
446
  #
434
- # Customers can also use existing Kinesis Video Streams features like
435
- # `HLS` or `DASH` playback, Image generation, and more with ingested
436
- # WebRTC media.
447
+ # Current requirements:
448
+ #
449
+ # * Video track: H.264
450
+ #
451
+ # * Audio track: Opus
452
+ #
453
+ # The resulting ingested video in the Kinesis video stream will have the
454
+ # following parameters: H.264 video and AAC audio.
455
+ #
456
+ # Once a master participant has negotiated a connection through WebRTC,
457
+ # the ingested media session will be stored in the Kinesis video stream.
458
+ # Multiple viewers are then able to play back real-time media through
459
+ # our Playback APIs.
460
+ #
461
+ # You can also use existing Kinesis Video Streams features like `HLS` or
462
+ # `DASH` playback, image generation via [GetImages][1], and more with
463
+ # ingested WebRTC media.
464
+ #
465
+ # <note markdown="1"> S3 image delivery and notifications are not currently supported.
466
+ #
467
+ # </note>
437
468
  #
438
469
  # <note markdown="1"> Assume that only one video producing device client can be associated
439
470
  # with a session for the channel. If more than one client joins the
@@ -442,6 +473,19 @@ module Aws::KinesisVideoWebRTCStorage
442
473
  #
443
474
  # </note>
444
475
  #
476
+ # **Additional information**
477
+ #
478
+ # * **Idempotent** - This API is not idempotent.
479
+ #
480
+ # * **Retry behavior** - This is counted as a new API call.
481
+ #
482
+ # * **Concurrent calls** - Concurrent calls are allowed. An offer is
483
+ # sent once per each call.
484
+ #
485
+ #
486
+ #
487
+ # [1]: https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html
488
+ #
445
489
  # @option params [required, String] :channel_arn
446
490
  # The Amazon Resource Name (ARN) of the signaling channel.
447
491
  #
@@ -462,6 +506,50 @@ module Aws::KinesisVideoWebRTCStorage
462
506
  req.send_request(options)
463
507
  end
464
508
 
509
+ # Join the ongoing one way-video and/or multi-way audio WebRTC session
510
+ # as a viewer for an input channel. If there’s no existing session for
511
+ # the channel, create a new streaming session and provide the Amazon
512
+ # Resource Name (ARN) of the signaling channel (`channelArn`) and client
513
+ # id (`clientId`).
514
+ #
515
+ # Currently for `SINGLE_MASTER` type, a video producing device is able
516
+ # to ingest both audio and video media into a stream, while viewers can
517
+ # only ingest audio. Both a video producing device and viewers can join
518
+ # a session first and wait for other participants. While participants
519
+ # are having peer to peer conversations through WebRTC, the ingested
520
+ # media session will be stored into the Kinesis Video Stream. Multiple
521
+ # viewers are able to playback real-time media.
522
+ #
523
+ # Customers can also use existing Kinesis Video Streams features like
524
+ # `HLS` or `DASH` playback, Image generation, and more with ingested
525
+ # WebRTC media. If there’s an existing session with the same `clientId`
526
+ # that's found in the join session request, the new request takes
527
+ # precedence.
528
+ #
529
+ # @option params [required, String] :channel_arn
530
+ # The Amazon Resource Name (ARN) of the signaling channel.
531
+ #
532
+ # @option params [required, String] :client_id
533
+ # The unique identifier for the sender client.
534
+ #
535
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
536
+ #
537
+ # @example Request syntax with placeholder values
538
+ #
539
+ # resp = client.join_storage_session_as_viewer({
540
+ # channel_arn: "ChannelArn", # required
541
+ # client_id: "ClientId", # required
542
+ # })
543
+ #
544
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer AWS API Documentation
545
+ #
546
+ # @overload join_storage_session_as_viewer(params = {})
547
+ # @param [Hash] params ({})
548
+ def join_storage_session_as_viewer(params = {}, options = {})
549
+ req = build_request(:join_storage_session_as_viewer, params)
550
+ req.send_request(options)
551
+ end
552
+
465
553
  # @!endgroup
466
554
 
467
555
  # @param params ({})
@@ -475,7 +563,7 @@ module Aws::KinesisVideoWebRTCStorage
475
563
  params: params,
476
564
  config: config)
477
565
  context[:gem_name] = 'aws-sdk-kinesisvideowebrtcstorage'
478
- context[:gem_version] = '1.17.0'
566
+ context[:gem_version] = '1.19.0'
479
567
  Seahorse::Client::Request.new(handlers, context)
480
568
  end
481
569
 
@@ -15,8 +15,10 @@ module Aws::KinesisVideoWebRTCStorage
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
17
  ChannelArn = Shapes::StringShape.new(name: 'ChannelArn')
18
+ ClientId = Shapes::StringShape.new(name: 'ClientId')
18
19
  ClientLimitExceededException = Shapes::StructureShape.new(name: 'ClientLimitExceededException')
19
20
  InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
21
+ JoinStorageSessionAsViewerInput = Shapes::StructureShape.new(name: 'JoinStorageSessionAsViewerInput')
20
22
  JoinStorageSessionInput = Shapes::StructureShape.new(name: 'JoinStorageSessionInput')
21
23
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
22
24
  String = Shapes::StringShape.new(name: 'String')
@@ -30,6 +32,10 @@ module Aws::KinesisVideoWebRTCStorage
30
32
  InvalidArgumentException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
31
33
  InvalidArgumentException.struct_class = Types::InvalidArgumentException
32
34
 
35
+ JoinStorageSessionAsViewerInput.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
36
+ JoinStorageSessionAsViewerInput.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location_name: "clientId"))
37
+ JoinStorageSessionAsViewerInput.struct_class = Types::JoinStorageSessionAsViewerInput
38
+
33
39
  JoinStorageSessionInput.add_member(:channel_arn, Shapes::ShapeRef.new(shape: ChannelArn, required: true, location_name: "channelArn"))
34
40
  JoinStorageSessionInput.struct_class = Types::JoinStorageSessionInput
35
41
 
@@ -65,6 +71,18 @@ module Aws::KinesisVideoWebRTCStorage
65
71
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
66
72
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
67
73
  end)
74
+
75
+ api.add_operation(:join_storage_session_as_viewer, Seahorse::Model::Operation.new.tap do |o|
76
+ o.name = "JoinStorageSessionAsViewer"
77
+ o.http_method = "POST"
78
+ o.http_request_uri = "/joinStorageSessionAsViewer"
79
+ o.input = Shapes::ShapeRef.new(shape: JoinStorageSessionAsViewerInput)
80
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
81
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
82
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
83
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
84
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
85
+ end)
68
86
  end
69
87
 
70
88
  end
@@ -32,7 +32,7 @@ module Aws::KinesisVideoWebRTCStorage
32
32
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
33
  end
34
34
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
36
  return Aws::Endpoints::Endpoint.new(url: "https://kinesisvideo-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
37
  end
38
38
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
@@ -26,5 +26,19 @@ module Aws::KinesisVideoWebRTCStorage
26
26
  end
27
27
  end
28
28
 
29
+ class JoinStorageSessionAsViewer
30
+ def self.build(context)
31
+ unless context.config.regional_endpoint
32
+ endpoint = context.config.endpoint.to_s
33
+ end
34
+ Aws::KinesisVideoWebRTCStorage::EndpointParameters.new(
35
+ region: context.config.region,
36
+ use_dual_stack: context.config.use_dualstack_endpoint,
37
+ use_fips: context.config.use_fips_endpoint,
38
+ endpoint: endpoint,
39
+ )
40
+ end
41
+ end
42
+
29
43
  end
30
44
  end
@@ -60,6 +60,8 @@ module Aws::KinesisVideoWebRTCStorage
60
60
  case context.operation_name
61
61
  when :join_storage_session
62
62
  Aws::KinesisVideoWebRTCStorage::Endpoints::JoinStorageSession.build(context)
63
+ when :join_storage_session_as_viewer
64
+ Aws::KinesisVideoWebRTCStorage::Endpoints::JoinStorageSessionAsViewer.build(context)
63
65
  end
64
66
  end
65
67
  end
@@ -50,6 +50,23 @@ module Aws::KinesisVideoWebRTCStorage
50
50
  include Aws::Structure
51
51
  end
52
52
 
53
+ # @!attribute [rw] channel_arn
54
+ # The Amazon Resource Name (ARN) of the signaling channel.
55
+ # @return [String]
56
+ #
57
+ # @!attribute [rw] client_id
58
+ # The unique identifier for the sender client.
59
+ # @return [String]
60
+ #
61
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewerInput AWS API Documentation
62
+ #
63
+ class JoinStorageSessionAsViewerInput < Struct.new(
64
+ :channel_arn,
65
+ :client_id)
66
+ SENSITIVE = []
67
+ include Aws::Structure
68
+ end
69
+
53
70
  # @!attribute [rw] channel_arn
54
71
  # The Amazon Resource Name (ARN) of the signaling channel.
55
72
  # @return [String]
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-kinesisvideowebrtcstorage/customizations'
52
52
  # @!group service
53
53
  module Aws::KinesisVideoWebRTCStorage
54
54
 
55
- GEM_VERSION = '1.17.0'
55
+ GEM_VERSION = '1.19.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -48,6 +48,7 @@ module Aws
48
48
  ?sdk_ua_app_id: String,
49
49
  ?secret_access_key: String,
50
50
  ?session_token: String,
51
+ ?sigv4a_signing_region_set: Array[String],
51
52
  ?stub_responses: untyped,
52
53
  ?token_provider: untyped,
53
54
  ?use_dualstack_endpoint: bool,
@@ -77,6 +78,13 @@ module Aws
77
78
  channel_arn: ::String
78
79
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
79
80
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
81
+
82
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KinesisVideoWebRTCStorage/Client.html#join_storage_session_as_viewer-instance_method
83
+ def join_storage_session_as_viewer: (
84
+ channel_arn: ::String,
85
+ client_id: ::String
86
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
87
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
80
88
  end
81
89
  end
82
90
  end
data/sig/resource.rbs CHANGED
@@ -48,6 +48,7 @@ module Aws
48
48
  ?sdk_ua_app_id: String,
49
49
  ?secret_access_key: String,
50
50
  ?session_token: String,
51
+ ?sigv4a_signing_region_set: Array[String],
51
52
  ?stub_responses: untyped,
52
53
  ?token_provider: untyped,
53
54
  ?use_dualstack_endpoint: bool,
data/sig/types.rbs CHANGED
@@ -23,6 +23,12 @@ module Aws::KinesisVideoWebRTCStorage
23
23
  SENSITIVE: []
24
24
  end
25
25
 
26
+ class JoinStorageSessionAsViewerInput
27
+ attr_accessor channel_arn: ::String
28
+ attr_accessor client_id: ::String
29
+ SENSITIVE: []
30
+ end
31
+
26
32
  class JoinStorageSessionInput
27
33
  attr_accessor channel_arn: ::String
28
34
  SENSITIVE: []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kinesisvideowebrtcstorage
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.17.0
4
+ version: 1.19.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: 2024-06-25 00:00:00.000000000 Z
11
+ date: 2024-08-05 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.199.0
22
+ version: 3.201.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.199.0
32
+ version: 3.201.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement