aws-sdk-emr 1.39.0 → 1.44.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.44.0
data/lib/aws-sdk-emr.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-emr/customizations'
49
49
  # @!group service
50
50
  module Aws::EMR
51
51
 
52
- GEM_VERSION = '1.39.0'
52
+ GEM_VERSION = '1.44.0'
53
53
 
54
54
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -406,6 +406,10 @@ module Aws::EMR
406
406
  # },
407
407
  # on_demand_specification: {
408
408
  # allocation_strategy: "lowest-price", # required, accepts lowest-price
409
+ # capacity_reservation_options: {
410
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
411
+ # capacity_reservation_preference: "open", # accepts open, none
412
+ # },
409
413
  # },
410
414
  # },
411
415
  # },
@@ -626,7 +630,7 @@ module Aws::EMR
626
630
  #
627
631
  # @option params [required, Array<Types::Tag>] :tags
628
632
  # A list of tags to associate with a cluster and propagate to EC2
629
- # instances. Tags are user-defined key/value pairs that consist of a
633
+ # instances. Tags are user-defined key-value pairs that consist of a
630
634
  # required key string with a maximum of 128 characters, and an optional
631
635
  # value string with a maximum of 256 characters.
632
636
  #
@@ -656,12 +660,12 @@ module Aws::EMR
656
660
  # Cancels a pending step or steps in a running cluster. Available only
657
661
  # in Amazon EMR versions 4.8.0 and later, excluding version 5.0.0. A
658
662
  # maximum of 256 steps are allowed in each CancelSteps request.
659
- # CancelSteps is idempotent but asynchronous; it does not guarantee a
660
- # step will be canceled, even if the request is successfully submitted.
661
- # You can only cancel steps that are in a `PENDING` state.
663
+ # CancelSteps is idempotent but asynchronous; it does not guarantee that
664
+ # a step will be canceled, even if the request is successfully
665
+ # submitted. You can only cancel steps that are in a `PENDING` state.
662
666
  #
663
667
  # @option params [required, String] :cluster_id
664
- # The `ClusterID` for which specified steps will be canceled. Use
668
+ # The `ClusterID` for the specified steps that will be canceled. Use
665
669
  # RunJobFlow and ListClusters to get ClusterIDs.
666
670
  #
667
671
  # @option params [required, Array<String>] :step_ids
@@ -669,8 +673,8 @@ module Aws::EMR
669
673
  # states for the specified cluster.
670
674
  #
671
675
  # @option params [String] :step_cancellation_option
672
- # The option to choose for cancelling `RUNNING` steps. By default, the
673
- # value is `SEND_INTERRUPT`.
676
+ # The option to choose to cancel `RUNNING` steps. By default, the value
677
+ # is `SEND_INTERRUPT`.
674
678
  #
675
679
  # @return [Types::CancelStepsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
676
680
  #
@@ -741,6 +745,160 @@ module Aws::EMR
741
745
  req.send_request(options)
742
746
  end
743
747
 
748
+ # Creates a new Amazon EMR Studio.
749
+ #
750
+ # @option params [required, String] :name
751
+ # A descriptive name for the Amazon EMR Studio.
752
+ #
753
+ # @option params [String] :description
754
+ # A detailed description of the Amazon EMR Studio.
755
+ #
756
+ # @option params [required, String] :auth_mode
757
+ # Specifies whether the Studio authenticates users using single sign-on
758
+ # (SSO) or IAM. Amazon EMR Studio currently only supports SSO
759
+ # authentication.
760
+ #
761
+ # @option params [required, String] :vpc_id
762
+ # The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate
763
+ # with the Studio.
764
+ #
765
+ # @option params [required, Array<String>] :subnet_ids
766
+ # A list of subnet IDs to associate with the Amazon EMR Studio. A Studio
767
+ # can have a maximum of 5 subnets. The subnets must belong to the VPC
768
+ # specified by `VpcId`. Studio users can create a Workspace in any of
769
+ # the specified subnets.
770
+ #
771
+ # @option params [required, String] :service_role
772
+ # The IAM role that will be assumed by the Amazon EMR Studio. The
773
+ # service role provides a way for Amazon EMR Studio to interoperate with
774
+ # other AWS services.
775
+ #
776
+ # @option params [required, String] :user_role
777
+ # The IAM user role that will be assumed by users and groups logged in
778
+ # to an Amazon EMR Studio. The permissions attached to this IAM role can
779
+ # be scoped down for each user or group using session policies.
780
+ #
781
+ # @option params [required, String] :workspace_security_group_id
782
+ # The ID of the Amazon EMR Studio Workspace security group. The
783
+ # Workspace security group allows outbound network traffic to resources
784
+ # in the Engine security group, and it must be in the same VPC specified
785
+ # by `VpcId`.
786
+ #
787
+ # @option params [required, String] :engine_security_group_id
788
+ # The ID of the Amazon EMR Studio Engine security group. The Engine
789
+ # security group allows inbound network traffic from the Workspace
790
+ # security group, and it must be in the same VPC specified by `VpcId`.
791
+ #
792
+ # @option params [required, String] :default_s3_location
793
+ # The default Amazon S3 location to back up Amazon EMR Studio Workspaces
794
+ # and notebook files. A Studio user can select an alternative Amazon S3
795
+ # location when creating a Workspace.
796
+ #
797
+ # @option params [Array<Types::Tag>] :tags
798
+ # A list of tags to associate with the Amazon EMR Studio. Tags are
799
+ # user-defined key-value pairs that consist of a required key string
800
+ # with a maximum of 128 characters, and an optional value string with a
801
+ # maximum of 256 characters.
802
+ #
803
+ # @return [Types::CreateStudioOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
804
+ #
805
+ # * {Types::CreateStudioOutput#studio_id #studio_id} => String
806
+ # * {Types::CreateStudioOutput#url #url} => String
807
+ #
808
+ # @example Request syntax with placeholder values
809
+ #
810
+ # resp = client.create_studio({
811
+ # name: "XmlStringMaxLen256", # required
812
+ # description: "XmlStringMaxLen256",
813
+ # auth_mode: "SSO", # required, accepts SSO, IAM
814
+ # vpc_id: "XmlStringMaxLen256", # required
815
+ # subnet_ids: ["String"], # required
816
+ # service_role: "XmlString", # required
817
+ # user_role: "XmlString", # required
818
+ # workspace_security_group_id: "XmlStringMaxLen256", # required
819
+ # engine_security_group_id: "XmlStringMaxLen256", # required
820
+ # default_s3_location: "XmlString", # required
821
+ # tags: [
822
+ # {
823
+ # key: "String",
824
+ # value: "String",
825
+ # },
826
+ # ],
827
+ # })
828
+ #
829
+ # @example Response structure
830
+ #
831
+ # resp.studio_id #=> String
832
+ # resp.url #=> String
833
+ #
834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudio AWS API Documentation
835
+ #
836
+ # @overload create_studio(params = {})
837
+ # @param [Hash] params ({})
838
+ def create_studio(params = {}, options = {})
839
+ req = build_request(:create_studio, params)
840
+ req.send_request(options)
841
+ end
842
+
843
+ # Maps a user or group to the Amazon EMR Studio specified by `StudioId`,
844
+ # and applies a session policy to refine Studio permissions for that
845
+ # user or group.
846
+ #
847
+ # @option params [required, String] :studio_id
848
+ # The ID of the Amazon EMR Studio to which the user or group will be
849
+ # mapped.
850
+ #
851
+ # @option params [String] :identity_id
852
+ # The globally unique identifier (GUID) of the user or group from the
853
+ # AWS SSO Identity Store. For more information, see [UserId][1] and
854
+ # [GroupId][2] in the *AWS SSO Identity Store API Reference*. Either
855
+ # `IdentityName` or `IdentityId` must be specified.
856
+ #
857
+ #
858
+ #
859
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
860
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
861
+ #
862
+ # @option params [String] :identity_name
863
+ # The name of the user or group. For more information, see [UserName][1]
864
+ # and [DisplayName][2] in the *AWS SSO Identity Store API Reference*.
865
+ # Either `IdentityName` or `IdentityId` must be specified.
866
+ #
867
+ #
868
+ #
869
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
870
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
871
+ #
872
+ # @option params [required, String] :identity_type
873
+ # Specifies whether the identity to map to the Amazon EMR Studio is a
874
+ # user or a group.
875
+ #
876
+ # @option params [required, String] :session_policy_arn
877
+ # The Amazon Resource Name (ARN) for the session policy that will be
878
+ # applied to the user or group. Session policies refine Studio user
879
+ # permissions without the need to use multiple IAM user roles.
880
+ #
881
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
882
+ #
883
+ # @example Request syntax with placeholder values
884
+ #
885
+ # resp = client.create_studio_session_mapping({
886
+ # studio_id: "XmlStringMaxLen256", # required
887
+ # identity_id: "XmlStringMaxLen256",
888
+ # identity_name: "XmlStringMaxLen256",
889
+ # identity_type: "USER", # required, accepts USER, GROUP
890
+ # session_policy_arn: "XmlStringMaxLen256", # required
891
+ # })
892
+ #
893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioSessionMapping AWS API Documentation
894
+ #
895
+ # @overload create_studio_session_mapping(params = {})
896
+ # @param [Hash] params ({})
897
+ def create_studio_session_mapping(params = {}, options = {})
898
+ req = build_request(:create_studio_session_mapping, params)
899
+ req.send_request(options)
900
+ end
901
+
744
902
  # Deletes a security configuration.
745
903
  #
746
904
  # @option params [required, String] :name
@@ -763,6 +921,79 @@ module Aws::EMR
763
921
  req.send_request(options)
764
922
  end
765
923
 
924
+ # Removes an Amazon EMR Studio from the Studio metadata store.
925
+ #
926
+ # @option params [required, String] :studio_id
927
+ # The ID of the Amazon EMR Studio.
928
+ #
929
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
930
+ #
931
+ # @example Request syntax with placeholder values
932
+ #
933
+ # resp = client.delete_studio({
934
+ # studio_id: "XmlStringMaxLen256", # required
935
+ # })
936
+ #
937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudio AWS API Documentation
938
+ #
939
+ # @overload delete_studio(params = {})
940
+ # @param [Hash] params ({})
941
+ def delete_studio(params = {}, options = {})
942
+ req = build_request(:delete_studio, params)
943
+ req.send_request(options)
944
+ end
945
+
946
+ # Removes a user or group from an Amazon EMR Studio.
947
+ #
948
+ # @option params [required, String] :studio_id
949
+ # The ID of the Amazon EMR Studio.
950
+ #
951
+ # @option params [String] :identity_id
952
+ # The globally unique identifier (GUID) of the user or group to remove
953
+ # from the Amazon EMR Studio. For more information, see [UserId][1] and
954
+ # [GroupId][2] in the *AWS SSO Identity Store API Reference*. Either
955
+ # `IdentityName` or `IdentityId` must be specified.
956
+ #
957
+ #
958
+ #
959
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
960
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
961
+ #
962
+ # @option params [String] :identity_name
963
+ # The name of the user name or group to remove from the Amazon EMR
964
+ # Studio. For more information, see [UserName][1] and [DisplayName][2]
965
+ # in the *AWS SSO Identity Store API Reference*. Either `IdentityName`
966
+ # or `IdentityId` must be specified.
967
+ #
968
+ #
969
+ #
970
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
971
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
972
+ #
973
+ # @option params [required, String] :identity_type
974
+ # Specifies whether the identity to delete from the Amazon EMR Studio is
975
+ # a user or a group.
976
+ #
977
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
978
+ #
979
+ # @example Request syntax with placeholder values
980
+ #
981
+ # resp = client.delete_studio_session_mapping({
982
+ # studio_id: "XmlStringMaxLen256", # required
983
+ # identity_id: "XmlStringMaxLen256",
984
+ # identity_name: "XmlStringMaxLen256",
985
+ # identity_type: "USER", # required, accepts USER, GROUP
986
+ # })
987
+ #
988
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioSessionMapping AWS API Documentation
989
+ #
990
+ # @overload delete_studio_session_mapping(params = {})
991
+ # @param [Hash] params ({})
992
+ def delete_studio_session_mapping(params = {}, options = {})
993
+ req = build_request(:delete_studio_session_mapping, params)
994
+ req.send_request(options)
995
+ end
996
+
766
997
  # Provides cluster-level details including status, hardware and software
767
998
  # configuration, VPC settings, and so on.
768
999
  #
@@ -864,9 +1095,9 @@ module Aws::EMR
864
1095
  req.send_request(options)
865
1096
  end
866
1097
 
867
- # This API is deprecated and will eventually be removed. We recommend
868
- # you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups
869
- # and ListBootstrapActions instead.
1098
+ # This API is no longer supported and will eventually be removed. We
1099
+ # recommend you use ListClusters, DescribeCluster, ListSteps,
1100
+ # ListInstanceGroups and ListBootstrapActions instead.
870
1101
  #
871
1102
  # DescribeJobFlows returns a list of job flows that match all of the
872
1103
  # supplied parameters. The parameters can include a list of job flow
@@ -1122,6 +1353,52 @@ module Aws::EMR
1122
1353
  req.send_request(options)
1123
1354
  end
1124
1355
 
1356
+ # Returns details for the specified Amazon EMR Studio including ID,
1357
+ # Name, VPC, Studio access URL, and so on.
1358
+ #
1359
+ # @option params [required, String] :studio_id
1360
+ # The Amazon EMR Studio ID.
1361
+ #
1362
+ # @return [Types::DescribeStudioOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1363
+ #
1364
+ # * {Types::DescribeStudioOutput#studio #studio} => Types::Studio
1365
+ #
1366
+ # @example Request syntax with placeholder values
1367
+ #
1368
+ # resp = client.describe_studio({
1369
+ # studio_id: "XmlStringMaxLen256", # required
1370
+ # })
1371
+ #
1372
+ # @example Response structure
1373
+ #
1374
+ # resp.studio.studio_id #=> String
1375
+ # resp.studio.studio_arn #=> String
1376
+ # resp.studio.name #=> String
1377
+ # resp.studio.description #=> String
1378
+ # resp.studio.auth_mode #=> String, one of "SSO", "IAM"
1379
+ # resp.studio.vpc_id #=> String
1380
+ # resp.studio.subnet_ids #=> Array
1381
+ # resp.studio.subnet_ids[0] #=> String
1382
+ # resp.studio.service_role #=> String
1383
+ # resp.studio.user_role #=> String
1384
+ # resp.studio.workspace_security_group_id #=> String
1385
+ # resp.studio.engine_security_group_id #=> String
1386
+ # resp.studio.url #=> String
1387
+ # resp.studio.creation_time #=> Time
1388
+ # resp.studio.default_s3_location #=> String
1389
+ # resp.studio.tags #=> Array
1390
+ # resp.studio.tags[0].key #=> String
1391
+ # resp.studio.tags[0].value #=> String
1392
+ #
1393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudio AWS API Documentation
1394
+ #
1395
+ # @overload describe_studio(params = {})
1396
+ # @param [Hash] params ({})
1397
+ def describe_studio(params = {}, options = {})
1398
+ req = build_request(:describe_studio, params)
1399
+ req.send_request(options)
1400
+ end
1401
+
1125
1402
  # Returns the Amazon EMR block public access configuration for your AWS
1126
1403
  # account in the current Region. For more information see [Configure
1127
1404
  # Block Public Access for Amazon EMR][1] in the *Amazon EMR Management
@@ -1187,6 +1464,68 @@ module Aws::EMR
1187
1464
  req.send_request(options)
1188
1465
  end
1189
1466
 
1467
+ # Fetches mapping details for the specified Amazon EMR Studio and
1468
+ # identity (user or group).
1469
+ #
1470
+ # @option params [required, String] :studio_id
1471
+ # The ID of the Amazon EMR Studio.
1472
+ #
1473
+ # @option params [String] :identity_id
1474
+ # The globally unique identifier (GUID) of the user or group. For more
1475
+ # information, see [UserId][1] and [GroupId][2] in the *AWS SSO Identity
1476
+ # Store API Reference*. Either `IdentityName` or `IdentityId` must be
1477
+ # specified.
1478
+ #
1479
+ #
1480
+ #
1481
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1482
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
1483
+ #
1484
+ # @option params [String] :identity_name
1485
+ # The name of the user or group to fetch. For more information, see
1486
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store API
1487
+ # Reference*. Either `IdentityName` or `IdentityId` must be specified.
1488
+ #
1489
+ #
1490
+ #
1491
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
1492
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
1493
+ #
1494
+ # @option params [required, String] :identity_type
1495
+ # Specifies whether the identity to fetch is a user or a group.
1496
+ #
1497
+ # @return [Types::GetStudioSessionMappingOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1498
+ #
1499
+ # * {Types::GetStudioSessionMappingOutput#session_mapping #session_mapping} => Types::SessionMappingDetail
1500
+ #
1501
+ # @example Request syntax with placeholder values
1502
+ #
1503
+ # resp = client.get_studio_session_mapping({
1504
+ # studio_id: "XmlStringMaxLen256", # required
1505
+ # identity_id: "XmlStringMaxLen256",
1506
+ # identity_name: "XmlStringMaxLen256",
1507
+ # identity_type: "USER", # required, accepts USER, GROUP
1508
+ # })
1509
+ #
1510
+ # @example Response structure
1511
+ #
1512
+ # resp.session_mapping.studio_id #=> String
1513
+ # resp.session_mapping.identity_id #=> String
1514
+ # resp.session_mapping.identity_name #=> String
1515
+ # resp.session_mapping.identity_type #=> String, one of "USER", "GROUP"
1516
+ # resp.session_mapping.session_policy_arn #=> String
1517
+ # resp.session_mapping.creation_time #=> Time
1518
+ # resp.session_mapping.last_modified_time #=> Time
1519
+ #
1520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMapping AWS API Documentation
1521
+ #
1522
+ # @overload get_studio_session_mapping(params = {})
1523
+ # @param [Hash] params ({})
1524
+ def get_studio_session_mapping(params = {}, options = {})
1525
+ req = build_request(:get_studio_session_mapping, params)
1526
+ req.send_request(options)
1527
+ end
1528
+
1190
1529
  # Provides information about the bootstrap actions associated with a
1191
1530
  # cluster.
1192
1531
  #
@@ -1356,6 +1695,8 @@ module Aws::EMR
1356
1695
  # resp.instance_fleets[0].launch_specifications.spot_specification.block_duration_minutes #=> Integer
1357
1696
  # resp.instance_fleets[0].launch_specifications.spot_specification.allocation_strategy #=> String, one of "capacity-optimized"
1358
1697
  # resp.instance_fleets[0].launch_specifications.on_demand_specification.allocation_strategy #=> String, one of "lowest-price"
1698
+ # resp.instance_fleets[0].launch_specifications.on_demand_specification.capacity_reservation_options.usage_strategy #=> String, one of "use-capacity-reservations-first"
1699
+ # resp.instance_fleets[0].launch_specifications.on_demand_specification.capacity_reservation_options.capacity_reservation_preference #=> String, one of "open", "none"
1359
1700
  # resp.marker #=> String
1360
1701
  #
1361
1702
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets AWS API Documentation
@@ -1675,7 +2016,7 @@ module Aws::EMR
1675
2016
 
1676
2017
  # Provides a list of steps for the cluster in reverse order unless you
1677
2018
  # specify `stepIds` with the request of filter by `StepStates`. You can
1678
- # specify a maximum of ten `stepIDs`.
2019
+ # specify a maximum of 10 `stepIDs`.
1679
2020
  #
1680
2021
  # @option params [required, String] :cluster_id
1681
2022
  # The identifier of the cluster for which to list the steps.
@@ -1740,6 +2081,95 @@ module Aws::EMR
1740
2081
  req.send_request(options)
1741
2082
  end
1742
2083
 
2084
+ # Returns a list of all user or group session mappings for the Amazon
2085
+ # EMR Studio specified by `StudioId`.
2086
+ #
2087
+ # @option params [String] :studio_id
2088
+ # The ID of the Amazon EMR Studio.
2089
+ #
2090
+ # @option params [String] :identity_type
2091
+ # Specifies whether to return session mappings for users or groups. If
2092
+ # not specified, the results include session mapping details for both
2093
+ # users and groups.
2094
+ #
2095
+ # @option params [String] :marker
2096
+ # The pagination token that indicates the set of results to retrieve.
2097
+ #
2098
+ # @return [Types::ListStudioSessionMappingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2099
+ #
2100
+ # * {Types::ListStudioSessionMappingsOutput#session_mappings #session_mappings} => Array&lt;Types::SessionMappingSummary&gt;
2101
+ # * {Types::ListStudioSessionMappingsOutput#marker #marker} => String
2102
+ #
2103
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2104
+ #
2105
+ # @example Request syntax with placeholder values
2106
+ #
2107
+ # resp = client.list_studio_session_mappings({
2108
+ # studio_id: "XmlStringMaxLen256",
2109
+ # identity_type: "USER", # accepts USER, GROUP
2110
+ # marker: "Marker",
2111
+ # })
2112
+ #
2113
+ # @example Response structure
2114
+ #
2115
+ # resp.session_mappings #=> Array
2116
+ # resp.session_mappings[0].studio_id #=> String
2117
+ # resp.session_mappings[0].identity_id #=> String
2118
+ # resp.session_mappings[0].identity_name #=> String
2119
+ # resp.session_mappings[0].identity_type #=> String, one of "USER", "GROUP"
2120
+ # resp.session_mappings[0].session_policy_arn #=> String
2121
+ # resp.session_mappings[0].creation_time #=> Time
2122
+ # resp.marker #=> String
2123
+ #
2124
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappings AWS API Documentation
2125
+ #
2126
+ # @overload list_studio_session_mappings(params = {})
2127
+ # @param [Hash] params ({})
2128
+ def list_studio_session_mappings(params = {}, options = {})
2129
+ req = build_request(:list_studio_session_mappings, params)
2130
+ req.send_request(options)
2131
+ end
2132
+
2133
+ # Returns a list of all Amazon EMR Studios associated with the AWS
2134
+ # account. The list includes details such as ID, Studio Access URL, and
2135
+ # creation time for each Studio.
2136
+ #
2137
+ # @option params [String] :marker
2138
+ # The pagination token that indicates the set of results to retrieve.
2139
+ #
2140
+ # @return [Types::ListStudiosOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2141
+ #
2142
+ # * {Types::ListStudiosOutput#studios #studios} => Array&lt;Types::StudioSummary&gt;
2143
+ # * {Types::ListStudiosOutput#marker #marker} => String
2144
+ #
2145
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2146
+ #
2147
+ # @example Request syntax with placeholder values
2148
+ #
2149
+ # resp = client.list_studios({
2150
+ # marker: "Marker",
2151
+ # })
2152
+ #
2153
+ # @example Response structure
2154
+ #
2155
+ # resp.studios #=> Array
2156
+ # resp.studios[0].studio_id #=> String
2157
+ # resp.studios[0].name #=> String
2158
+ # resp.studios[0].vpc_id #=> String
2159
+ # resp.studios[0].description #=> String
2160
+ # resp.studios[0].url #=> String
2161
+ # resp.studios[0].creation_time #=> Time
2162
+ # resp.marker #=> String
2163
+ #
2164
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudios AWS API Documentation
2165
+ #
2166
+ # @overload list_studios(params = {})
2167
+ # @param [Hash] params ({})
2168
+ def list_studios(params = {}, options = {})
2169
+ req = build_request(:list_studios, params)
2170
+ req.send_request(options)
2171
+ end
2172
+
1743
2173
  # Modifies the number of steps that can be executed concurrently for the
1744
2174
  # cluster specified using ClusterID.
1745
2175
  #
@@ -1748,7 +2178,7 @@ module Aws::EMR
1748
2178
  #
1749
2179
  # @option params [Integer] :step_concurrency_level
1750
2180
  # The number of steps that can be executed concurrently. You can specify
1751
- # a maximum of 256 steps.
2181
+ # a minimum of 1 step and a maximum of 256 steps.
1752
2182
  #
1753
2183
  # @return [Types::ModifyClusterOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1754
2184
  #
@@ -2202,9 +2632,9 @@ module Aws::EMR
2202
2632
  #
2203
2633
  # @option params [String] :log_encryption_kms_key_id
2204
2634
  # The AWS KMS customer master key (CMK) used for encrypting log files.
2205
- # If a value is not provided, the logs will remain encrypted by AES-256.
2206
- # This attribute is only available with EMR version 5.30.0 and later,
2207
- # excluding EMR 6.0.0.
2635
+ # If a value is not provided, the logs remain encrypted by AES-256. This
2636
+ # attribute is only available with Amazon EMR version 5.30.0 and later,
2637
+ # excluding Amazon EMR 6.0.0.
2208
2638
  #
2209
2639
  # @option params [String] :additional_info
2210
2640
  # A JSON string for selecting additional features.
@@ -2280,7 +2710,7 @@ module Aws::EMR
2280
2710
  #
2281
2711
  # * "mapr-m7" - launch the cluster using MapR M7 Edition.
2282
2712
  #
2283
- # * "hunk" - launch the cluster with the Hunk Big Data Analtics
2713
+ # * "hunk" - launch the cluster with the Hunk Big Data Analytics
2284
2714
  # Platform.
2285
2715
  #
2286
2716
  # * "hue"- launch the cluster with Hue installed.
@@ -2345,13 +2775,13 @@ module Aws::EMR
2345
2775
  # terminate the instance was submitted. This option is only available
2346
2776
  # with Amazon EMR 5.1.0 and later and is the default for clusters
2347
2777
  # created using that version. `TERMINATE_AT_TASK_COMPLETION` indicates
2348
- # that Amazon EMR blacklists and drains tasks from nodes before
2349
- # terminating the Amazon EC2 instances, regardless of the instance-hour
2350
- # boundary. With either behavior, Amazon EMR removes the least active
2351
- # nodes first and blocks instance termination if it could lead to HDFS
2352
- # corruption. `TERMINATE_AT_TASK_COMPLETION` available only in Amazon
2353
- # EMR version 4.1.0 and later, and is the default for versions of Amazon
2354
- # EMR earlier than 5.1.0.
2778
+ # that Amazon EMR adds nodes to a deny list and drains tasks from nodes
2779
+ # before terminating the Amazon EC2 instances, regardless of the
2780
+ # instance-hour boundary. With either behavior, Amazon EMR removes the
2781
+ # least active nodes first and blocks instance termination if it could
2782
+ # lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION` available only
2783
+ # in Amazon EMR version 4.1.0 and later, and is the default for versions
2784
+ # of Amazon EMR earlier than 5.1.0.
2355
2785
  #
2356
2786
  # @option params [String] :custom_ami_id
2357
2787
  # Available only in Amazon EMR version 5.7.0 and later. The ID of a
@@ -2374,9 +2804,9 @@ module Aws::EMR
2374
2804
  # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html
2375
2805
  #
2376
2806
  # @option params [Integer] :ebs_root_volume_size
2377
- # The size, in GiB, of the EBS root device volume of the Linux AMI that
2378
- # is used for each EC2 instance. Available in Amazon EMR version 4.x and
2379
- # later.
2807
+ # The size, in GiB, of the Amazon EBS root device volume of the Linux
2808
+ # AMI that is used for each EC2 instance. Available in Amazon EMR
2809
+ # version 4.x and later.
2380
2810
  #
2381
2811
  # @option params [String] :repo_upgrade_on_boot
2382
2812
  # Applies only when `CustomAmiID` is used. Specifies which updates from
@@ -2389,7 +2819,7 @@ module Aws::EMR
2389
2819
  # @option params [Types::KerberosAttributes] :kerberos_attributes
2390
2820
  # Attributes for Kerberos configuration when Kerberos authentication is
2391
2821
  # enabled using a security configuration. For more information see [Use
2392
- # Kerberos Authentication][1] in the *EMR Management Guide*.
2822
+ # Kerberos Authentication][1] in the *Amazon EMR Management Guide*.
2393
2823
  #
2394
2824
  #
2395
2825
  #
@@ -2542,6 +2972,10 @@ module Aws::EMR
2542
2972
  # },
2543
2973
  # on_demand_specification: {
2544
2974
  # allocation_strategy: "lowest-price", # required, accepts lowest-price
2975
+ # capacity_reservation_options: {
2976
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
2977
+ # capacity_reservation_preference: "open", # accepts open, none
2978
+ # },
2545
2979
  # },
2546
2980
  # },
2547
2981
  # },
@@ -2799,7 +3233,7 @@ module Aws::EMR
2799
3233
  #
2800
3234
  # @option params [Array<Types::Tag>] :tags
2801
3235
  # A list of tags associated with a notebook execution. Tags are
2802
- # user-defined key value pairs that consist of a required key string
3236
+ # user-defined key-value pairs that consist of a required key string
2803
3237
  # with a maximum of 128 characters and an optional value string with a
2804
3238
  # maximum of 256 characters.
2805
3239
  #
@@ -2877,7 +3311,7 @@ module Aws::EMR
2877
3311
  # EC2 instances.
2878
3312
  #
2879
3313
  # @option params [required, Array<String>] :job_flow_ids
2880
- # A list of job flows to be shutdown.
3314
+ # A list of job flows to be shut down.
2881
3315
  #
2882
3316
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2883
3317
  #
@@ -2896,6 +3330,106 @@ module Aws::EMR
2896
3330
  req.send_request(options)
2897
3331
  end
2898
3332
 
3333
+ # Updates an Amazon EMR Studio configuration, including attributes such
3334
+ # as name, description, and subnets.
3335
+ #
3336
+ # @option params [required, String] :studio_id
3337
+ # The ID of the Amazon EMR Studio to update.
3338
+ #
3339
+ # @option params [String] :name
3340
+ # A descriptive name for the Amazon EMR Studio.
3341
+ #
3342
+ # @option params [String] :description
3343
+ # A detailed description to assign to the Amazon EMR Studio.
3344
+ #
3345
+ # @option params [Array<String>] :subnet_ids
3346
+ # A list of subnet IDs to associate with the Amazon EMR Studio. The list
3347
+ # can include new subnet IDs, but must also include all of the subnet
3348
+ # IDs previously associated with the Studio. The list order does not
3349
+ # matter. A Studio can have a maximum of 5 subnets. The subnets must
3350
+ # belong to the same VPC as the Studio.
3351
+ #
3352
+ # @option params [String] :default_s3_location
3353
+ # A default Amazon S3 location to back up Workspaces and notebook files
3354
+ # for the Amazon EMR Studio. A Studio user can select an alternative
3355
+ # Amazon S3 location when creating a Workspace.
3356
+ #
3357
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3358
+ #
3359
+ # @example Request syntax with placeholder values
3360
+ #
3361
+ # resp = client.update_studio({
3362
+ # studio_id: "XmlStringMaxLen256", # required
3363
+ # name: "XmlStringMaxLen256",
3364
+ # description: "XmlStringMaxLen256",
3365
+ # subnet_ids: ["String"],
3366
+ # default_s3_location: "XmlString",
3367
+ # })
3368
+ #
3369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudio AWS API Documentation
3370
+ #
3371
+ # @overload update_studio(params = {})
3372
+ # @param [Hash] params ({})
3373
+ def update_studio(params = {}, options = {})
3374
+ req = build_request(:update_studio, params)
3375
+ req.send_request(options)
3376
+ end
3377
+
3378
+ # Updates the session policy attached to the user or group for the
3379
+ # specified Amazon EMR Studio.
3380
+ #
3381
+ # @option params [required, String] :studio_id
3382
+ # The ID of the Amazon EMR Studio.
3383
+ #
3384
+ # @option params [String] :identity_id
3385
+ # The globally unique identifier (GUID) of the user or group. For more
3386
+ # information, see [UserId][1] and [GroupId][2] in the *AWS SSO Identity
3387
+ # Store API Reference*. Either `IdentityName` or `IdentityId` must be
3388
+ # specified.
3389
+ #
3390
+ #
3391
+ #
3392
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
3393
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
3394
+ #
3395
+ # @option params [String] :identity_name
3396
+ # The name of the user or group to update. For more information, see
3397
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store API
3398
+ # Reference*. Either `IdentityName` or `IdentityId` must be specified.
3399
+ #
3400
+ #
3401
+ #
3402
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
3403
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
3404
+ #
3405
+ # @option params [required, String] :identity_type
3406
+ # Specifies whether the identity to update is a user or a group.
3407
+ #
3408
+ # @option params [required, String] :session_policy_arn
3409
+ # The Amazon Resource Name (ARN) of the session policy to associate with
3410
+ # the specified user or group.
3411
+ #
3412
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3413
+ #
3414
+ # @example Request syntax with placeholder values
3415
+ #
3416
+ # resp = client.update_studio_session_mapping({
3417
+ # studio_id: "XmlStringMaxLen256", # required
3418
+ # identity_id: "XmlStringMaxLen256",
3419
+ # identity_name: "XmlStringMaxLen256",
3420
+ # identity_type: "USER", # required, accepts USER, GROUP
3421
+ # session_policy_arn: "XmlStringMaxLen256", # required
3422
+ # })
3423
+ #
3424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioSessionMapping AWS API Documentation
3425
+ #
3426
+ # @overload update_studio_session_mapping(params = {})
3427
+ # @param [Hash] params ({})
3428
+ def update_studio_session_mapping(params = {}, options = {})
3429
+ req = build_request(:update_studio_session_mapping, params)
3430
+ req.send_request(options)
3431
+ end
3432
+
2899
3433
  # @!endgroup
2900
3434
 
2901
3435
  # @param params ({})
@@ -2909,7 +3443,7 @@ module Aws::EMR
2909
3443
  params: params,
2910
3444
  config: config)
2911
3445
  context[:gem_name] = 'aws-sdk-emr'
2912
- context[:gem_version] = '1.39.0'
3446
+ context[:gem_version] = '1.44.0'
2913
3447
  Seahorse::Client::Request.new(handlers, context)
2914
3448
  end
2915
3449