aws-sdk-emr 1.63.0 → 1.65.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: 07525df21648dd6da35fbc35defea43d52f53933739c1da0a78d152c9e2972e5
4
- data.tar.gz: 60bcd8cd8bd75c584de50e76857b70b720d1ac1424336d56f21aa57624ec00f1
3
+ metadata.gz: eaf39c07378851adae15288fd886add00651fecee4c6d0c4c5c3e23283cefc24
4
+ data.tar.gz: b94977ad5e357a20c7b82d2fc0e6658c413e7d1f06b8f85f8020a812b7565521
5
5
  SHA512:
6
- metadata.gz: d414c1916ddc552b28e9eb224d9e8b9111713735ba2c1af5dceb44f45b8fb6b9d7c08c9e9f78aeeb05c19eddb47ad606084cdd989bcb8034422a82a2805b52c7
7
- data.tar.gz: 4eb117349eff991fde411884baf1314d70d7aebcfb676b57b683526e29e5fb83fafc79565d22d4352e067730705984929d7700d14289bef8c04b104db6b28d2e
6
+ metadata.gz: 4c6ca1a23bf45aae90f5969543f4588b341c7c5a40771ac7dd4adfca07255b871efa0da5fe60c6a957b49cdd53d74cd353bafca32d6237ff0a65d81173db207f
7
+ data.tar.gz: 666e2d65d592cef9d6e5f71ba9be279420e25aceb458234df4e73782e4934f78cbeb923a845c55ad1baa010dd2769cf4561071ff6da1844122e75808abf101e2
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.65.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.64.0 (2022-12-29)
12
+ ------------------
13
+
14
+ * Feature - Added GetClusterSessionCredentials API to allow Amazon SageMaker Studio to connect to EMR on EC2 clusters with runtime roles and AWS Lake Formation-based access control for Apache Spark, Apache Hive, and Presto queries.
15
+
4
16
  1.63.0 (2022-10-25)
5
17
  ------------------
6
18
 
@@ -385,4 +397,4 @@ Unreleased Changes
385
397
  1.0.0.rc1 (2016-12-05)
386
398
  ------------------
387
399
 
388
- * Feature - Initial preview release of the `aws-sdk-emr` gem.
400
+ * Feature - Initial preview release of the `aws-sdk-emr` gem.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.63.0
1
+ 1.65.0
@@ -591,9 +591,7 @@ module Aws::EMR
591
591
  # complex, you may require more than 256 steps to process your data. You
592
592
  # can bypass the 256-step limitation in various ways, including using
593
593
  # SSH to connect to the master node and submitting queries directly to
594
- # the software running on the master node, such as Hive and Hadoop. For
595
- # more information on how to do this, see [Add More than 256 Steps to a
596
- # Cluster][1] in the *Amazon EMR Management Guide*.
594
+ # the software running on the master node, such as Hive and Hadoop.
597
595
  #
598
596
  # A step specifies the location of a JAR file stored either on the
599
597
  # master node of the cluster or in Amazon S3. Each step is performed by
@@ -614,10 +612,6 @@ module Aws::EMR
614
612
  #
615
613
  # </note>
616
614
  #
617
- #
618
- #
619
- # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html
620
- #
621
615
  # @option params [required, String] :job_flow_id
622
616
  # A string that uniquely identifies the job flow. This identifier is
623
617
  # returned by RunJobFlow and can also be obtained from ListClusters.
@@ -819,8 +813,8 @@ module Aws::EMR
819
813
  # A detailed description of the Amazon EMR Studio.
820
814
  #
821
815
  # @option params [required, String] :auth_mode
822
- # Specifies whether the Studio authenticates users using IAM or Amazon
823
- # Web Services SSO.
816
+ # Specifies whether the Studio authenticates users using IAM or IAM
817
+ # Identity Center.
824
818
  #
825
819
  # @option params [required, String] :vpc_id
826
820
  # The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate
@@ -839,10 +833,9 @@ module Aws::EMR
839
833
  #
840
834
  # @option params [String] :user_role
841
835
  # The IAM user role that users and groups assume when logged in to an
842
- # Amazon EMR Studio. Only specify a `UserRole` when you use Amazon Web
843
- # Services SSO authentication. The permissions attached to the
844
- # `UserRole` can be scoped down for each user or group using session
845
- # policies.
836
+ # Amazon EMR Studio. Only specify a `UserRole` when you use IAM Identity
837
+ # Center authentication. The permissions attached to the `UserRole` can
838
+ # be scoped down for each user or group using session policies.
846
839
  #
847
840
  # @option params [required, String] :workspace_security_group_id
848
841
  # The ID of the Amazon EMR Studio Workspace security group. The
@@ -924,7 +917,7 @@ module Aws::EMR
924
917
  # Maps a user or group to the Amazon EMR Studio specified by `StudioId`,
925
918
  # and applies a session policy to refine Studio permissions for that
926
919
  # user or group. Use `CreateStudioSessionMapping` to assign users to a
927
- # Studio when you use Amazon Web Services SSO authentication. For
920
+ # Studio when you use IAM Identity Center authentication. For
928
921
  # instructions on how to assign users to a Studio when you use IAM
929
922
  # authentication, see [Assign a user or group to your EMR Studio][1].
930
923
  #
@@ -938,8 +931,8 @@ module Aws::EMR
938
931
  #
939
932
  # @option params [String] :identity_id
940
933
  # The globally unique identifier (GUID) of the user or group from the
941
- # Amazon Web Services SSO Identity Store. For more information, see
942
- # [UserId][1] and [GroupId][2] in the *Amazon Web Services SSO Identity
934
+ # IAM Identity Center Identity Store. For more information, see
935
+ # [UserId][1] and [GroupId][2] in the *IAM Identity Center Identity
943
936
  # Store API Reference*. Either `IdentityName` or `IdentityId` must be
944
937
  # specified, but not both.
945
938
  #
@@ -950,9 +943,9 @@ module Aws::EMR
950
943
  #
951
944
  # @option params [String] :identity_name
952
945
  # The name of the user or group. For more information, see [UserName][1]
953
- # and [DisplayName][2] in the *Amazon Web Services SSO Identity Store
954
- # API Reference*. Either `IdentityName` or `IdentityId` must be
955
- # specified, but not both.
946
+ # and [DisplayName][2] in the *IAM Identity Center Identity Store API
947
+ # Reference*. Either `IdentityName` or `IdentityId` must be specified,
948
+ # but not both.
956
949
  #
957
950
  #
958
951
  #
@@ -1047,7 +1040,7 @@ module Aws::EMR
1047
1040
  # @option params [String] :identity_id
1048
1041
  # The globally unique identifier (GUID) of the user or group to remove
1049
1042
  # from the Amazon EMR Studio. For more information, see [UserId][1] and
1050
- # [GroupId][2] in the *Amazon Web Services SSO Identity Store API
1043
+ # [GroupId][2] in the *IAM Identity Center Identity Store API
1051
1044
  # Reference*. Either `IdentityName` or `IdentityId` must be specified.
1052
1045
  #
1053
1046
  #
@@ -1058,7 +1051,7 @@ module Aws::EMR
1058
1051
  # @option params [String] :identity_name
1059
1052
  # The name of the user name or group to remove from the Amazon EMR
1060
1053
  # Studio. For more information, see [UserName][1] and [DisplayName][2]
1061
- # in the *Amazon Web Services SSO Store API Reference*. Either
1054
+ # in the *IAM Identity Center Store API Reference*. Either
1062
1055
  # `IdentityName` or `IdentityId` must be specified.
1063
1056
  #
1064
1057
  #
@@ -1609,6 +1602,49 @@ module Aws::EMR
1609
1602
  req.send_request(options)
1610
1603
  end
1611
1604
 
1605
+ # Provides Temporary, basic HTTP credentials that are associated with a
1606
+ # given runtime IAM role and used by a cluster with fine-grained access
1607
+ # control activated. You can use these credentials to connect to cluster
1608
+ # endpoints that support username-based and password-based
1609
+ # authentication.
1610
+ #
1611
+ # @option params [required, String] :cluster_id
1612
+ # The unique identifier of the cluster.
1613
+ #
1614
+ # @option params [required, String] :execution_role_arn
1615
+ # The Amazon Resource Name (ARN) of the runtime role for interactive
1616
+ # workload submission on the cluster. The runtime role can be a
1617
+ # cross-account IAM role. The runtime role ARN is a combination of
1618
+ # account ID, role name, and role type using the following format:
1619
+ # `arn:partition:service:region:account:resource`.
1620
+ #
1621
+ # @return [Types::GetClusterSessionCredentialsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1622
+ #
1623
+ # * {Types::GetClusterSessionCredentialsOutput#credentials #credentials} => Types::Credentials
1624
+ # * {Types::GetClusterSessionCredentialsOutput#expires_at #expires_at} => Time
1625
+ #
1626
+ # @example Request syntax with placeholder values
1627
+ #
1628
+ # resp = client.get_cluster_session_credentials({
1629
+ # cluster_id: "XmlStringMaxLen256", # required
1630
+ # execution_role_arn: "ArnType", # required
1631
+ # })
1632
+ #
1633
+ # @example Response structure
1634
+ #
1635
+ # resp.credentials.username_password.username #=> String
1636
+ # resp.credentials.username_password.password #=> String
1637
+ # resp.expires_at #=> Time
1638
+ #
1639
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetClusterSessionCredentials AWS API Documentation
1640
+ #
1641
+ # @overload get_cluster_session_credentials(params = {})
1642
+ # @param [Hash] params ({})
1643
+ def get_cluster_session_credentials(params = {}, options = {})
1644
+ req = build_request(:get_cluster_session_credentials, params)
1645
+ req.send_request(options)
1646
+ end
1647
+
1612
1648
  # Fetches the attached managed scaling policy for an Amazon EMR cluster.
1613
1649
  #
1614
1650
  # @option params [required, String] :cluster_id
@@ -1650,8 +1686,8 @@ module Aws::EMR
1650
1686
  #
1651
1687
  # @option params [String] :identity_id
1652
1688
  # The globally unique identifier (GUID) of the user or group. For more
1653
- # information, see [UserId][1] and [GroupId][2] in the *Amazon Web
1654
- # Services SSO Identity Store API Reference*. Either `IdentityName` or
1689
+ # information, see [UserId][1] and [GroupId][2] in the *IAM Identity
1690
+ # Center Identity Store API Reference*. Either `IdentityName` or
1655
1691
  # `IdentityId` must be specified.
1656
1692
  #
1657
1693
  #
@@ -1661,7 +1697,7 @@ module Aws::EMR
1661
1697
  #
1662
1698
  # @option params [String] :identity_name
1663
1699
  # The name of the user or group to fetch. For more information, see
1664
- # [UserName][1] and [DisplayName][2] in the *Amazon Web Services SSO
1700
+ # [UserName][1] and [DisplayName][2] in the *IAM Identity Center
1665
1701
  # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
1666
1702
  # must be specified.
1667
1703
  #
@@ -2923,10 +2959,9 @@ module Aws::EMR
2923
2959
  # can bypass the 256-step limitation in various ways, including using
2924
2960
  # the SSH shell to connect to the master node and submitting queries
2925
2961
  # directly to the software running on the master node, such as Hive and
2926
- # Hadoop. For more information on how to do this, see [Add More than 256
2927
- # Steps to a Cluster][1] in the *Amazon EMR Management Guide*.
2962
+ # Hadoop.
2928
2963
  #
2929
- # For long running clusters, we recommend that you periodically store
2964
+ # For long-running clusters, we recommend that you periodically store
2930
2965
  # your results.
2931
2966
  #
2932
2967
  # <note markdown="1"> The instance fleets configuration is available only in Amazon EMR
@@ -2936,10 +2971,6 @@ module Aws::EMR
2936
2971
  #
2937
2972
  # </note>
2938
2973
  #
2939
- #
2940
- #
2941
- # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html
2942
- #
2943
2974
  # @option params [required, String] :name
2944
2975
  # The name of the job flow.
2945
2976
  #
@@ -3084,7 +3115,9 @@ module Aws::EMR
3084
3115
  #
3085
3116
  # @option params [String] :service_role
3086
3117
  # The IAM role that Amazon EMR assumes in order to access Amazon Web
3087
- # Services resources on your behalf.
3118
+ # Services resources on your behalf. If you've created a custom service
3119
+ # role path, you must specify it for the service role when you launch
3120
+ # your cluster.
3088
3121
  #
3089
3122
  # @option params [Array<Types::Tag>] :tags
3090
3123
  # A list of tags to associate with a cluster and propagate to Amazon EC2
@@ -3751,8 +3784,8 @@ module Aws::EMR
3751
3784
  #
3752
3785
  # @option params [String] :identity_id
3753
3786
  # The globally unique identifier (GUID) of the user or group. For more
3754
- # information, see [UserId][1] and [GroupId][2] in the *Amazon Web
3755
- # Services SSO Identity Store API Reference*. Either `IdentityName` or
3787
+ # information, see [UserId][1] and [GroupId][2] in the *IAM Identity
3788
+ # Center Identity Store API Reference*. Either `IdentityName` or
3756
3789
  # `IdentityId` must be specified.
3757
3790
  #
3758
3791
  #
@@ -3762,7 +3795,7 @@ module Aws::EMR
3762
3795
  #
3763
3796
  # @option params [String] :identity_name
3764
3797
  # The name of the user or group to update. For more information, see
3765
- # [UserName][1] and [DisplayName][2] in the *Amazon Web Services SSO
3798
+ # [UserName][1] and [DisplayName][2] in the *IAM Identity Center
3766
3799
  # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
3767
3800
  # must be specified.
3768
3801
  #
@@ -3812,7 +3845,7 @@ module Aws::EMR
3812
3845
  params: params,
3813
3846
  config: config)
3814
3847
  context[:gem_name] = 'aws-sdk-emr'
3815
- context[:gem_version] = '1.63.0'
3848
+ context[:gem_version] = '1.65.0'
3816
3849
  Seahorse::Client::Request.new(handlers, context)
3817
3850
  end
3818
3851
 
@@ -70,6 +70,7 @@ module Aws::EMR
70
70
  CreateStudioInput = Shapes::StructureShape.new(name: 'CreateStudioInput')
71
71
  CreateStudioOutput = Shapes::StructureShape.new(name: 'CreateStudioOutput')
72
72
  CreateStudioSessionMappingInput = Shapes::StructureShape.new(name: 'CreateStudioSessionMappingInput')
73
+ Credentials = Shapes::UnionShape.new(name: 'Credentials')
73
74
  Date = Shapes::TimestampShape.new(name: 'Date')
74
75
  DeleteSecurityConfigurationInput = Shapes::StructureShape.new(name: 'DeleteSecurityConfigurationInput')
75
76
  DeleteSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'DeleteSecurityConfigurationOutput')
@@ -108,6 +109,8 @@ module Aws::EMR
108
109
  GetAutoTerminationPolicyOutput = Shapes::StructureShape.new(name: 'GetAutoTerminationPolicyOutput')
109
110
  GetBlockPublicAccessConfigurationInput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationInput')
110
111
  GetBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationOutput')
112
+ GetClusterSessionCredentialsInput = Shapes::StructureShape.new(name: 'GetClusterSessionCredentialsInput')
113
+ GetClusterSessionCredentialsOutput = Shapes::StructureShape.new(name: 'GetClusterSessionCredentialsOutput')
111
114
  GetManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyInput')
112
115
  GetManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyOutput')
113
116
  GetStudioSessionMappingInput = Shapes::StructureShape.new(name: 'GetStudioSessionMappingInput')
@@ -312,6 +315,7 @@ module Aws::EMR
312
315
  Unit = Shapes::StringShape.new(name: 'Unit')
313
316
  UpdateStudioInput = Shapes::StructureShape.new(name: 'UpdateStudioInput')
314
317
  UpdateStudioSessionMappingInput = Shapes::StructureShape.new(name: 'UpdateStudioSessionMappingInput')
318
+ UsernamePassword = Shapes::StructureShape.new(name: 'UsernamePassword')
315
319
  VolumeSpecification = Shapes::StructureShape.new(name: 'VolumeSpecification')
316
320
  WholeNumber = Shapes::IntegerShape.new(name: 'WholeNumber')
317
321
  XmlString = Shapes::StringShape.new(name: 'XmlString')
@@ -538,6 +542,12 @@ module Aws::EMR
538
542
  CreateStudioSessionMappingInput.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "SessionPolicyArn"))
539
543
  CreateStudioSessionMappingInput.struct_class = Types::CreateStudioSessionMappingInput
540
544
 
545
+ Credentials.add_member(:username_password, Shapes::ShapeRef.new(shape: UsernamePassword, location_name: "UsernamePassword"))
546
+ Credentials.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
547
+ Credentials.add_member_subclass(:username_password, Types::Credentials::UsernamePassword)
548
+ Credentials.add_member_subclass(:unknown, Types::Credentials::Unknown)
549
+ Credentials.struct_class = Types::Credentials
550
+
541
551
  DeleteSecurityConfigurationInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Name"))
542
552
  DeleteSecurityConfigurationInput.struct_class = Types::DeleteSecurityConfigurationInput
543
553
 
@@ -666,6 +676,14 @@ module Aws::EMR
666
676
  GetBlockPublicAccessConfigurationOutput.add_member(:block_public_access_configuration_metadata, Shapes::ShapeRef.new(shape: BlockPublicAccessConfigurationMetadata, required: true, location_name: "BlockPublicAccessConfigurationMetadata"))
667
677
  GetBlockPublicAccessConfigurationOutput.struct_class = Types::GetBlockPublicAccessConfigurationOutput
668
678
 
679
+ GetClusterSessionCredentialsInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "ClusterId"))
680
+ GetClusterSessionCredentialsInput.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: ArnType, required: true, location_name: "ExecutionRoleArn"))
681
+ GetClusterSessionCredentialsInput.struct_class = Types::GetClusterSessionCredentialsInput
682
+
683
+ GetClusterSessionCredentialsOutput.add_member(:credentials, Shapes::ShapeRef.new(shape: Credentials, location_name: "Credentials"))
684
+ GetClusterSessionCredentialsOutput.add_member(:expires_at, Shapes::ShapeRef.new(shape: Date, location_name: "ExpiresAt"))
685
+ GetClusterSessionCredentialsOutput.struct_class = Types::GetClusterSessionCredentialsOutput
686
+
669
687
  GetManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
670
688
  GetManagedScalingPolicyInput.struct_class = Types::GetManagedScalingPolicyInput
671
689
 
@@ -1455,6 +1473,10 @@ module Aws::EMR
1455
1473
  UpdateStudioSessionMappingInput.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "SessionPolicyArn"))
1456
1474
  UpdateStudioSessionMappingInput.struct_class = Types::UpdateStudioSessionMappingInput
1457
1475
 
1476
+ UsernamePassword.add_member(:username, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Username"))
1477
+ UsernamePassword.add_member(:password, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Password"))
1478
+ UsernamePassword.struct_class = Types::UsernamePassword
1479
+
1458
1480
  VolumeSpecification.add_member(:volume_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VolumeType"))
1459
1481
  VolumeSpecification.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "Iops"))
1460
1482
  VolumeSpecification.add_member(:size_in_gb, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "SizeInGB"))
@@ -1680,6 +1702,16 @@ module Aws::EMR
1680
1702
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1681
1703
  end)
1682
1704
 
1705
+ api.add_operation(:get_cluster_session_credentials, Seahorse::Model::Operation.new.tap do |o|
1706
+ o.name = "GetClusterSessionCredentials"
1707
+ o.http_method = "POST"
1708
+ o.http_request_uri = "/"
1709
+ o.input = Shapes::ShapeRef.new(shape: GetClusterSessionCredentialsInput)
1710
+ o.output = Shapes::ShapeRef.new(shape: GetClusterSessionCredentialsOutput)
1711
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1712
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1713
+ end)
1714
+
1683
1715
  api.add_operation(:get_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1684
1716
  o.name = "GetManagedScalingPolicy"
1685
1717
  o.http_method = "POST"
@@ -50,6 +50,9 @@ module Aws::EMR
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
53
56
  self[:use_dual_stack] = options[:use_dual_stack]
54
57
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
58
  if self[:use_dual_stack].nil?
@@ -9,110 +9,46 @@
9
9
 
10
10
  module Aws::EMR
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint)
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
39
+ end
40
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
41
+ end
42
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
43
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
44
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
45
+ end
46
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
47
+ end
48
+ return Aws::Endpoints::Endpoint.new(url: "https://elasticmapreduce.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
21
49
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
50
+ raise ArgumentError, 'No endpoint could be resolved'
24
51
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
52
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL2VsYXN0aWNtYXByZWR1Y2UtZmlwcy57UmVn
77
- aW9ufS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ruc1N1ZmZpeH0iLCJw
78
- cm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQi
79
- fV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBhbmQgRHVhbFN0
80
- YWNrIGFyZSBlbmFibGVkLCBidXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qg
81
- c3VwcG9ydCBvbmUgb3IgYm90aCIsInR5cGUiOiJlcnJvciJ9XX0seyJjb25k
82
- aXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbeyJyZWYi
83
- OiJVc2VGSVBTIn0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3si
84
- Y29uZGl0aW9ucyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3Ry
85
- dWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25S
86
- ZXN1bHQifSwic3VwcG9ydHNGSVBTIl19XX1dLCJ0eXBlIjoidHJlZSIsInJ1
87
- bGVzIjpbeyJjb25kaXRpb25zIjpbXSwidHlwZSI6InRyZWUiLCJydWxlcyI6
88
- W3siY29uZGl0aW9ucyI6W3siZm4iOiJzdHJpbmdFcXVhbHMiLCJhcmd2Ijpb
89
- ImF3cy11cy1nb3YiLHsiZm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoi
90
- UGFydGl0aW9uUmVzdWx0In0sIm5hbWUiXX1dfV0sImVuZHBvaW50Ijp7InVy
91
- bCI6Imh0dHBzOi8vZWxhc3RpY21hcHJlZHVjZS57UmVnaW9ufS57UGFydGl0
92
- aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVy
93
- cyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifSx7ImNvbmRpdGlvbnMiOltdLCJl
94
- bmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2VsYXN0aWNtYXByZWR1Y2UtZmlw
95
- cy57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9w
96
- ZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19
97
- XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQg
98
- YnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5
99
- cGUiOiJlcnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5F
100
- cXVhbHMiLCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1d
101
- LCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6
102
- ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIs
103
- ImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1
104
- YWxTdGFjayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0
105
- aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZWxhc3RpY21h
106
- cHJlZHVjZS57UmVnaW9ufS57UGFydGl0aW9uUmVzdWx0I2R1YWxTdGFja0Ru
107
- c1N1ZmZpeH0iLCJwcm9wZXJ0aWVzIjp7fSwiaGVhZGVycyI6e319LCJ0eXBl
108
- IjoiZW5kcG9pbnQifV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRHVh
109
- bFN0YWNrIGlzIGVuYWJsZWQgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90
110
- IHN1cHBvcnQgRHVhbFN0YWNrIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRp
111
- dGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2VsYXN0aWNt
112
- YXByZWR1Y2Uue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9
113
- IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBv
114
- aW50In1dfV19
115
-
116
- JSON
117
53
  end
118
54
  end
@@ -291,6 +291,20 @@ module Aws::EMR
291
291
  end
292
292
  end
293
293
 
294
+ class GetClusterSessionCredentials
295
+ def self.build(context)
296
+ unless context.config.regional_endpoint
297
+ endpoint = context.config.endpoint.to_s
298
+ end
299
+ Aws::EMR::EndpointParameters.new(
300
+ region: context.config.region,
301
+ use_dual_stack: context.config.use_dualstack_endpoint,
302
+ use_fips: context.config.use_fips_endpoint,
303
+ endpoint: endpoint,
304
+ )
305
+ end
306
+ end
307
+
294
308
  class GetManagedScalingPolicy
295
309
  def self.build(context)
296
310
  unless context.config.regional_endpoint
@@ -96,6 +96,8 @@ module Aws::EMR
96
96
  Aws::EMR::Endpoints::GetAutoTerminationPolicy.build(context)
97
97
  when :get_block_public_access_configuration
98
98
  Aws::EMR::Endpoints::GetBlockPublicAccessConfiguration.build(context)
99
+ when :get_cluster_session_credentials
100
+ Aws::EMR::Endpoints::GetClusterSessionCredentials.build(context)
99
101
  when :get_managed_scaling_policy
100
102
  Aws::EMR::Endpoints::GetManagedScalingPolicy.build(context)
101
103
  when :get_studio_session_mapping