aws-sdk-ivsrealtime 1.25.0 → 1.27.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: 4f87d5b1142a31a8dcfee673918c4f804bf4f0a16dc0a4d53592b91942fa56d7
4
- data.tar.gz: 7fd9a5ae9339db3732f91c433739d4b01a9a79aa839cdf8bebbaf237872dcd82
3
+ metadata.gz: 662e519299034296d19947169e061c2b72aa36f0920daa4b49c2a6d71d6a3066
4
+ data.tar.gz: '08446d6e3835fd3b619d85f659ac28ca599552c1b5068ee42298551dbbf34a2d'
5
5
  SHA512:
6
- metadata.gz: f0d4c8019e2c70cd8facca56ff13321187dedf796216a42214ce124321ee14f648652aabe1f9788d3ef5ebdb25402067f5a27f6b3095753ec88faf90eabb8c09
7
- data.tar.gz: 76d826398606069f0cc8b2e70fb4977a9592837e963fe7a0a64522f1c159fecf58593ca08b793bcc339babfcd43f7b57f0ad063d2d54a86f1638ffd6ca794441
6
+ metadata.gz: e97ef51242cf205dbd37d1395829a29816a723865b839ad3794c0d927432acb0afd186bdcf04a79ba04f021b9b03bb3430a82c606e61ba02a0f5e7df8a51ffe9
7
+ data.tar.gz: 03f6ba8e03f9723426440dd17cdc50844fd7b5f0405d9412560f9f518618f7b48ee3b39be137b89c98e25ab54146499ba9839b2585f1648ac5be46739c1a7954
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.27.0 (2024-09-09)
5
+ ------------------
6
+
7
+ * Feature - IVS Real-Time now offers customers the ability to broadcast to Stages using RTMP(S).
8
+
9
+ 1.26.0 (2024-09-03)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.25.0 (2024-08-02)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.25.0
1
+ 1.27.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::IVSRealTime
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::IVSRealTime::Plugins::Endpoints)
@@ -330,6 +332,16 @@ module Aws::IVSRealTime
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:
@@ -436,14 +448,15 @@ module Aws::IVSRealTime
436
448
  #
437
449
  # @option params [Hash<String,String>] :tags
438
450
  # Tags attached to the resource. Array of maps, each of the form
439
- # `string:string (key:value)`. See [Tagging AWS Resources][1] for
440
- # details, including restrictions that apply to tags and "Tag naming
441
- # limits and requirements"; Amazon IVS has no constraints on tags
442
- # beyond what is documented there.
451
+ # `string:string (key:value)`. See [Best practices and strategies][1] in
452
+ # *Tagging AWS Resources and Tag Editor* for details, including
453
+ # restrictions that apply to tags and "Tag naming limits and
454
+ # requirements"; Amazon IVS has no constraints on tags beyond what is
455
+ # documented there.
443
456
  #
444
457
  #
445
458
  #
446
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
459
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html
447
460
  #
448
461
  # @return [Types::CreateEncoderConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
449
462
  #
@@ -484,6 +497,95 @@ module Aws::IVSRealTime
484
497
  req.send_request(options)
485
498
  end
486
499
 
500
+ # Creates a new IngestConfiguration resource, used to specify the ingest
501
+ # protocol for a stage.
502
+ #
503
+ # @option params [String] :name
504
+ # Optional name that can be specified for the IngestConfiguration being
505
+ # created.
506
+ #
507
+ # @option params [String] :stage_arn
508
+ # ARN of the stage with which the IngestConfiguration is associated.
509
+ #
510
+ # @option params [String] :user_id
511
+ # Customer-assigned name to help identify the participant using the
512
+ # IngestConfiguration; this can be used to link a participant to a user
513
+ # in the customer’s own systems. This can be any UTF-8 encoded text.
514
+ # *This field is exposed to all stage participants and should not be
515
+ # used for personally identifying, confidential, or sensitive
516
+ # information.*
517
+ #
518
+ # @option params [Hash<String,String>] :attributes
519
+ # Application-provided attributes to store in the IngestConfiguration
520
+ # and attach to a stage. Map keys and values can contain UTF-8 encoded
521
+ # text. The maximum length of this field is 1 KB total. *This field is
522
+ # exposed to all stage participants and should not be used for
523
+ # personally identifying, confidential, or sensitive information.*
524
+ #
525
+ # @option params [required, String] :ingest_protocol
526
+ # Type of ingest protocol that the user employs to broadcast. If this is
527
+ # set to `RTMP`, `insecureIngest` must be set to `true`.
528
+ #
529
+ # @option params [Boolean] :insecure_ingest
530
+ # Whether the stage allows insecure RTMP ingest. This must be set to
531
+ # `true`, if `ingestProtocol` is set to `RTMP`. Default: `false`.
532
+ #
533
+ # @option params [Hash<String,String>] :tags
534
+ # Tags attached to the resource. Array of maps, each of the form
535
+ # `string:string (key:value)`. See [Best practices and strategies][1] in
536
+ # *Tagging AWS Resources and Tag Editor* for details, including
537
+ # restrictions that apply to tags and "Tag naming limits and
538
+ # requirements"; Amazon IVS has no constraints on tags beyond what is
539
+ # documented there.
540
+ #
541
+ #
542
+ #
543
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html
544
+ #
545
+ # @return [Types::CreateIngestConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
546
+ #
547
+ # * {Types::CreateIngestConfigurationResponse#ingest_configuration #ingest_configuration} => Types::IngestConfiguration
548
+ #
549
+ # @example Request syntax with placeholder values
550
+ #
551
+ # resp = client.create_ingest_configuration({
552
+ # name: "IngestConfigurationName",
553
+ # stage_arn: "IngestConfigurationStageArn",
554
+ # user_id: "UserId",
555
+ # attributes: {
556
+ # "String" => "String",
557
+ # },
558
+ # ingest_protocol: "RTMP", # required, accepts RTMP, RTMPS
559
+ # insecure_ingest: false,
560
+ # tags: {
561
+ # "TagKey" => "TagValue",
562
+ # },
563
+ # })
564
+ #
565
+ # @example Response structure
566
+ #
567
+ # resp.ingest_configuration.name #=> String
568
+ # resp.ingest_configuration.arn #=> String
569
+ # resp.ingest_configuration.ingest_protocol #=> String, one of "RTMP", "RTMPS"
570
+ # resp.ingest_configuration.stream_key #=> String
571
+ # resp.ingest_configuration.stage_arn #=> String
572
+ # resp.ingest_configuration.participant_id #=> String
573
+ # resp.ingest_configuration.state #=> String, one of "ACTIVE", "INACTIVE"
574
+ # resp.ingest_configuration.user_id #=> String
575
+ # resp.ingest_configuration.attributes #=> Hash
576
+ # resp.ingest_configuration.attributes["String"] #=> String
577
+ # resp.ingest_configuration.tags #=> Hash
578
+ # resp.ingest_configuration.tags["TagKey"] #=> String
579
+ #
580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/CreateIngestConfiguration AWS API Documentation
581
+ #
582
+ # @overload create_ingest_configuration(params = {})
583
+ # @param [Hash] params ({})
584
+ def create_ingest_configuration(params = {}, options = {})
585
+ req = build_request(:create_ingest_configuration, params)
586
+ req.send_request(options)
587
+ end
588
+
487
589
  # Creates an additional token for a specified stage. This can be done
488
590
  # after stage creation or when tokens expire. Tokens always are scoped
489
591
  # to the stage for which they are created.
@@ -563,14 +665,15 @@ module Aws::IVSRealTime
563
665
  #
564
666
  # @option params [Hash<String,String>] :tags
565
667
  # Tags attached to the resource. Array of maps, each of the form
566
- # `string:string (key:value)`. See [Tagging AWS Resources][1] for
567
- # details, including restrictions that apply to tags and "Tag naming
568
- # limits and requirements"; Amazon IVS has no constraints on tags
569
- # beyond what is documented there.
668
+ # `string:string (key:value)`. See [Best practices and strategies][1] in
669
+ # *Tagging AWS Resources and Tag Editor* for details, including
670
+ # restrictions that apply to tags and "Tag naming limits and
671
+ # requirements"; Amazon IVS has no constraints on tags beyond what is
672
+ # documented there.
570
673
  #
571
674
  #
572
675
  #
573
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
676
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html
574
677
  #
575
678
  # @option params [Types::AutoParticipantRecordingConfiguration] :auto_participant_recording_configuration
576
679
  # Configuration object for individual participant recording, to attach
@@ -616,6 +719,8 @@ module Aws::IVSRealTime
616
719
  # resp.stage.auto_participant_recording_configuration.media_types[0] #=> String, one of "AUDIO_VIDEO", "AUDIO_ONLY"
617
720
  # resp.stage.endpoints.events #=> String
618
721
  # resp.stage.endpoints.whip #=> String
722
+ # resp.stage.endpoints.rtmp #=> String
723
+ # resp.stage.endpoints.rtmps #=> String
619
724
  # resp.participant_tokens #=> Array
620
725
  # resp.participant_tokens[0].participant_id #=> String
621
726
  # resp.participant_tokens[0].token #=> String
@@ -650,14 +755,15 @@ module Aws::IVSRealTime
650
755
  #
651
756
  # @option params [Hash<String,String>] :tags
652
757
  # Tags attached to the resource. Array of maps, each of the form
653
- # `string:string (key:value)`. See [Tagging AWS Resources][1] for
654
- # details, including restrictions that apply to tags and "Tag naming
655
- # limits and requirements"; Amazon IVS has no constraints on tags
656
- # beyond what is documented there.
758
+ # `string:string (key:value)`. See [Best practices and strategies][1] in
759
+ # *Tagging AWS Resources and Tag Editor* for details, including
760
+ # restrictions that apply to tags and "Tag naming limits and
761
+ # requirements"; Amazon IVS has no constraints on tags beyond what is
762
+ # documented there.
657
763
  #
658
764
  #
659
765
  #
660
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
766
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html
661
767
  #
662
768
  # @return [Types::CreateStorageConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
663
769
  #
@@ -715,6 +821,38 @@ module Aws::IVSRealTime
715
821
  req.send_request(options)
716
822
  end
717
823
 
824
+ # Deletes a specified IngestConfiguration, so it can no longer be used
825
+ # to broadcast. An IngestConfiguration cannot be deleted if the
826
+ # publisher is actively streaming to a stage, unless `force` is set to
827
+ # `true`.
828
+ #
829
+ # @option params [required, String] :arn
830
+ # ARN of the IngestConfiguration.
831
+ #
832
+ # @option params [Boolean] :force
833
+ # Optional field to force deletion of the IngestConfiguration. If this
834
+ # is set to `true` when a participant is actively publishing, the
835
+ # participant is disconnected from the stage, followed by deletion of
836
+ # the IngestConfiguration. Default: `false`.
837
+ #
838
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
839
+ #
840
+ # @example Request syntax with placeholder values
841
+ #
842
+ # resp = client.delete_ingest_configuration({
843
+ # arn: "IngestConfigurationArn", # required
844
+ # force: false,
845
+ # })
846
+ #
847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/DeleteIngestConfiguration AWS API Documentation
848
+ #
849
+ # @overload delete_ingest_configuration(params = {})
850
+ # @param [Hash] params ({})
851
+ def delete_ingest_configuration(params = {}, options = {})
852
+ req = build_request(:delete_ingest_configuration, params)
853
+ req.send_request(options)
854
+ end
855
+
718
856
  # Deletes the specified public key used to sign stage participant
719
857
  # tokens. This invalidates future participant tokens generated using the
720
858
  # key pair’s private key.
@@ -740,7 +878,9 @@ module Aws::IVSRealTime
740
878
  end
741
879
 
742
880
  # Shuts down and deletes the specified stage (disconnecting all
743
- # participants).
881
+ # participants). This operation also removes the `stageArn` from the
882
+ # associated IngestConfiguration, if there are participants using the
883
+ # IngestConfiguration to publish to the stage.
744
884
  #
745
885
  # @option params [required, String] :arn
746
886
  # ARN of the stage to be deleted.
@@ -790,15 +930,18 @@ module Aws::IVSRealTime
790
930
  req.send_request(options)
791
931
  end
792
932
 
793
- # Disconnects a specified participant and revokes the participant
794
- # permanently from a specified stage.
933
+ # Disconnects a specified participant from a specified stage. If the
934
+ # participant is publishing using an IngestConfiguration,
935
+ # DisconnectParticipant also updates the `stageArn` in the
936
+ # IngestConfiguration to be an empty string.
795
937
  #
796
938
  # @option params [required, String] :stage_arn
797
939
  # ARN of the stage to which the participant is attached.
798
940
  #
799
941
  # @option params [required, String] :participant_id
800
- # Identifier of the participant to be disconnected. This is assigned by
801
- # IVS and returned by CreateParticipantToken.
942
+ # Identifier of the participant to be disconnected. IVS assigns this; it
943
+ # is returned by CreateParticipantToken (for streams using WebRTC
944
+ # ingest) or CreateIngestConfiguration (for streams using RTMP ingest).
802
945
  #
803
946
  # @option params [String] :reason
804
947
  # Description of why this participant is being disconnected.
@@ -919,6 +1062,45 @@ module Aws::IVSRealTime
919
1062
  req.send_request(options)
920
1063
  end
921
1064
 
1065
+ # Gets information about the specified IngestConfiguration.
1066
+ #
1067
+ # @option params [required, String] :arn
1068
+ # ARN of the ingest for which the information is to be retrieved.
1069
+ #
1070
+ # @return [Types::GetIngestConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1071
+ #
1072
+ # * {Types::GetIngestConfigurationResponse#ingest_configuration #ingest_configuration} => Types::IngestConfiguration
1073
+ #
1074
+ # @example Request syntax with placeholder values
1075
+ #
1076
+ # resp = client.get_ingest_configuration({
1077
+ # arn: "IngestConfigurationArn", # required
1078
+ # })
1079
+ #
1080
+ # @example Response structure
1081
+ #
1082
+ # resp.ingest_configuration.name #=> String
1083
+ # resp.ingest_configuration.arn #=> String
1084
+ # resp.ingest_configuration.ingest_protocol #=> String, one of "RTMP", "RTMPS"
1085
+ # resp.ingest_configuration.stream_key #=> String
1086
+ # resp.ingest_configuration.stage_arn #=> String
1087
+ # resp.ingest_configuration.participant_id #=> String
1088
+ # resp.ingest_configuration.state #=> String, one of "ACTIVE", "INACTIVE"
1089
+ # resp.ingest_configuration.user_id #=> String
1090
+ # resp.ingest_configuration.attributes #=> Hash
1091
+ # resp.ingest_configuration.attributes["String"] #=> String
1092
+ # resp.ingest_configuration.tags #=> Hash
1093
+ # resp.ingest_configuration.tags["TagKey"] #=> String
1094
+ #
1095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetIngestConfiguration AWS API Documentation
1096
+ #
1097
+ # @overload get_ingest_configuration(params = {})
1098
+ # @param [Hash] params ({})
1099
+ def get_ingest_configuration(params = {}, options = {})
1100
+ req = build_request(:get_ingest_configuration, params)
1101
+ req.send_request(options)
1102
+ end
1103
+
922
1104
  # Gets information about the specified participant token.
923
1105
  #
924
1106
  # @option params [required, String] :stage_arn
@@ -961,6 +1143,7 @@ module Aws::IVSRealTime
961
1143
  # resp.participant.recording_s3_bucket_name #=> String
962
1144
  # resp.participant.recording_s3_prefix #=> String
963
1145
  # resp.participant.recording_state #=> String, one of "STARTING", "ACTIVE", "STOPPING", "STOPPED", "FAILED", "DISABLED"
1146
+ # resp.participant.protocol #=> String, one of "UNKNOWN", "WHIP", "RTMP", "RTMPS"
964
1147
  #
965
1148
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetParticipant AWS API Documentation
966
1149
  #
@@ -1031,6 +1214,8 @@ module Aws::IVSRealTime
1031
1214
  # resp.stage.auto_participant_recording_configuration.media_types[0] #=> String, one of "AUDIO_VIDEO", "AUDIO_ONLY"
1032
1215
  # resp.stage.endpoints.events #=> String
1033
1216
  # resp.stage.endpoints.whip #=> String
1217
+ # resp.stage.endpoints.rtmp #=> String
1218
+ # resp.stage.endpoints.rtmps #=> String
1034
1219
  #
1035
1220
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetStage AWS API Documentation
1036
1221
  #
@@ -1117,14 +1302,15 @@ module Aws::IVSRealTime
1117
1302
  #
1118
1303
  # @option params [Hash<String,String>] :tags
1119
1304
  # Tags attached to the resource. Array of maps, each of the form
1120
- # `string:string (key:value)`. See [Tagging AWS Resources][1] for
1121
- # details, including restrictions that apply to tags and "Tag naming
1122
- # limits and requirements"; Amazon IVS has no constraints on tags
1123
- # beyond what is documented there.
1305
+ # `string:string (key:value)`. See [Best practices and strategies][1] in
1306
+ # *Tagging AWS Resources and Tag Editor* for details, including
1307
+ # restrictions that apply to tags and "Tag naming limits and
1308
+ # requirements"; Amazon IVS has no constraints on tags beyond what is
1309
+ # documented there.
1124
1310
  #
1125
1311
  #
1126
1312
  #
1127
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1313
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html
1128
1314
  #
1129
1315
  # @return [Types::ImportPublicKeyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1130
1316
  #
@@ -1259,6 +1445,61 @@ module Aws::IVSRealTime
1259
1445
  req.send_request(options)
1260
1446
  end
1261
1447
 
1448
+ # Lists all IngestConfigurations in your account, in the AWS region
1449
+ # where the API request is processed.
1450
+ #
1451
+ # @option params [String] :filter_by_stage_arn
1452
+ # Filters the response list to match the specified stage ARN. Only one
1453
+ # filter (by stage ARN or by state) can be used at a time.
1454
+ #
1455
+ # @option params [String] :filter_by_state
1456
+ # Filters the response list to match the specified state. Only one
1457
+ # filter (by stage ARN or by state) can be used at a time.
1458
+ #
1459
+ # @option params [String] :next_token
1460
+ # The first IngestConfiguration to retrieve. This is used for
1461
+ # pagination; see the `nextToken` response field.
1462
+ #
1463
+ # @option params [Integer] :max_results
1464
+ # Maximum number of results to return. Default: 50.
1465
+ #
1466
+ # @return [Types::ListIngestConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1467
+ #
1468
+ # * {Types::ListIngestConfigurationsResponse#ingest_configurations #ingest_configurations} => Array&lt;Types::IngestConfigurationSummary&gt;
1469
+ # * {Types::ListIngestConfigurationsResponse#next_token #next_token} => String
1470
+ #
1471
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1472
+ #
1473
+ # @example Request syntax with placeholder values
1474
+ #
1475
+ # resp = client.list_ingest_configurations({
1476
+ # filter_by_stage_arn: "StageArn",
1477
+ # filter_by_state: "ACTIVE", # accepts ACTIVE, INACTIVE
1478
+ # next_token: "PaginationToken",
1479
+ # max_results: 1,
1480
+ # })
1481
+ #
1482
+ # @example Response structure
1483
+ #
1484
+ # resp.ingest_configurations #=> Array
1485
+ # resp.ingest_configurations[0].name #=> String
1486
+ # resp.ingest_configurations[0].arn #=> String
1487
+ # resp.ingest_configurations[0].ingest_protocol #=> String, one of "RTMP", "RTMPS"
1488
+ # resp.ingest_configurations[0].stage_arn #=> String
1489
+ # resp.ingest_configurations[0].participant_id #=> String
1490
+ # resp.ingest_configurations[0].state #=> String, one of "ACTIVE", "INACTIVE"
1491
+ # resp.ingest_configurations[0].user_id #=> String
1492
+ # resp.next_token #=> String
1493
+ #
1494
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListIngestConfigurations AWS API Documentation
1495
+ #
1496
+ # @overload list_ingest_configurations(params = {})
1497
+ # @param [Hash] params ({})
1498
+ def list_ingest_configurations(params = {}, options = {})
1499
+ req = build_request(:list_ingest_configurations, params)
1500
+ req.send_request(options)
1501
+ end
1502
+
1262
1503
  # Lists events for a specified participant that occurred during a
1263
1504
  # specified stage session.
1264
1505
  #
@@ -1303,7 +1544,7 @@ module Aws::IVSRealTime
1303
1544
  # resp.events[0].participant_id #=> String
1304
1545
  # resp.events[0].event_time #=> Time
1305
1546
  # resp.events[0].remote_participant_id #=> String
1306
- # resp.events[0].error_code #=> String, one of "INSUFFICIENT_CAPABILITIES", "QUOTA_EXCEEDED", "PUBLISHER_NOT_FOUND"
1547
+ # resp.events[0].error_code #=> String, one of "INSUFFICIENT_CAPABILITIES", "QUOTA_EXCEEDED", "PUBLISHER_NOT_FOUND", "BITRATE_EXCEEDED", "RESOLUTION_EXCEEDED", "STREAM_DURATION_EXCEEDED", "INVALID_AUDIO_CODEC", "INVALID_VIDEO_CODEC", "INVALID_PROTOCOL", "INVALID_STREAM_KEY", "REUSE_OF_STREAM_KEY"
1307
1548
  # resp.next_token #=> String
1308
1549
  #
1309
1550
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListParticipantEvents AWS API Documentation
@@ -1600,8 +1841,9 @@ module Aws::IVSRealTime
1600
1841
  # Starts a Composition from a stage based on the configuration provided
1601
1842
  # in the request.
1602
1843
  #
1603
- # A Composition is an ephemeral resource that exists after this endpoint
1604
- # returns successfully. Composition stops and the resource is deleted:
1844
+ # A Composition is an ephemeral resource that exists after this
1845
+ # operation returns successfully. Composition stops and the resource is
1846
+ # deleted:
1605
1847
  #
1606
1848
  # * When StopComposition is called.
1607
1849
  #
@@ -1634,14 +1876,15 @@ module Aws::IVSRealTime
1634
1876
  #
1635
1877
  # @option params [Hash<String,String>] :tags
1636
1878
  # Tags attached to the resource. Array of maps, each of the form
1637
- # `string:string (key:value)`. See [Tagging AWS Resources][1] for
1638
- # details, including restrictions that apply to tags and "Tag naming
1639
- # limits and requirements"; Amazon IVS has no constraints on tags
1640
- # beyond what is documented there.
1879
+ # `string:string (key:value)`. See [Best practices and strategies][1] in
1880
+ # *Tagging AWS Resources and Tag Editor* for details, including
1881
+ # restrictions that apply to tags and "Tag naming limits and
1882
+ # requirements"; Amazon IVS has no constraints on tags beyond what is
1883
+ # documented there.
1641
1884
  #
1642
1885
  #
1643
1886
  #
1644
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1887
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html
1645
1888
  #
1646
1889
  # @return [Types::StartCompositionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1647
1890
  #
@@ -1771,14 +2014,15 @@ module Aws::IVSRealTime
1771
2014
  #
1772
2015
  # @option params [required, Hash<String,String>] :tags
1773
2016
  # Array of tags to be added or updated. Array of maps, each of the form
1774
- # `string:string (key:value)`. See [Tagging AWS Resources][1] for
1775
- # details, including restrictions that apply to tags and "Tag naming
1776
- # limits and requirements"; Amazon IVS has no constraints beyond what
1777
- # is documented there.
2017
+ # `string:string (key:value)`. See [Best practices and strategies][1] in
2018
+ # *Tagging AWS Resources and Tag Editor* for details, including
2019
+ # restrictions that apply to tags and "Tag naming limits and
2020
+ # requirements"; Amazon IVS has no constraints on tags beyond what is
2021
+ # documented there.
1778
2022
  #
1779
2023
  #
1780
2024
  #
1781
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
2025
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html
1782
2026
  #
1783
2027
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1784
2028
  #
@@ -1807,14 +2051,15 @@ module Aws::IVSRealTime
1807
2051
  #
1808
2052
  # @option params [required, Array<String>] :tag_keys
1809
2053
  # Array of tags to be removed. Array of maps, each of the form
1810
- # `string:string (key:value)`. See [Tagging AWS Resources][1] for
1811
- # details, including restrictions that apply to tags and "Tag naming
1812
- # limits and requirements"; Amazon IVS has no constraints beyond what
1813
- # is documented there.
2054
+ # `string:string (key:value)`. See [Best practices and strategies][1] in
2055
+ # *Tagging AWS Resources and Tag Editor* for details, including
2056
+ # restrictions that apply to tags and "Tag naming limits and
2057
+ # requirements"; Amazon IVS has no constraints on tags beyond what is
2058
+ # documented there.
1814
2059
  #
1815
2060
  #
1816
2061
  #
1817
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
2062
+ # [1]: https://docs.aws.amazon.com/tag-editor/latest/userguide/best-practices-and-strats.html
1818
2063
  #
1819
2064
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1820
2065
  #
@@ -1834,6 +2079,52 @@ module Aws::IVSRealTime
1834
2079
  req.send_request(options)
1835
2080
  end
1836
2081
 
2082
+ # Updates a specified IngestConfiguration. Only the stage ARN attached
2083
+ # to the IngestConfiguration can be updated. An IngestConfiguration that
2084
+ # is active cannot be updated.
2085
+ #
2086
+ # @option params [required, String] :arn
2087
+ # ARN of the IngestConfiguration, for which the related stage ARN needs
2088
+ # to be updated.
2089
+ #
2090
+ # @option params [String] :stage_arn
2091
+ # Stage ARN that needs to be updated.
2092
+ #
2093
+ # @return [Types::UpdateIngestConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2094
+ #
2095
+ # * {Types::UpdateIngestConfigurationResponse#ingest_configuration #ingest_configuration} => Types::IngestConfiguration
2096
+ #
2097
+ # @example Request syntax with placeholder values
2098
+ #
2099
+ # resp = client.update_ingest_configuration({
2100
+ # arn: "IngestConfigurationArn", # required
2101
+ # stage_arn: "IngestConfigurationStageArn",
2102
+ # })
2103
+ #
2104
+ # @example Response structure
2105
+ #
2106
+ # resp.ingest_configuration.name #=> String
2107
+ # resp.ingest_configuration.arn #=> String
2108
+ # resp.ingest_configuration.ingest_protocol #=> String, one of "RTMP", "RTMPS"
2109
+ # resp.ingest_configuration.stream_key #=> String
2110
+ # resp.ingest_configuration.stage_arn #=> String
2111
+ # resp.ingest_configuration.participant_id #=> String
2112
+ # resp.ingest_configuration.state #=> String, one of "ACTIVE", "INACTIVE"
2113
+ # resp.ingest_configuration.user_id #=> String
2114
+ # resp.ingest_configuration.attributes #=> Hash
2115
+ # resp.ingest_configuration.attributes["String"] #=> String
2116
+ # resp.ingest_configuration.tags #=> Hash
2117
+ # resp.ingest_configuration.tags["TagKey"] #=> String
2118
+ #
2119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/UpdateIngestConfiguration AWS API Documentation
2120
+ #
2121
+ # @overload update_ingest_configuration(params = {})
2122
+ # @param [Hash] params ({})
2123
+ def update_ingest_configuration(params = {}, options = {})
2124
+ req = build_request(:update_ingest_configuration, params)
2125
+ req.send_request(options)
2126
+ end
2127
+
1837
2128
  # Updates a stage’s configuration.
1838
2129
  #
1839
2130
  # @option params [required, String] :arn
@@ -1874,6 +2165,8 @@ module Aws::IVSRealTime
1874
2165
  # resp.stage.auto_participant_recording_configuration.media_types[0] #=> String, one of "AUDIO_VIDEO", "AUDIO_ONLY"
1875
2166
  # resp.stage.endpoints.events #=> String
1876
2167
  # resp.stage.endpoints.whip #=> String
2168
+ # resp.stage.endpoints.rtmp #=> String
2169
+ # resp.stage.endpoints.rtmps #=> String
1877
2170
  #
1878
2171
  # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/UpdateStage AWS API Documentation
1879
2172
  #
@@ -1890,14 +2183,19 @@ module Aws::IVSRealTime
1890
2183
  # @api private
1891
2184
  def build_request(operation_name, params = {})
1892
2185
  handlers = @handlers.for(operation_name)
2186
+ tracer = config.telemetry_provider.tracer_provider.tracer(
2187
+ Aws::Telemetry.module_to_tracer_name('Aws::IVSRealTime')
2188
+ )
1893
2189
  context = Seahorse::Client::RequestContext.new(
1894
2190
  operation_name: operation_name,
1895
2191
  operation: config.api.operation(operation_name),
1896
2192
  client: self,
1897
2193
  params: params,
1898
- config: config)
2194
+ config: config,
2195
+ tracer: tracer
2196
+ )
1899
2197
  context[:gem_name] = 'aws-sdk-ivsrealtime'
1900
- context[:gem_version] = '1.25.0'
2198
+ context[:gem_version] = '1.27.0'
1901
2199
  Seahorse::Client::Request.new(handlers, context)
1902
2200
  end
1903
2201