aws-sdk-kinesisvideowebrtcstorage 1.18.0 → 1.20.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: 211394389d81a37b1a2a9109ac94d910acd41594c96580498d9f4c1761bcaf90
4
- data.tar.gz: f6edaae9742f02c84990a95abb66770f9b1222da26967cd7d318563ab34ba264
3
+ metadata.gz: 784ed37cf2d37176fd4ebba74426f2312d001c93ba81261d320172a861ae4f5b
4
+ data.tar.gz: bfb671fc8fe12e836ccc1ba2d8655fc6fc2eb8cbe4e984ab364beb0bf07cf832
5
5
  SHA512:
6
- metadata.gz: 2d486dd558bc2bd40d8a700f495945d3023e0ce5f8ec29013201e5aa63e229d780108abb2054b4801f658c576c9f589df86839507df3a92e66f5d7ec04fd4d5c
7
- data.tar.gz: d1993feb627ec8b81064dd934914835bb5c9ddb62f0f05206ff91c9005230d94105d41da9ab3b9bbb7d51d2203bda83909abec1d1326e70f4b35eef79a51be3f
6
+ metadata.gz: 21e19ffd79c5d0f89b90e40cd5720b238bf5896b515d12ef113ce869195317627a3c049e55f94b26d07cad11944dfa8b422e1a7c5de91f194e9ede29e560fa7e
7
+ data.tar.gz: 6ae091f158b4f96f1b26aa92788aae413c8aabaeb8671e49f2cbfa020c9a8b5a2c581a3dad8087fcb20a8e26385d2e64dd5b835657acb797a1c6df1172cf2bd7
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.20.0 (2024-09-03)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.19.0 (2024-08-05)
10
+ ------------------
11
+
12
+ * Feature - Add JoinStorageSessionAsViewer API
13
+
4
14
  1.18.0 (2024-07-02)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.18.0
1
+ 1.20.0
@@ -32,6 +32,7 @@ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
32
  require 'aws-sdk-core/plugins/request_compression.rb'
33
33
  require 'aws-sdk-core/plugins/defaults_mode.rb'
34
34
  require 'aws-sdk-core/plugins/recursion_detection.rb'
35
+ require 'aws-sdk-core/plugins/telemetry.rb'
35
36
  require 'aws-sdk-core/plugins/sign.rb'
36
37
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
37
38
 
@@ -83,6 +84,7 @@ module Aws::KinesisVideoWebRTCStorage
83
84
  add_plugin(Aws::Plugins::RequestCompression)
84
85
  add_plugin(Aws::Plugins::DefaultsMode)
85
86
  add_plugin(Aws::Plugins::RecursionDetection)
87
+ add_plugin(Aws::Plugins::Telemetry)
86
88
  add_plugin(Aws::Plugins::Sign)
87
89
  add_plugin(Aws::Plugins::Protocols::RestJson)
88
90
  add_plugin(Aws::KinesisVideoWebRTCStorage::Plugins::Endpoints)
@@ -330,6 +332,16 @@ module Aws::KinesisVideoWebRTCStorage
330
332
  # ** Please note ** When response stubbing is enabled, no HTTP
331
333
  # requests are made, and retries are disabled.
332
334
  #
335
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
336
+ # Allows you to provide a telemetry provider, which is used to
337
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
338
+ # will not record or emit any telemetry data. The SDK supports the
339
+ # following telemetry providers:
340
+ #
341
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
342
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
343
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
344
+ #
333
345
  # @option options [Aws::TokenProvider] :token_provider
334
346
  # A Bearer Token Provider. This can be an instance of any one of the
335
347
  # following classes:
@@ -425,6 +437,12 @@ module Aws::KinesisVideoWebRTCStorage
425
437
 
426
438
  # @!group API Operations
427
439
 
440
+ # <note markdown="1"> Before using this API, you must call the `GetSignalingChannelEndpoint`
441
+ # API to request the WEBRTC endpoint. You then specify the endpoint and
442
+ # region in your `JoinStorageSession` API request.
443
+ #
444
+ # </note>
445
+ #
428
446
  # Join the ongoing one way-video and/or multi-way audio WebRTC session
429
447
  # as a video producing device for an input channel. If there’s no
430
448
  # existing session for the channel, a new streaming session needs to be
@@ -432,17 +450,33 @@ module Aws::KinesisVideoWebRTCStorage
432
450
  # must be provided.
433
451
  #
434
452
  # Currently for the `SINGLE_MASTER` type, a video producing device is
435
- # able to ingest both audio and video media into a stream, while viewers
436
- # can only ingest audio. Both a video producing device and viewers can
437
- # join the session first, and wait for other participants.
453
+ # able to ingest both audio and video media into a stream. Only video
454
+ # producing devices can join the session and record media.
438
455
  #
439
- # While participants are having peer to peer conversations through
440
- # webRTC, the ingested media session will be stored into the Kinesis
441
- # Video Stream. Multiple viewers are able to playback real-time media.
456
+ # Both audio and video tracks are currently required for WebRTC
457
+ # ingestion.
442
458
  #
443
- # Customers can also use existing Kinesis Video Streams features like
444
- # `HLS` or `DASH` playback, Image generation, and more with ingested
445
- # WebRTC media.
459
+ # Current requirements:
460
+ #
461
+ # * Video track: H.264
462
+ #
463
+ # * Audio track: Opus
464
+ #
465
+ # The resulting ingested video in the Kinesis video stream will have the
466
+ # following parameters: H.264 video and AAC audio.
467
+ #
468
+ # Once a master participant has negotiated a connection through WebRTC,
469
+ # the ingested media session will be stored in the Kinesis video stream.
470
+ # Multiple viewers are then able to play back real-time media through
471
+ # our Playback APIs.
472
+ #
473
+ # You can also use existing Kinesis Video Streams features like `HLS` or
474
+ # `DASH` playback, image generation via [GetImages][1], and more with
475
+ # ingested WebRTC media.
476
+ #
477
+ # <note markdown="1"> S3 image delivery and notifications are not currently supported.
478
+ #
479
+ # </note>
446
480
  #
447
481
  # <note markdown="1"> Assume that only one video producing device client can be associated
448
482
  # with a session for the channel. If more than one client joins the
@@ -451,6 +485,19 @@ module Aws::KinesisVideoWebRTCStorage
451
485
  #
452
486
  # </note>
453
487
  #
488
+ # **Additional information**
489
+ #
490
+ # * **Idempotent** - This API is not idempotent.
491
+ #
492
+ # * **Retry behavior** - This is counted as a new API call.
493
+ #
494
+ # * **Concurrent calls** - Concurrent calls are allowed. An offer is
495
+ # sent once per each call.
496
+ #
497
+ #
498
+ #
499
+ # [1]: https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/gs-getImages.html
500
+ #
454
501
  # @option params [required, String] :channel_arn
455
502
  # The Amazon Resource Name (ARN) of the signaling channel.
456
503
  #
@@ -471,20 +518,69 @@ module Aws::KinesisVideoWebRTCStorage
471
518
  req.send_request(options)
472
519
  end
473
520
 
521
+ # Join the ongoing one way-video and/or multi-way audio WebRTC session
522
+ # as a viewer for an input channel. If there’s no existing session for
523
+ # the channel, create a new streaming session and provide the Amazon
524
+ # Resource Name (ARN) of the signaling channel (`channelArn`) and client
525
+ # id (`clientId`).
526
+ #
527
+ # Currently for `SINGLE_MASTER` type, a video producing device is able
528
+ # to ingest both audio and video media into a stream, while viewers can
529
+ # only ingest audio. Both a video producing device and viewers can join
530
+ # a session first and wait for other participants. While participants
531
+ # are having peer to peer conversations through WebRTC, the ingested
532
+ # media session will be stored into the Kinesis Video Stream. Multiple
533
+ # viewers are able to playback real-time media.
534
+ #
535
+ # Customers can also use existing Kinesis Video Streams features like
536
+ # `HLS` or `DASH` playback, Image generation, and more with ingested
537
+ # WebRTC media. If there’s an existing session with the same `clientId`
538
+ # that's found in the join session request, the new request takes
539
+ # precedence.
540
+ #
541
+ # @option params [required, String] :channel_arn
542
+ # The Amazon Resource Name (ARN) of the signaling channel.
543
+ #
544
+ # @option params [required, String] :client_id
545
+ # The unique identifier for the sender client.
546
+ #
547
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
548
+ #
549
+ # @example Request syntax with placeholder values
550
+ #
551
+ # resp = client.join_storage_session_as_viewer({
552
+ # channel_arn: "ChannelArn", # required
553
+ # client_id: "ClientId", # required
554
+ # })
555
+ #
556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-webrtc-storage-2018-05-10/JoinStorageSessionAsViewer AWS API Documentation
557
+ #
558
+ # @overload join_storage_session_as_viewer(params = {})
559
+ # @param [Hash] params ({})
560
+ def join_storage_session_as_viewer(params = {}, options = {})
561
+ req = build_request(:join_storage_session_as_viewer, params)
562
+ req.send_request(options)
563
+ end
564
+
474
565
  # @!endgroup
475
566
 
476
567
  # @param params ({})
477
568
  # @api private
478
569
  def build_request(operation_name, params = {})
479
570
  handlers = @handlers.for(operation_name)
571
+ tracer = config.telemetry_provider.tracer_provider.tracer(
572
+ Aws::Telemetry.module_to_tracer_name('Aws::KinesisVideoWebRTCStorage')
573
+ )
480
574
  context = Seahorse::Client::RequestContext.new(
481
575
  operation_name: operation_name,
482
576
  operation: config.api.operation(operation_name),
483
577
  client: self,
484
578
  params: params,
485
- config: config)
579
+ config: config,
580
+ tracer: tracer
581
+ )
486
582
  context[:gem_name] = 'aws-sdk-kinesisvideowebrtcstorage'
487
- context[:gem_version] = '1.18.0'
583
+ context[:gem_version] = '1.20.0'
488
584
  Seahorse::Client::Request.new(handlers, context)
489
585
  end
490
586
 
@@ -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.18.0'
55
+ GEM_VERSION = '1.20.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -50,6 +50,7 @@ module Aws
50
50
  ?session_token: String,
51
51
  ?sigv4a_signing_region_set: Array[String],
52
52
  ?stub_responses: untyped,
53
+ ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase,
53
54
  ?token_provider: untyped,
54
55
  ?use_dualstack_endpoint: bool,
55
56
  ?use_fips_endpoint: bool,
@@ -78,6 +79,13 @@ module Aws
78
79
  channel_arn: ::String
79
80
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
80
81
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
82
+
83
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/KinesisVideoWebRTCStorage/Client.html#join_storage_session_as_viewer-instance_method
84
+ def join_storage_session_as_viewer: (
85
+ channel_arn: ::String,
86
+ client_id: ::String
87
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
88
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
81
89
  end
82
90
  end
83
91
  end
data/sig/resource.rbs CHANGED
@@ -50,6 +50,7 @@ module Aws
50
50
  ?session_token: String,
51
51
  ?sigv4a_signing_region_set: Array[String],
52
52
  ?stub_responses: untyped,
53
+ ?telemetry_provider: Aws::Telemetry::TelemetryProviderBase,
53
54
  ?token_provider: untyped,
54
55
  ?use_dualstack_endpoint: bool,
55
56
  ?use_fips_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.18.0
4
+ version: 1.20.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-07-02 00:00:00.000000000 Z
11
+ date: 2024-09-03 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.201.0
22
+ version: 3.203.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.201.0
32
+ version: 3.203.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement