aws-sdk-kinesisvideowebrtcstorage 1.18.0 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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