aws-sdk-emr 1.39.0 → 1.44.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.
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