aws-sdk-ivsrealtime 1.11.0 → 1.12.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: 47ad4cd62ed789e67ba34974bd34de6d2a05cedff0cdda27bd2a04d4c3e0a787
4
- data.tar.gz: 8e66d4acda81386ffdf2102059fcd959a97f7e1aa8ae6fa4a77d0c89dfcb702b
3
+ metadata.gz: eb7446e5658622f9c45878521692ad5d89347463d25929d13cf577b8ce01d1ba
4
+ data.tar.gz: 054772aca321cb72e3f39820ccd7cac82dbfd83b6647d99ebd0fab8643c1b380
5
5
  SHA512:
6
- metadata.gz: 9906130b0df0cceb2112e6ff7e9a9e813f8bf12675943c9025dc796ce78e19d502b14a5eafb244834cca4dc411f47787b88dd0a0bdc94e640356d638482f9358
7
- data.tar.gz: f85c9802e4eaf0ad3c32cf57de056bef958977ba06167c60e2d27c68649ffd33170b073fc551d2673c400273dee2f41021d4ff76ed5b7a44c6e03c8f9f953645
6
+ metadata.gz: 439dd8661a9e33bdde0c2999b56d688d8a391b516ab454c8bdfe856991950ae90e590f8ac3acca0e1f91e8bb59a1b6ea8cd833175d1ef5e5fd60f7f09cc4d747
7
+ data.tar.gz: 2864b4e596a3973ccae19a8c55ae802415fde6565346a6d249e3916a020e8bbdcc36c9dccb846845605dce1d21242e590e3ffa0a96d6e146910cc47b2a232a0e
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.12.0 (2023-11-16)
5
+ ------------------
6
+
7
+ * Feature - This release introduces server side composition and recording for stages.
8
+
4
9
  1.11.0 (2023-10-12)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.11.0
1
+ 1.12.0
@@ -388,6 +388,65 @@ module Aws::IVSRealTime
388
388
 
389
389
  # @!group API Operations
390
390
 
391
+ # Creates an EncoderConfiguration object.
392
+ #
393
+ # @option params [String] :name
394
+ # Optional name to identify the resource.
395
+ #
396
+ # @option params [Hash<String,String>] :tags
397
+ # Tags attached to the resource. Array of maps, each of the form
398
+ # `string:string (key:value)`. See [Tagging AWS Resources][1] for
399
+ # details, including restrictions that apply to tags and "Tag naming
400
+ # limits and requirements"; Amazon IVS has no constraints on tags
401
+ # beyond what is documented there.
402
+ #
403
+ #
404
+ #
405
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
406
+ #
407
+ # @option params [Types::Video] :video
408
+ # Video configuration. Default: video resolution 1280x720, bitrate 2500
409
+ # kbps, 30 fps.
410
+ #
411
+ # @return [Types::CreateEncoderConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
412
+ #
413
+ # * {Types::CreateEncoderConfigurationResponse#encoder_configuration #encoder_configuration} => Types::EncoderConfiguration
414
+ #
415
+ # @example Request syntax with placeholder values
416
+ #
417
+ # resp = client.create_encoder_configuration({
418
+ # name: "EncoderConfigurationName",
419
+ # tags: {
420
+ # "TagKey" => "TagValue",
421
+ # },
422
+ # video: {
423
+ # bitrate: 1,
424
+ # framerate: 1.0,
425
+ # height: 1,
426
+ # width: 1,
427
+ # },
428
+ # })
429
+ #
430
+ # @example Response structure
431
+ #
432
+ # resp.encoder_configuration.arn #=> String
433
+ # resp.encoder_configuration.name #=> String
434
+ # resp.encoder_configuration.tags #=> Hash
435
+ # resp.encoder_configuration.tags["TagKey"] #=> String
436
+ # resp.encoder_configuration.video.bitrate #=> Integer
437
+ # resp.encoder_configuration.video.framerate #=> Float
438
+ # resp.encoder_configuration.video.height #=> Integer
439
+ # resp.encoder_configuration.video.width #=> Integer
440
+ #
441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/CreateEncoderConfiguration AWS API Documentation
442
+ #
443
+ # @overload create_encoder_configuration(params = {})
444
+ # @param [Hash] params ({})
445
+ def create_encoder_configuration(params = {}, options = {})
446
+ req = build_request(:create_encoder_configuration, params)
447
+ req.send_request(options)
448
+ end
449
+
391
450
  # Creates an additional token for a specified stage. This can be done
392
451
  # after stage creation or when tokens expire. Tokens always are scoped
393
452
  # to the stage for which they are created.
@@ -527,6 +586,85 @@ module Aws::IVSRealTime
527
586
  req.send_request(options)
528
587
  end
529
588
 
589
+ # Creates a new storage configuration, used to enable recording to
590
+ # Amazon S3. When a StorageConfiguration is created, IVS will modify the
591
+ # S3 bucketPolicy of the provided bucket. This will ensure that IVS has
592
+ # sufficient permissions to write content to the provided bucket.
593
+ #
594
+ # @option params [String] :name
595
+ # Storage configuration name. The value does not need to be unique.
596
+ #
597
+ # @option params [required, Types::S3StorageConfiguration] :s3
598
+ # A complex type that contains a storage configuration for where
599
+ # recorded video will be stored.
600
+ #
601
+ # @option params [Hash<String,String>] :tags
602
+ # Tags attached to the resource. Array of maps, each of the form
603
+ # `string:string (key:value)`. See [Tagging AWS Resources][1] for
604
+ # details, including restrictions that apply to tags and "Tag naming
605
+ # limits and requirements"; Amazon IVS has no constraints on tags
606
+ # beyond what is documented there.
607
+ #
608
+ #
609
+ #
610
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
611
+ #
612
+ # @return [Types::CreateStorageConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
613
+ #
614
+ # * {Types::CreateStorageConfigurationResponse#storage_configuration #storage_configuration} => Types::StorageConfiguration
615
+ #
616
+ # @example Request syntax with placeholder values
617
+ #
618
+ # resp = client.create_storage_configuration({
619
+ # name: "StorageConfigurationName",
620
+ # s3: { # required
621
+ # bucket_name: "S3BucketName", # required
622
+ # },
623
+ # tags: {
624
+ # "TagKey" => "TagValue",
625
+ # },
626
+ # })
627
+ #
628
+ # @example Response structure
629
+ #
630
+ # resp.storage_configuration.arn #=> String
631
+ # resp.storage_configuration.name #=> String
632
+ # resp.storage_configuration.s3.bucket_name #=> String
633
+ # resp.storage_configuration.tags #=> Hash
634
+ # resp.storage_configuration.tags["TagKey"] #=> String
635
+ #
636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/CreateStorageConfiguration AWS API Documentation
637
+ #
638
+ # @overload create_storage_configuration(params = {})
639
+ # @param [Hash] params ({})
640
+ def create_storage_configuration(params = {}, options = {})
641
+ req = build_request(:create_storage_configuration, params)
642
+ req.send_request(options)
643
+ end
644
+
645
+ # Deletes an EncoderConfiguration resource. Ensures that no Compositions
646
+ # are using this template; otherwise, returns an error.
647
+ #
648
+ # @option params [required, String] :arn
649
+ # ARN of the EncoderConfiguration.
650
+ #
651
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
652
+ #
653
+ # @example Request syntax with placeholder values
654
+ #
655
+ # resp = client.delete_encoder_configuration({
656
+ # arn: "EncoderConfigurationArn", # required
657
+ # })
658
+ #
659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/DeleteEncoderConfiguration AWS API Documentation
660
+ #
661
+ # @overload delete_encoder_configuration(params = {})
662
+ # @param [Hash] params ({})
663
+ def delete_encoder_configuration(params = {}, options = {})
664
+ req = build_request(:delete_encoder_configuration, params)
665
+ req.send_request(options)
666
+ end
667
+
530
668
  # Shuts down and deletes the specified stage (disconnecting all
531
669
  # participants).
532
670
  #
@@ -550,6 +688,34 @@ module Aws::IVSRealTime
550
688
  req.send_request(options)
551
689
  end
552
690
 
691
+ # Deletes the storage configuration for the specified ARN.
692
+ #
693
+ # If you try to delete a storage configuration that is used by a
694
+ # Composition, you will get an error (409 ConflictException). To avoid
695
+ # this, for all Compositions that reference the storage configuration,
696
+ # first use StopComposition and wait for it to complete, then use
697
+ # DeleteStorageConfiguration.
698
+ #
699
+ # @option params [required, String] :arn
700
+ # ARN of the storage configuration to be deleted.
701
+ #
702
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
703
+ #
704
+ # @example Request syntax with placeholder values
705
+ #
706
+ # resp = client.delete_storage_configuration({
707
+ # arn: "StorageConfigurationArn", # required
708
+ # })
709
+ #
710
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/DeleteStorageConfiguration AWS API Documentation
711
+ #
712
+ # @overload delete_storage_configuration(params = {})
713
+ # @param [Hash] params ({})
714
+ def delete_storage_configuration(params = {}, options = {})
715
+ req = build_request(:delete_storage_configuration, params)
716
+ req.send_request(options)
717
+ end
718
+
553
719
  # Disconnects a specified participant and revokes the participant
554
720
  # permanently from a specified stage.
555
721
  #
@@ -582,6 +748,89 @@ module Aws::IVSRealTime
582
748
  req.send_request(options)
583
749
  end
584
750
 
751
+ # Get information about the specified Composition resource.
752
+ #
753
+ # @option params [required, String] :arn
754
+ # ARN of the Composition resource.
755
+ #
756
+ # @return [Types::GetCompositionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
757
+ #
758
+ # * {Types::GetCompositionResponse#composition #composition} => Types::Composition
759
+ #
760
+ # @example Request syntax with placeholder values
761
+ #
762
+ # resp = client.get_composition({
763
+ # arn: "CompositionArn", # required
764
+ # })
765
+ #
766
+ # @example Response structure
767
+ #
768
+ # resp.composition.arn #=> String
769
+ # resp.composition.destinations #=> Array
770
+ # resp.composition.destinations[0].configuration.channel.channel_arn #=> String
771
+ # resp.composition.destinations[0].configuration.channel.encoder_configuration_arn #=> String
772
+ # resp.composition.destinations[0].configuration.name #=> String
773
+ # resp.composition.destinations[0].configuration.s3.encoder_configuration_arns #=> Array
774
+ # resp.composition.destinations[0].configuration.s3.encoder_configuration_arns[0] #=> String
775
+ # resp.composition.destinations[0].configuration.s3.recording_configuration.format #=> String, one of "HLS"
776
+ # resp.composition.destinations[0].configuration.s3.storage_configuration_arn #=> String
777
+ # resp.composition.destinations[0].detail.s3.recording_prefix #=> String
778
+ # resp.composition.destinations[0].end_time #=> Time
779
+ # resp.composition.destinations[0].id #=> String
780
+ # resp.composition.destinations[0].start_time #=> Time
781
+ # resp.composition.destinations[0].state #=> String, one of "STARTING", "ACTIVE", "STOPPING", "RECONNECTING", "FAILED", "STOPPED"
782
+ # resp.composition.end_time #=> Time
783
+ # resp.composition.layout.grid.featured_participant_attribute #=> String
784
+ # resp.composition.stage_arn #=> String
785
+ # resp.composition.start_time #=> Time
786
+ # resp.composition.state #=> String, one of "STARTING", "ACTIVE", "STOPPING", "FAILED", "STOPPED"
787
+ # resp.composition.tags #=> Hash
788
+ # resp.composition.tags["TagKey"] #=> String
789
+ #
790
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetComposition AWS API Documentation
791
+ #
792
+ # @overload get_composition(params = {})
793
+ # @param [Hash] params ({})
794
+ def get_composition(params = {}, options = {})
795
+ req = build_request(:get_composition, params)
796
+ req.send_request(options)
797
+ end
798
+
799
+ # Gets information about the specified EncoderConfiguration resource.
800
+ #
801
+ # @option params [required, String] :arn
802
+ # ARN of the EncoderConfiguration resource.
803
+ #
804
+ # @return [Types::GetEncoderConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
805
+ #
806
+ # * {Types::GetEncoderConfigurationResponse#encoder_configuration #encoder_configuration} => Types::EncoderConfiguration
807
+ #
808
+ # @example Request syntax with placeholder values
809
+ #
810
+ # resp = client.get_encoder_configuration({
811
+ # arn: "EncoderConfigurationArn", # required
812
+ # })
813
+ #
814
+ # @example Response structure
815
+ #
816
+ # resp.encoder_configuration.arn #=> String
817
+ # resp.encoder_configuration.name #=> String
818
+ # resp.encoder_configuration.tags #=> Hash
819
+ # resp.encoder_configuration.tags["TagKey"] #=> String
820
+ # resp.encoder_configuration.video.bitrate #=> Integer
821
+ # resp.encoder_configuration.video.framerate #=> Float
822
+ # resp.encoder_configuration.video.height #=> Integer
823
+ # resp.encoder_configuration.video.width #=> Integer
824
+ #
825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetEncoderConfiguration AWS API Documentation
826
+ #
827
+ # @overload get_encoder_configuration(params = {})
828
+ # @param [Hash] params ({})
829
+ def get_encoder_configuration(params = {}, options = {})
830
+ req = build_request(:get_encoder_configuration, params)
831
+ req.send_request(options)
832
+ end
833
+
585
834
  # Gets information about the specified participant token.
586
835
  #
587
836
  # @option params [required, String] :participant_id
@@ -697,6 +946,139 @@ module Aws::IVSRealTime
697
946
  req.send_request(options)
698
947
  end
699
948
 
949
+ # Gets the storage configuration for the specified ARN.
950
+ #
951
+ # @option params [required, String] :arn
952
+ # ARN of the storage configuration to be retrieved.
953
+ #
954
+ # @return [Types::GetStorageConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
955
+ #
956
+ # * {Types::GetStorageConfigurationResponse#storage_configuration #storage_configuration} => Types::StorageConfiguration
957
+ #
958
+ # @example Request syntax with placeholder values
959
+ #
960
+ # resp = client.get_storage_configuration({
961
+ # arn: "StorageConfigurationArn", # required
962
+ # })
963
+ #
964
+ # @example Response structure
965
+ #
966
+ # resp.storage_configuration.arn #=> String
967
+ # resp.storage_configuration.name #=> String
968
+ # resp.storage_configuration.s3.bucket_name #=> String
969
+ # resp.storage_configuration.tags #=> Hash
970
+ # resp.storage_configuration.tags["TagKey"] #=> String
971
+ #
972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/GetStorageConfiguration AWS API Documentation
973
+ #
974
+ # @overload get_storage_configuration(params = {})
975
+ # @param [Hash] params ({})
976
+ def get_storage_configuration(params = {}, options = {})
977
+ req = build_request(:get_storage_configuration, params)
978
+ req.send_request(options)
979
+ end
980
+
981
+ # Gets summary information about all Compositions in your account, in
982
+ # the AWS region where the API request is processed.
983
+ #
984
+ # @option params [String] :filter_by_encoder_configuration_arn
985
+ # Filters the Composition list to match the specified
986
+ # EncoderConfiguration attached to at least one of its output.
987
+ #
988
+ # @option params [String] :filter_by_stage_arn
989
+ # Filters the Composition list to match the specified Stage ARN.
990
+ #
991
+ # @option params [Integer] :max_results
992
+ # Maximum number of results to return. Default: 100.
993
+ #
994
+ # @option params [String] :next_token
995
+ # The first Composition to retrieve. This is used for pagination; see
996
+ # the `nextToken` response field.
997
+ #
998
+ # @return [Types::ListCompositionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
999
+ #
1000
+ # * {Types::ListCompositionsResponse#compositions #compositions} => Array&lt;Types::CompositionSummary&gt;
1001
+ # * {Types::ListCompositionsResponse#next_token #next_token} => String
1002
+ #
1003
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1004
+ #
1005
+ # @example Request syntax with placeholder values
1006
+ #
1007
+ # resp = client.list_compositions({
1008
+ # filter_by_encoder_configuration_arn: "EncoderConfigurationArn",
1009
+ # filter_by_stage_arn: "StageArn",
1010
+ # max_results: 1,
1011
+ # next_token: "PaginationToken",
1012
+ # })
1013
+ #
1014
+ # @example Response structure
1015
+ #
1016
+ # resp.compositions #=> Array
1017
+ # resp.compositions[0].arn #=> String
1018
+ # resp.compositions[0].destinations #=> Array
1019
+ # resp.compositions[0].destinations[0].end_time #=> Time
1020
+ # resp.compositions[0].destinations[0].id #=> String
1021
+ # resp.compositions[0].destinations[0].start_time #=> Time
1022
+ # resp.compositions[0].destinations[0].state #=> String, one of "STARTING", "ACTIVE", "STOPPING", "RECONNECTING", "FAILED", "STOPPED"
1023
+ # resp.compositions[0].end_time #=> Time
1024
+ # resp.compositions[0].stage_arn #=> String
1025
+ # resp.compositions[0].start_time #=> Time
1026
+ # resp.compositions[0].state #=> String, one of "STARTING", "ACTIVE", "STOPPING", "FAILED", "STOPPED"
1027
+ # resp.compositions[0].tags #=> Hash
1028
+ # resp.compositions[0].tags["TagKey"] #=> String
1029
+ # resp.next_token #=> String
1030
+ #
1031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListCompositions AWS API Documentation
1032
+ #
1033
+ # @overload list_compositions(params = {})
1034
+ # @param [Hash] params ({})
1035
+ def list_compositions(params = {}, options = {})
1036
+ req = build_request(:list_compositions, params)
1037
+ req.send_request(options)
1038
+ end
1039
+
1040
+ # Gets summary information about all EncoderConfigurations in your
1041
+ # account, in the AWS region where the API request is processed.
1042
+ #
1043
+ # @option params [Integer] :max_results
1044
+ # Maximum number of results to return. Default: 100.
1045
+ #
1046
+ # @option params [String] :next_token
1047
+ # The first encoder configuration to retrieve. This is used for
1048
+ # pagination; see the `nextToken` response field.
1049
+ #
1050
+ # @return [Types::ListEncoderConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1051
+ #
1052
+ # * {Types::ListEncoderConfigurationsResponse#encoder_configurations #encoder_configurations} => Array&lt;Types::EncoderConfigurationSummary&gt;
1053
+ # * {Types::ListEncoderConfigurationsResponse#next_token #next_token} => String
1054
+ #
1055
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1056
+ #
1057
+ # @example Request syntax with placeholder values
1058
+ #
1059
+ # resp = client.list_encoder_configurations({
1060
+ # max_results: 1,
1061
+ # next_token: "PaginationToken",
1062
+ # })
1063
+ #
1064
+ # @example Response structure
1065
+ #
1066
+ # resp.encoder_configurations #=> Array
1067
+ # resp.encoder_configurations[0].arn #=> String
1068
+ # resp.encoder_configurations[0].name #=> String
1069
+ # resp.encoder_configurations[0].tags #=> Hash
1070
+ # resp.encoder_configurations[0].tags["TagKey"] #=> String
1071
+ # resp.next_token #=> String
1072
+ #
1073
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListEncoderConfigurations AWS API Documentation
1074
+ #
1075
+ # @overload list_encoder_configurations(params = {})
1076
+ # @param [Hash] params ({})
1077
+ def list_encoder_configurations(params = {}, options = {})
1078
+ req = build_request(:list_encoder_configurations, params)
1079
+ req.send_request(options)
1080
+ end
1081
+
700
1082
  # Lists events for a specified participant that occurred during a
701
1083
  # specified stage session.
702
1084
  #
@@ -704,8 +1086,8 @@ module Aws::IVSRealTime
704
1086
  # Maximum number of results to return. Default: 50.
705
1087
  #
706
1088
  # @option params [String] :next_token
707
- # The first participant to retrieve. This is used for pagination; see
708
- # the `nextToken` response field.
1089
+ # The first participant event to retrieve. This is used for pagination;
1090
+ # see the `nextToken` response field.
709
1091
  #
710
1092
  # @option params [required, String] :participant_id
711
1093
  # Unique identifier for this participant. This is assigned by IVS and
@@ -829,8 +1211,8 @@ module Aws::IVSRealTime
829
1211
  # Maximum number of results to return. Default: 50.
830
1212
  #
831
1213
  # @option params [String] :next_token
832
- # The first stage to retrieve. This is used for pagination; see the
833
- # `nextToken` response field.
1214
+ # The first stage session to retrieve. This is used for pagination; see
1215
+ # the `nextToken` response field.
834
1216
  #
835
1217
  # @option params [required, String] :stage_arn
836
1218
  # Stage ARN.
@@ -910,6 +1292,50 @@ module Aws::IVSRealTime
910
1292
  req.send_request(options)
911
1293
  end
912
1294
 
1295
+ # Gets summary information about all storage configurations in your
1296
+ # account, in the AWS region where the API request is processed.
1297
+ #
1298
+ # @option params [Integer] :max_results
1299
+ # Maximum number of storage configurations to return. Default: your
1300
+ # service quota or 100, whichever is smaller.
1301
+ #
1302
+ # @option params [String] :next_token
1303
+ # The first storage configuration to retrieve. This is used for
1304
+ # pagination; see the `nextToken` response field.
1305
+ #
1306
+ # @return [Types::ListStorageConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1307
+ #
1308
+ # * {Types::ListStorageConfigurationsResponse#next_token #next_token} => String
1309
+ # * {Types::ListStorageConfigurationsResponse#storage_configurations #storage_configurations} => Array&lt;Types::StorageConfigurationSummary&gt;
1310
+ #
1311
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1312
+ #
1313
+ # @example Request syntax with placeholder values
1314
+ #
1315
+ # resp = client.list_storage_configurations({
1316
+ # max_results: 1,
1317
+ # next_token: "PaginationToken",
1318
+ # })
1319
+ #
1320
+ # @example Response structure
1321
+ #
1322
+ # resp.next_token #=> String
1323
+ # resp.storage_configurations #=> Array
1324
+ # resp.storage_configurations[0].arn #=> String
1325
+ # resp.storage_configurations[0].name #=> String
1326
+ # resp.storage_configurations[0].s3.bucket_name #=> String
1327
+ # resp.storage_configurations[0].tags #=> Hash
1328
+ # resp.storage_configurations[0].tags["TagKey"] #=> String
1329
+ #
1330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/ListStorageConfigurations AWS API Documentation
1331
+ #
1332
+ # @overload list_storage_configurations(params = {})
1333
+ # @param [Hash] params ({})
1334
+ def list_storage_configurations(params = {}, options = {})
1335
+ req = build_request(:list_storage_configurations, params)
1336
+ req.send_request(options)
1337
+ end
1338
+
913
1339
  # Gets information about AWS tags for the specified ARN.
914
1340
  #
915
1341
  # @option params [required, String] :resource_arn
@@ -939,6 +1365,143 @@ module Aws::IVSRealTime
939
1365
  req.send_request(options)
940
1366
  end
941
1367
 
1368
+ # Starts a Composition from a stage based on the configuration provided
1369
+ # in the request.
1370
+ #
1371
+ # A Composition is an ephemeral resource that exists after this endpoint
1372
+ # returns successfully. Composition stops and the resource is deleted:
1373
+ #
1374
+ # * When StopComposition is called.
1375
+ #
1376
+ # * After a 1-minute timeout, when all participants are disconnected
1377
+ # from the stage.
1378
+ #
1379
+ # * After a 1-minute timeout, if there are no participants in the stage
1380
+ # when StartComposition is called.
1381
+ #
1382
+ # * When broadcasting to the IVS channel fails and all retries are
1383
+ # exhausted.
1384
+ #
1385
+ # * When broadcasting is disconnected and all attempts to reconnect are
1386
+ # exhausted.
1387
+ #
1388
+ # @option params [required, Array<Types::DestinationConfiguration>] :destinations
1389
+ # Array of destination configuration.
1390
+ #
1391
+ # @option params [String] :idempotency_token
1392
+ # Idempotency token.
1393
+ #
1394
+ # **A suitable default value is auto-generated.** You should normally
1395
+ # not need to pass this option.**
1396
+ #
1397
+ # @option params [Types::LayoutConfiguration] :layout
1398
+ # Layout object to configure composition parameters.
1399
+ #
1400
+ # @option params [required, String] :stage_arn
1401
+ # ARN of the stage to be used for compositing.
1402
+ #
1403
+ # @option params [Hash<String,String>] :tags
1404
+ # Tags attached to the resource. Array of maps, each of the form
1405
+ # `string:string (key:value)`. See [Tagging AWS Resources][1] for
1406
+ # details, including restrictions that apply to tags and "Tag naming
1407
+ # limits and requirements"; Amazon IVS has no constraints on tags
1408
+ # beyond what is documented there.
1409
+ #
1410
+ #
1411
+ #
1412
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1413
+ #
1414
+ # @return [Types::StartCompositionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1415
+ #
1416
+ # * {Types::StartCompositionResponse#composition #composition} => Types::Composition
1417
+ #
1418
+ # @example Request syntax with placeholder values
1419
+ #
1420
+ # resp = client.start_composition({
1421
+ # destinations: [ # required
1422
+ # {
1423
+ # channel: {
1424
+ # channel_arn: "ChannelArn", # required
1425
+ # encoder_configuration_arn: "EncoderConfigurationArn",
1426
+ # },
1427
+ # name: "DestinationConfigurationName",
1428
+ # s3: {
1429
+ # encoder_configuration_arns: ["EncoderConfigurationArn"], # required
1430
+ # recording_configuration: {
1431
+ # format: "HLS", # accepts HLS
1432
+ # },
1433
+ # storage_configuration_arn: "StorageConfigurationArn", # required
1434
+ # },
1435
+ # },
1436
+ # ],
1437
+ # idempotency_token: "CompositionClientToken",
1438
+ # layout: {
1439
+ # grid: {
1440
+ # featured_participant_attribute: "AttributeKey",
1441
+ # },
1442
+ # },
1443
+ # stage_arn: "StageArn", # required
1444
+ # tags: {
1445
+ # "TagKey" => "TagValue",
1446
+ # },
1447
+ # })
1448
+ #
1449
+ # @example Response structure
1450
+ #
1451
+ # resp.composition.arn #=> String
1452
+ # resp.composition.destinations #=> Array
1453
+ # resp.composition.destinations[0].configuration.channel.channel_arn #=> String
1454
+ # resp.composition.destinations[0].configuration.channel.encoder_configuration_arn #=> String
1455
+ # resp.composition.destinations[0].configuration.name #=> String
1456
+ # resp.composition.destinations[0].configuration.s3.encoder_configuration_arns #=> Array
1457
+ # resp.composition.destinations[0].configuration.s3.encoder_configuration_arns[0] #=> String
1458
+ # resp.composition.destinations[0].configuration.s3.recording_configuration.format #=> String, one of "HLS"
1459
+ # resp.composition.destinations[0].configuration.s3.storage_configuration_arn #=> String
1460
+ # resp.composition.destinations[0].detail.s3.recording_prefix #=> String
1461
+ # resp.composition.destinations[0].end_time #=> Time
1462
+ # resp.composition.destinations[0].id #=> String
1463
+ # resp.composition.destinations[0].start_time #=> Time
1464
+ # resp.composition.destinations[0].state #=> String, one of "STARTING", "ACTIVE", "STOPPING", "RECONNECTING", "FAILED", "STOPPED"
1465
+ # resp.composition.end_time #=> Time
1466
+ # resp.composition.layout.grid.featured_participant_attribute #=> String
1467
+ # resp.composition.stage_arn #=> String
1468
+ # resp.composition.start_time #=> Time
1469
+ # resp.composition.state #=> String, one of "STARTING", "ACTIVE", "STOPPING", "FAILED", "STOPPED"
1470
+ # resp.composition.tags #=> Hash
1471
+ # resp.composition.tags["TagKey"] #=> String
1472
+ #
1473
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/StartComposition AWS API Documentation
1474
+ #
1475
+ # @overload start_composition(params = {})
1476
+ # @param [Hash] params ({})
1477
+ def start_composition(params = {}, options = {})
1478
+ req = build_request(:start_composition, params)
1479
+ req.send_request(options)
1480
+ end
1481
+
1482
+ # Stops and deletes a Composition resource. Any broadcast from the
1483
+ # Composition resource is stopped.
1484
+ #
1485
+ # @option params [required, String] :arn
1486
+ # ARN of the Composition.
1487
+ #
1488
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1489
+ #
1490
+ # @example Request syntax with placeholder values
1491
+ #
1492
+ # resp = client.stop_composition({
1493
+ # arn: "CompositionArn", # required
1494
+ # })
1495
+ #
1496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ivs-realtime-2020-07-14/StopComposition AWS API Documentation
1497
+ #
1498
+ # @overload stop_composition(params = {})
1499
+ # @param [Hash] params ({})
1500
+ def stop_composition(params = {}, options = {})
1501
+ req = build_request(:stop_composition, params)
1502
+ req.send_request(options)
1503
+ end
1504
+
942
1505
  # Adds or updates tags for the AWS resource with the specified ARN.
943
1506
  #
944
1507
  # @option params [required, String] :resource_arn
@@ -1058,7 +1621,7 @@ module Aws::IVSRealTime
1058
1621
  params: params,
1059
1622
  config: config)
1060
1623
  context[:gem_name] = 'aws-sdk-ivsrealtime'
1061
- context[:gem_version] = '1.11.0'
1624
+ context[:gem_version] = '1.12.0'
1062
1625
  Seahorse::Client::Request.new(handlers, context)
1063
1626
  end
1064
1627