aws-sdk-emr 1.48.0 → 1.52.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.
@@ -33,6 +33,7 @@ module Aws::EMR
33
33
  AutoScalingPolicyStateChangeReason = Shapes::StructureShape.new(name: 'AutoScalingPolicyStateChangeReason')
34
34
  AutoScalingPolicyStateChangeReasonCode = Shapes::StringShape.new(name: 'AutoScalingPolicyStateChangeReasonCode')
35
35
  AutoScalingPolicyStatus = Shapes::StructureShape.new(name: 'AutoScalingPolicyStatus')
36
+ AutoTerminationPolicy = Shapes::StructureShape.new(name: 'AutoTerminationPolicy')
36
37
  BlockPublicAccessConfiguration = Shapes::StructureShape.new(name: 'BlockPublicAccessConfiguration')
37
38
  BlockPublicAccessConfigurationMetadata = Shapes::StructureShape.new(name: 'BlockPublicAccessConfigurationMetadata')
38
39
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
@@ -103,6 +104,8 @@ module Aws::EMR
103
104
  ExecutionEngineConfig = Shapes::StructureShape.new(name: 'ExecutionEngineConfig')
104
105
  ExecutionEngineType = Shapes::StringShape.new(name: 'ExecutionEngineType')
105
106
  FailureDetails = Shapes::StructureShape.new(name: 'FailureDetails')
107
+ GetAutoTerminationPolicyInput = Shapes::StructureShape.new(name: 'GetAutoTerminationPolicyInput')
108
+ GetAutoTerminationPolicyOutput = Shapes::StructureShape.new(name: 'GetAutoTerminationPolicyOutput')
106
109
  GetBlockPublicAccessConfigurationInput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationInput')
107
110
  GetBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationOutput')
108
111
  GetManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyInput')
@@ -227,6 +230,8 @@ module Aws::EMR
227
230
  PortRanges = Shapes::ListShape.new(name: 'PortRanges')
228
231
  PutAutoScalingPolicyInput = Shapes::StructureShape.new(name: 'PutAutoScalingPolicyInput')
229
232
  PutAutoScalingPolicyOutput = Shapes::StructureShape.new(name: 'PutAutoScalingPolicyOutput')
233
+ PutAutoTerminationPolicyInput = Shapes::StructureShape.new(name: 'PutAutoTerminationPolicyInput')
234
+ PutAutoTerminationPolicyOutput = Shapes::StructureShape.new(name: 'PutAutoTerminationPolicyOutput')
230
235
  PutBlockPublicAccessConfigurationInput = Shapes::StructureShape.new(name: 'PutBlockPublicAccessConfigurationInput')
231
236
  PutBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'PutBlockPublicAccessConfigurationOutput')
232
237
  PutManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'PutManagedScalingPolicyInput')
@@ -234,6 +239,8 @@ module Aws::EMR
234
239
  ReleaseLabelFilter = Shapes::StructureShape.new(name: 'ReleaseLabelFilter')
235
240
  RemoveAutoScalingPolicyInput = Shapes::StructureShape.new(name: 'RemoveAutoScalingPolicyInput')
236
241
  RemoveAutoScalingPolicyOutput = Shapes::StructureShape.new(name: 'RemoveAutoScalingPolicyOutput')
242
+ RemoveAutoTerminationPolicyInput = Shapes::StructureShape.new(name: 'RemoveAutoTerminationPolicyInput')
243
+ RemoveAutoTerminationPolicyOutput = Shapes::StructureShape.new(name: 'RemoveAutoTerminationPolicyOutput')
237
244
  RemoveManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'RemoveManagedScalingPolicyInput')
238
245
  RemoveManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'RemoveManagedScalingPolicyOutput')
239
246
  RemoveTagsInput = Shapes::StructureShape.new(name: 'RemoveTagsInput')
@@ -364,6 +371,9 @@ module Aws::EMR
364
371
  AutoScalingPolicyStatus.add_member(:state_change_reason, Shapes::ShapeRef.new(shape: AutoScalingPolicyStateChangeReason, location_name: "StateChangeReason"))
365
372
  AutoScalingPolicyStatus.struct_class = Types::AutoScalingPolicyStatus
366
373
 
374
+ AutoTerminationPolicy.add_member(:idle_timeout, Shapes::ShapeRef.new(shape: Long, location_name: "IdleTimeout"))
375
+ AutoTerminationPolicy.struct_class = Types::AutoTerminationPolicy
376
+
367
377
  BlockPublicAccessConfiguration.add_member(:block_public_security_group_rules, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "BlockPublicSecurityGroupRules"))
368
378
  BlockPublicAccessConfiguration.add_member(:permitted_public_security_group_rule_ranges, Shapes::ShapeRef.new(shape: PortRanges, location_name: "PermittedPublicSecurityGroupRuleRanges"))
369
379
  BlockPublicAccessConfiguration.struct_class = Types::BlockPublicAccessConfiguration
@@ -502,10 +512,12 @@ module Aws::EMR
502
512
  CreateStudioInput.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "VpcId"))
503
513
  CreateStudioInput.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "SubnetIds"))
504
514
  CreateStudioInput.add_member(:service_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "ServiceRole"))
505
- CreateStudioInput.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "UserRole"))
515
+ CreateStudioInput.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, location_name: "UserRole"))
506
516
  CreateStudioInput.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "WorkspaceSecurityGroupId"))
507
517
  CreateStudioInput.add_member(:engine_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "EngineSecurityGroupId"))
508
518
  CreateStudioInput.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "DefaultS3Location"))
519
+ CreateStudioInput.add_member(:idp_auth_url, Shapes::ShapeRef.new(shape: XmlString, location_name: "IdpAuthUrl"))
520
+ CreateStudioInput.add_member(:idp_relay_state_parameter_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdpRelayStateParameterName"))
509
521
  CreateStudioInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
510
522
  CreateStudioInput.struct_class = Types::CreateStudioInput
511
523
 
@@ -635,6 +647,12 @@ module Aws::EMR
635
647
  FailureDetails.add_member(:log_file, Shapes::ShapeRef.new(shape: String, location_name: "LogFile"))
636
648
  FailureDetails.struct_class = Types::FailureDetails
637
649
 
650
+ GetAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
651
+ GetAutoTerminationPolicyInput.struct_class = Types::GetAutoTerminationPolicyInput
652
+
653
+ GetAutoTerminationPolicyOutput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
654
+ GetAutoTerminationPolicyOutput.struct_class = Types::GetAutoTerminationPolicyOutput
655
+
638
656
  GetBlockPublicAccessConfigurationInput.struct_class = Types::GetBlockPublicAccessConfigurationInput
639
657
 
640
658
  GetBlockPublicAccessConfigurationOutput.add_member(:block_public_access_configuration, Shapes::ShapeRef.new(shape: BlockPublicAccessConfiguration, required: true, location_name: "BlockPublicAccessConfiguration"))
@@ -746,6 +764,7 @@ module Aws::EMR
746
764
  InstanceGroup.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EbsOptimized"))
747
765
  InstanceGroup.add_member(:shrink_policy, Shapes::ShapeRef.new(shape: ShrinkPolicy, location_name: "ShrinkPolicy"))
748
766
  InstanceGroup.add_member(:auto_scaling_policy, Shapes::ShapeRef.new(shape: AutoScalingPolicyDescription, location_name: "AutoScalingPolicy"))
767
+ InstanceGroup.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
749
768
  InstanceGroup.struct_class = Types::InstanceGroup
750
769
 
751
770
  InstanceGroupConfig.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
@@ -757,6 +776,7 @@ module Aws::EMR
757
776
  InstanceGroupConfig.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
758
777
  InstanceGroupConfig.add_member(:ebs_configuration, Shapes::ShapeRef.new(shape: EbsConfiguration, location_name: "EbsConfiguration"))
759
778
  InstanceGroupConfig.add_member(:auto_scaling_policy, Shapes::ShapeRef.new(shape: AutoScalingPolicy, location_name: "AutoScalingPolicy"))
779
+ InstanceGroupConfig.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
760
780
  InstanceGroupConfig.struct_class = Types::InstanceGroupConfig
761
781
 
762
782
  InstanceGroupConfigList.member = Shapes::ShapeRef.new(shape: InstanceGroupConfig)
@@ -775,6 +795,7 @@ module Aws::EMR
775
795
  InstanceGroupDetail.add_member(:start_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "StartDateTime"))
776
796
  InstanceGroupDetail.add_member(:ready_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "ReadyDateTime"))
777
797
  InstanceGroupDetail.add_member(:end_date_time, Shapes::ShapeRef.new(shape: Date, location_name: "EndDateTime"))
798
+ InstanceGroupDetail.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
778
799
  InstanceGroupDetail.struct_class = Types::InstanceGroupDetail
779
800
 
780
801
  InstanceGroupDetailList.member = Shapes::ShapeRef.new(shape: InstanceGroupDetail)
@@ -837,6 +858,7 @@ module Aws::EMR
837
858
  InstanceTypeConfig.add_member(:bid_price_as_percentage_of_on_demand_price, Shapes::ShapeRef.new(shape: NonNegativeDouble, location_name: "BidPriceAsPercentageOfOnDemandPrice"))
838
859
  InstanceTypeConfig.add_member(:ebs_configuration, Shapes::ShapeRef.new(shape: EbsConfiguration, location_name: "EbsConfiguration"))
839
860
  InstanceTypeConfig.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
861
+ InstanceTypeConfig.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
840
862
  InstanceTypeConfig.struct_class = Types::InstanceTypeConfig
841
863
 
842
864
  InstanceTypeConfigList.member = Shapes::ShapeRef.new(shape: InstanceTypeConfig)
@@ -848,6 +870,7 @@ module Aws::EMR
848
870
  InstanceTypeSpecification.add_member(:configurations, Shapes::ShapeRef.new(shape: ConfigurationList, location_name: "Configurations"))
849
871
  InstanceTypeSpecification.add_member(:ebs_block_devices, Shapes::ShapeRef.new(shape: EbsBlockDeviceList, location_name: "EbsBlockDevices"))
850
872
  InstanceTypeSpecification.add_member(:ebs_optimized, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EbsOptimized"))
873
+ InstanceTypeSpecification.add_member(:custom_ami_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "CustomAmiId"))
851
874
  InstanceTypeSpecification.struct_class = Types::InstanceTypeSpecification
852
875
 
853
876
  InstanceTypeSpecificationList.member = Shapes::ShapeRef.new(shape: InstanceTypeSpecification)
@@ -1124,6 +1147,12 @@ module Aws::EMR
1124
1147
  PutAutoScalingPolicyOutput.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "ClusterArn"))
1125
1148
  PutAutoScalingPolicyOutput.struct_class = Types::PutAutoScalingPolicyOutput
1126
1149
 
1150
+ PutAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1151
+ PutAutoTerminationPolicyInput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
1152
+ PutAutoTerminationPolicyInput.struct_class = Types::PutAutoTerminationPolicyInput
1153
+
1154
+ PutAutoTerminationPolicyOutput.struct_class = Types::PutAutoTerminationPolicyOutput
1155
+
1127
1156
  PutBlockPublicAccessConfigurationInput.add_member(:block_public_access_configuration, Shapes::ShapeRef.new(shape: BlockPublicAccessConfiguration, required: true, location_name: "BlockPublicAccessConfiguration"))
1128
1157
  PutBlockPublicAccessConfigurationInput.struct_class = Types::PutBlockPublicAccessConfigurationInput
1129
1158
 
@@ -1145,6 +1174,11 @@ module Aws::EMR
1145
1174
 
1146
1175
  RemoveAutoScalingPolicyOutput.struct_class = Types::RemoveAutoScalingPolicyOutput
1147
1176
 
1177
+ RemoveAutoTerminationPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1178
+ RemoveAutoTerminationPolicyInput.struct_class = Types::RemoveAutoTerminationPolicyInput
1179
+
1180
+ RemoveAutoTerminationPolicyOutput.struct_class = Types::RemoveAutoTerminationPolicyOutput
1181
+
1148
1182
  RemoveManagedScalingPolicyInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
1149
1183
  RemoveManagedScalingPolicyInput.struct_class = Types::RemoveManagedScalingPolicyInput
1150
1184
 
@@ -1183,6 +1217,7 @@ module Aws::EMR
1183
1217
  RunJobFlowInput.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
1184
1218
  RunJobFlowInput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
1185
1219
  RunJobFlowInput.add_member(:placement_group_configs, Shapes::ShapeRef.new(shape: PlacementGroupConfigList, location_name: "PlacementGroupConfigs"))
1220
+ RunJobFlowInput.add_member(:auto_termination_policy, Shapes::ShapeRef.new(shape: AutoTerminationPolicy, location_name: "AutoTerminationPolicy"))
1186
1221
  RunJobFlowInput.struct_class = Types::RunJobFlowInput
1187
1222
 
1188
1223
  RunJobFlowOutput.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "JobFlowId"))
@@ -1358,6 +1393,8 @@ module Aws::EMR
1358
1393
  Studio.add_member(:url, Shapes::ShapeRef.new(shape: XmlString, location_name: "Url"))
1359
1394
  Studio.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1360
1395
  Studio.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, location_name: "DefaultS3Location"))
1396
+ Studio.add_member(:idp_auth_url, Shapes::ShapeRef.new(shape: XmlString, location_name: "IdpAuthUrl"))
1397
+ Studio.add_member(:idp_relay_state_parameter_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdpRelayStateParameterName"))
1361
1398
  Studio.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
1362
1399
  Studio.struct_class = Types::Studio
1363
1400
 
@@ -1366,6 +1403,7 @@ module Aws::EMR
1366
1403
  StudioSummary.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "VpcId"))
1367
1404
  StudioSummary.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1368
1405
  StudioSummary.add_member(:url, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Url"))
1406
+ StudioSummary.add_member(:auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "AuthMode"))
1369
1407
  StudioSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1370
1408
  StudioSummary.struct_class = Types::StudioSummary
1371
1409
 
@@ -1423,7 +1461,7 @@ module Aws::EMR
1423
1461
  "jsonVersion" => "1.1",
1424
1462
  "protocol" => "json",
1425
1463
  "serviceAbbreviation" => "Amazon EMR",
1426
- "serviceFullName" => "Amazon Elastic MapReduce",
1464
+ "serviceFullName" => "Amazon EMR",
1427
1465
  "serviceId" => "EMR",
1428
1466
  "signatureVersion" => "v4",
1429
1467
  "targetPrefix" => "ElasticMapReduce",
@@ -1608,6 +1646,14 @@ module Aws::EMR
1608
1646
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1609
1647
  end)
1610
1648
 
1649
+ api.add_operation(:get_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1650
+ o.name = "GetAutoTerminationPolicy"
1651
+ o.http_method = "POST"
1652
+ o.http_request_uri = "/"
1653
+ o.input = Shapes::ShapeRef.new(shape: GetAutoTerminationPolicyInput)
1654
+ o.output = Shapes::ShapeRef.new(shape: GetAutoTerminationPolicyOutput)
1655
+ end)
1656
+
1611
1657
  api.add_operation(:get_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1612
1658
  o.name = "GetBlockPublicAccessConfiguration"
1613
1659
  o.http_method = "POST"
@@ -1839,6 +1885,14 @@ module Aws::EMR
1839
1885
  o.output = Shapes::ShapeRef.new(shape: PutAutoScalingPolicyOutput)
1840
1886
  end)
1841
1887
 
1888
+ api.add_operation(:put_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1889
+ o.name = "PutAutoTerminationPolicy"
1890
+ o.http_method = "POST"
1891
+ o.http_request_uri = "/"
1892
+ o.input = Shapes::ShapeRef.new(shape: PutAutoTerminationPolicyInput)
1893
+ o.output = Shapes::ShapeRef.new(shape: PutAutoTerminationPolicyOutput)
1894
+ end)
1895
+
1842
1896
  api.add_operation(:put_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1843
1897
  o.name = "PutBlockPublicAccessConfiguration"
1844
1898
  o.http_method = "POST"
@@ -1865,6 +1919,14 @@ module Aws::EMR
1865
1919
  o.output = Shapes::ShapeRef.new(shape: RemoveAutoScalingPolicyOutput)
1866
1920
  end)
1867
1921
 
1922
+ api.add_operation(:remove_auto_termination_policy, Seahorse::Model::Operation.new.tap do |o|
1923
+ o.name = "RemoveAutoTerminationPolicy"
1924
+ o.http_method = "POST"
1925
+ o.http_request_uri = "/"
1926
+ o.input = Shapes::ShapeRef.new(shape: RemoveAutoTerminationPolicyInput)
1927
+ o.output = Shapes::ShapeRef.new(shape: RemoveAutoTerminationPolicyOutput)
1928
+ end)
1929
+
1868
1930
  api.add_operation(:remove_managed_scaling_policy, Seahorse::Model::Operation.new.tap do |o|
1869
1931
  o.name = "RemoveManagedScalingPolicy"
1870
1932
  o.http_method = "POST"
@@ -50,6 +50,7 @@ module Aws::EMR
50
50
  # },
51
51
  # },
52
52
  # ],
53
+ # custom_ami_id: "XmlStringMaxLen256",
53
54
  # },
54
55
  # ],
55
56
  # launch_specifications: {
@@ -186,6 +187,7 @@ module Aws::EMR
186
187
  # },
187
188
  # ],
188
189
  # },
190
+ # custom_ami_id: "XmlStringMaxLen256",
189
191
  # },
190
192
  # ],
191
193
  # job_flow_id: "XmlStringMaxLen256", # required
@@ -290,7 +292,8 @@ module Aws::EMR
290
292
  include Aws::Structure
291
293
  end
292
294
 
293
- # This input identifies a cluster and a list of tags to attach.
295
+ # This input identifies an Amazon EMR resource and a list of tags to
296
+ # attach.
294
297
  #
295
298
  # @note When making an API call, you may pass AddTagsInput
296
299
  # data as a hash:
@@ -306,15 +309,15 @@ module Aws::EMR
306
309
  # }
307
310
  #
308
311
  # @!attribute [rw] resource_id
309
- # The Amazon EMR resource identifier to which tags will be added. This
310
- # value must be a cluster identifier.
312
+ # The Amazon EMR resource identifier to which tags will be added. For
313
+ # example, a cluster identifier or an Amazon EMR Studio ID.
311
314
  # @return [String]
312
315
  #
313
316
  # @!attribute [rw] tags
314
- # A list of tags to associate with a cluster and propagate to EC2
315
- # instances. Tags are user-defined key-value pairs that consist of a
316
- # required key string with a maximum of 128 characters, and an
317
- # optional value string with a maximum of 256 characters.
317
+ # A list of tags to associate with a resource. Tags are user-defined
318
+ # key-value pairs that consist of a required key string with a maximum
319
+ # of 128 characters, and an optional value string with a maximum of
320
+ # 256 characters.
318
321
  # @return [Array<Types::Tag>]
319
322
  #
320
323
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTagsInput AWS API Documentation
@@ -531,6 +534,36 @@ module Aws::EMR
531
534
  include Aws::Structure
532
535
  end
533
536
 
537
+ # An auto-termination policy for an Amazon EMR cluster. An
538
+ # auto-termination policy defines the amount of idle time in seconds
539
+ # after which a cluster automatically terminates. For alternative
540
+ # cluster termination options, see [Control cluster termination][1].
541
+ #
542
+ #
543
+ #
544
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
545
+ #
546
+ # @note When making an API call, you may pass AutoTerminationPolicy
547
+ # data as a hash:
548
+ #
549
+ # {
550
+ # idle_timeout: 1,
551
+ # }
552
+ #
553
+ # @!attribute [rw] idle_timeout
554
+ # Specifies the amount of idle time in seconds after which the cluster
555
+ # automatically terminates. You can specify a minimum of 60 seconds
556
+ # and a maximum of 604800 seconds (seven days).
557
+ # @return [Integer]
558
+ #
559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AutoTerminationPolicy AWS API Documentation
560
+ #
561
+ class AutoTerminationPolicy < Struct.new(
562
+ :idle_timeout)
563
+ SENSITIVE = []
564
+ include Aws::Structure
565
+ end
566
+
534
567
  # A configuration for Amazon EMR block public access. When
535
568
  # `BlockPublicSecurityGroupRules` is set to `true`, Amazon EMR prevents
536
569
  # cluster creation if one of the cluster's security groups has a rule
@@ -892,21 +925,22 @@ module Aws::EMR
892
925
  #
893
926
  # @!attribute [rw] visible_to_all_users
894
927
  # Indicates whether the cluster is visible to IAM principals in the
895
- # account associated with the cluster. When `true`, IAM principals in
896
- # the account can perform EMR cluster actions on the cluster that
897
- # their IAM policies allow. When `false`, only the IAM principal that
898
- # created the cluster and the account root user can perform EMR
928
+ # Amazon Web Services account associated with the cluster. When
929
+ # `true`, IAM principals in the Amazon Web Services account can
930
+ # perform EMR cluster actions on the cluster that their IAM policies
931
+ # allow. When `false`, only the IAM principal that created the cluster
932
+ # and the Amazon Web Services account root user can perform EMR
899
933
  # actions, regardless of IAM permissions policies attached to other
900
934
  # IAM principals.
901
935
  #
902
- # The default value is `false` if a value is not provided when
903
- # creating a cluster using the EMR API RunJobFlow command or the CLI
904
- # [create-cluster][1] command. The default value is `true` when a
905
- # cluster is created using the Management Console. IAM principals that
906
- # are allowed to perform actions on the cluster can use the
907
- # SetVisibleToAllUsers action to change the value on a running
908
- # cluster. For more information, see [Understanding the EMR Cluster
909
- # VisibleToAllUsers Setting][2] in the *Amazon EMR Management Guide*.
936
+ # The default value is `true` if a value is not provided when creating
937
+ # a cluster using the EMR API RunJobFlow command, the CLI
938
+ # [create-cluster][1] command, or the Amazon Web Services Management
939
+ # Console. IAM principals that are allowed to perform actions on the
940
+ # cluster can use the SetVisibleToAllUsers action to change the value
941
+ # on a running cluster. For more information, see [Understanding the
942
+ # EMR Cluster VisibleToAllUsers Setting][2] in the *Amazon
943
+ # EMRManagement Guide*.
910
944
  #
911
945
  #
912
946
  #
@@ -923,8 +957,8 @@ module Aws::EMR
923
957
  # @return [Array<Types::Tag>]
924
958
  #
925
959
  # @!attribute [rw] service_role
926
- # The IAM role that will be assumed by the Amazon EMR service to
927
- # access Amazon Web Services resources on your behalf.
960
+ # The IAM role that Amazon EMR assumes in order to access Amazon Web
961
+ # Services resources on your behalf.
928
962
  # @return [String]
929
963
  #
930
964
  # @!attribute [rw] normalized_instance_hours
@@ -1378,10 +1412,12 @@ module Aws::EMR
1378
1412
  # vpc_id: "XmlStringMaxLen256", # required
1379
1413
  # subnet_ids: ["String"], # required
1380
1414
  # service_role: "XmlString", # required
1381
- # user_role: "XmlString", # required
1415
+ # user_role: "XmlString",
1382
1416
  # workspace_security_group_id: "XmlStringMaxLen256", # required
1383
1417
  # engine_security_group_id: "XmlStringMaxLen256", # required
1384
1418
  # default_s3_location: "XmlString", # required
1419
+ # idp_auth_url: "XmlString",
1420
+ # idp_relay_state_parameter_name: "XmlStringMaxLen256",
1385
1421
  # tags: [
1386
1422
  # {
1387
1423
  # key: "String",
@@ -1399,9 +1435,8 @@ module Aws::EMR
1399
1435
  # @return [String]
1400
1436
  #
1401
1437
  # @!attribute [rw] auth_mode
1402
- # Specifies whether the Studio authenticates users using single
1403
- # sign-on (SSO) or IAM. Amazon EMR Studio currently only supports SSO
1404
- # authentication.
1438
+ # Specifies whether the Studio authenticates users using IAM or Amazon
1439
+ # Web Services SSO.
1405
1440
  # @return [String]
1406
1441
  #
1407
1442
  # @!attribute [rw] vpc_id
@@ -1417,15 +1452,17 @@ module Aws::EMR
1417
1452
  # @return [Array<String>]
1418
1453
  #
1419
1454
  # @!attribute [rw] service_role
1420
- # The IAM role that will be assumed by the Amazon EMR Studio. The
1421
- # service role provides a way for Amazon EMR Studio to interoperate
1422
- # with other Amazon Web Services services.
1455
+ # The IAM role that the Amazon EMR Studio assumes. The service role
1456
+ # provides a way for Amazon EMR Studio to interoperate with other
1457
+ # Amazon Web Services services.
1423
1458
  # @return [String]
1424
1459
  #
1425
1460
  # @!attribute [rw] user_role
1426
- # The IAM user role that will be assumed by users and groups logged in
1427
- # to an Amazon EMR Studio. The permissions attached to this IAM role
1428
- # can be scoped down for each user or group using session policies.
1461
+ # The IAM user role that users and groups assume when logged in to an
1462
+ # Amazon EMR Studio. Only specify a `UserRole` when you use Amazon Web
1463
+ # Services SSO authentication. The permissions attached to the
1464
+ # `UserRole` can be scoped down for each user or group using session
1465
+ # policies.
1429
1466
  # @return [String]
1430
1467
  #
1431
1468
  # @!attribute [rw] workspace_security_group_id
@@ -1446,6 +1483,22 @@ module Aws::EMR
1446
1483
  # notebook files.
1447
1484
  # @return [String]
1448
1485
  #
1486
+ # @!attribute [rw] idp_auth_url
1487
+ # The authentication endpoint of your identity provider (IdP). Specify
1488
+ # this value when you use IAM authentication and want to let federated
1489
+ # users log in to a Studio with the Studio URL and credentials from
1490
+ # your IdP. Amazon EMR Studio redirects users to this endpoint to
1491
+ # enter credentials.
1492
+ # @return [String]
1493
+ #
1494
+ # @!attribute [rw] idp_relay_state_parameter_name
1495
+ # The name that your identity provider (IdP) uses for its `RelayState`
1496
+ # parameter. For example, `RelayState` or `TargetSource`. Specify this
1497
+ # value when you use IAM authentication and want to let federated
1498
+ # users log in to a Studio using the Studio URL. The `RelayState`
1499
+ # parameter differs by IdP.
1500
+ # @return [String]
1501
+ #
1449
1502
  # @!attribute [rw] tags
1450
1503
  # A list of tags to associate with the Amazon EMR Studio. Tags are
1451
1504
  # user-defined key-value pairs that consist of a required key string
@@ -1466,6 +1519,8 @@ module Aws::EMR
1466
1519
  :workspace_security_group_id,
1467
1520
  :engine_security_group_id,
1468
1521
  :default_s3_location,
1522
+ :idp_auth_url,
1523
+ :idp_relay_state_parameter_name,
1469
1524
  :tags)
1470
1525
  SENSITIVE = []
1471
1526
  include Aws::Structure
@@ -1509,7 +1564,7 @@ module Aws::EMR
1509
1564
  # Amazon Web Services SSO Identity Store. For more information, see
1510
1565
  # [UserId][1] and [GroupId][2] in the *Amazon Web Services SSO
1511
1566
  # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
1512
- # must be specified.
1567
+ # must be specified, but not both.
1513
1568
  #
1514
1569
  #
1515
1570
  #
@@ -1521,7 +1576,7 @@ module Aws::EMR
1521
1576
  # The name of the user or group. For more information, see
1522
1577
  # [UserName][1] and [DisplayName][2] in the *Amazon Web Services SSO
1523
1578
  # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
1524
- # must be specified.
1579
+ # must be specified, but not both.
1525
1580
  #
1526
1581
  #
1527
1582
  #
@@ -2224,6 +2279,39 @@ module Aws::EMR
2224
2279
  include Aws::Structure
2225
2280
  end
2226
2281
 
2282
+ # @note When making an API call, you may pass GetAutoTerminationPolicyInput
2283
+ # data as a hash:
2284
+ #
2285
+ # {
2286
+ # cluster_id: "ClusterId", # required
2287
+ # }
2288
+ #
2289
+ # @!attribute [rw] cluster_id
2290
+ # Specifies the ID of the Amazon EMR cluster for which the
2291
+ # auto-termination policy will be fetched.
2292
+ # @return [String]
2293
+ #
2294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetAutoTerminationPolicyInput AWS API Documentation
2295
+ #
2296
+ class GetAutoTerminationPolicyInput < Struct.new(
2297
+ :cluster_id)
2298
+ SENSITIVE = []
2299
+ include Aws::Structure
2300
+ end
2301
+
2302
+ # @!attribute [rw] auto_termination_policy
2303
+ # Specifies the auto-termination policy that is attached to an Amazon
2304
+ # EMR cluster.
2305
+ # @return [Types::AutoTerminationPolicy]
2306
+ #
2307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetAutoTerminationPolicyOutput AWS API Documentation
2308
+ #
2309
+ class GetAutoTerminationPolicyOutput < Struct.new(
2310
+ :auto_termination_policy)
2311
+ SENSITIVE = []
2312
+ include Aws::Structure
2313
+ end
2314
+
2227
2315
  # @api private
2228
2316
  #
2229
2317
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfigurationInput AWS API Documentation
@@ -2690,6 +2778,7 @@ module Aws::EMR
2690
2778
  # },
2691
2779
  # },
2692
2780
  # ],
2781
+ # custom_ami_id: "XmlStringMaxLen256",
2693
2782
  # },
2694
2783
  # ],
2695
2784
  # launch_specifications: {
@@ -3086,6 +3175,10 @@ module Aws::EMR
3086
3175
  # PutAutoScalingPolicy.
3087
3176
  # @return [Types::AutoScalingPolicyDescription]
3088
3177
  #
3178
+ # @!attribute [rw] custom_ami_id
3179
+ # The custom AMI ID to use for the provisioned instance group.
3180
+ # @return [String]
3181
+ #
3089
3182
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceGroup AWS API Documentation
3090
3183
  #
3091
3184
  class InstanceGroup < Struct.new(
@@ -3105,7 +3198,8 @@ module Aws::EMR
3105
3198
  :ebs_block_devices,
3106
3199
  :ebs_optimized,
3107
3200
  :shrink_policy,
3108
- :auto_scaling_policy)
3201
+ :auto_scaling_policy,
3202
+ :custom_ami_id)
3109
3203
  SENSITIVE = []
3110
3204
  include Aws::Structure
3111
3205
  end
@@ -3184,6 +3278,7 @@ module Aws::EMR
3184
3278
  # },
3185
3279
  # ],
3186
3280
  # },
3281
+ # custom_ami_id: "XmlStringMaxLen256",
3187
3282
  # }
3188
3283
  #
3189
3284
  # @!attribute [rw] name
@@ -3236,6 +3331,10 @@ module Aws::EMR
3236
3331
  # PutAutoScalingPolicy.
3237
3332
  # @return [Types::AutoScalingPolicy]
3238
3333
  #
3334
+ # @!attribute [rw] custom_ami_id
3335
+ # The custom AMI ID to use for the provisioned instance group.
3336
+ # @return [String]
3337
+ #
3239
3338
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceGroupConfig AWS API Documentation
3240
3339
  #
3241
3340
  class InstanceGroupConfig < Struct.new(
@@ -3247,7 +3346,8 @@ module Aws::EMR
3247
3346
  :instance_count,
3248
3347
  :configurations,
3249
3348
  :ebs_configuration,
3250
- :auto_scaling_policy)
3349
+ :auto_scaling_policy,
3350
+ :custom_ami_id)
3251
3351
  SENSITIVE = []
3252
3352
  include Aws::Structure
3253
3353
  end
@@ -3314,6 +3414,10 @@ module Aws::EMR
3314
3414
  # The date/time the instance group was terminated.
3315
3415
  # @return [Time]
3316
3416
  #
3417
+ # @!attribute [rw] custom_ami_id
3418
+ # The custom AMI ID to use for the provisioned instance group.
3419
+ # @return [String]
3420
+ #
3317
3421
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceGroupDetail AWS API Documentation
3318
3422
  #
3319
3423
  class InstanceGroupDetail < Struct.new(
@@ -3330,7 +3434,8 @@ module Aws::EMR
3330
3434
  :creation_date_time,
3331
3435
  :start_date_time,
3332
3436
  :ready_date_time,
3333
- :end_date_time)
3437
+ :end_date_time,
3438
+ :custom_ami_id)
3334
3439
  SENSITIVE = []
3335
3440
  include Aws::Structure
3336
3441
  end
@@ -3621,6 +3726,7 @@ module Aws::EMR
3621
3726
  # },
3622
3727
  # },
3623
3728
  # ],
3729
+ # custom_ami_id: "XmlStringMaxLen256",
3624
3730
  # }
3625
3731
  #
3626
3732
  # @!attribute [rw] instance_type
@@ -3661,6 +3767,10 @@ module Aws::EMR
3661
3767
  # and software that run on the cluster.
3662
3768
  # @return [Array<Types::Configuration>]
3663
3769
  #
3770
+ # @!attribute [rw] custom_ami_id
3771
+ # The custom AMI ID to use for the instance type.
3772
+ # @return [String]
3773
+ #
3664
3774
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceTypeConfig AWS API Documentation
3665
3775
  #
3666
3776
  class InstanceTypeConfig < Struct.new(
@@ -3669,7 +3779,8 @@ module Aws::EMR
3669
3779
  :bid_price,
3670
3780
  :bid_price_as_percentage_of_on_demand_price,
3671
3781
  :ebs_configuration,
3672
- :configurations)
3782
+ :configurations,
3783
+ :custom_ami_id)
3673
3784
  SENSITIVE = []
3674
3785
  include Aws::Structure
3675
3786
  end
@@ -3721,6 +3832,10 @@ module Aws::EMR
3721
3832
  # EBS-optimized.
3722
3833
  # @return [Boolean]
3723
3834
  #
3835
+ # @!attribute [rw] custom_ami_id
3836
+ # The custom AMI ID to use for the instance type.
3837
+ # @return [String]
3838
+ #
3724
3839
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/InstanceTypeSpecification AWS API Documentation
3725
3840
  #
3726
3841
  class InstanceTypeSpecification < Struct.new(
@@ -3730,7 +3845,8 @@ module Aws::EMR
3730
3845
  :bid_price_as_percentage_of_on_demand_price,
3731
3846
  :configurations,
3732
3847
  :ebs_block_devices,
3733
- :ebs_optimized)
3848
+ :ebs_optimized,
3849
+ :custom_ami_id)
3734
3850
  SENSITIVE = []
3735
3851
  include Aws::Structure
3736
3852
  end
@@ -3825,20 +3941,22 @@ module Aws::EMR
3825
3941
  #
3826
3942
  # @!attribute [rw] visible_to_all_users
3827
3943
  # Indicates whether the cluster is visible to IAM principals in the
3828
- # account associated with the cluster. When `true`, IAM principals in
3829
- # the account can perform EMR cluster actions that their IAM policies
3830
- # allow. When `false`, only the IAM principal that created the cluster
3831
- # and the account root user can perform EMR actions, regardless of IAM
3832
- # permissions policies attached to other IAM principals.
3944
+ # Amazon Web Services account associated with the cluster. When
3945
+ # `true`, IAM principals in the Amazon Web Services account can
3946
+ # perform EMR cluster actions that their IAM policies allow. When
3947
+ # `false`, only the IAM principal that created the cluster and the
3948
+ # Amazon Web Services account root user can perform EMR actions,
3949
+ # regardless of IAM permissions policies attached to other IAM
3950
+ # principals.
3833
3951
  #
3834
- # The default value is `false` if a value is not provided when
3835
- # creating a cluster using the EMR API RunJobFlow command or the CLI
3836
- # [create-cluster][1] command. The default value is `true` when a
3837
- # cluster is created using the Management Console. IAM principals that
3838
- # are authorized to perform actions on the cluster can use the
3839
- # SetVisibleToAllUsers action to change the value on a running
3840
- # cluster. For more information, see [Understanding the EMR Cluster
3841
- # VisibleToAllUsers Setting][2] in the *Amazon EMR Management Guide*.
3952
+ # The default value is `true` if a value is not provided when creating
3953
+ # a cluster using the EMR API RunJobFlow command, the CLI
3954
+ # [create-cluster][1] command, or the Amazon Web Services Management
3955
+ # Console. IAM principals that are authorized to perform actions on
3956
+ # the cluster can use the SetVisibleToAllUsers action to change the
3957
+ # value on a running cluster. For more information, see [Understanding
3958
+ # the EMR Cluster VisibleToAllUsers Setting][2] in the *Amazon
3959
+ # EMRManagement Guide*.
3842
3960
  #
3843
3961
  #
3844
3962
  #
@@ -4026,6 +4144,7 @@ module Aws::EMR
4026
4144
  # },
4027
4145
  # ],
4028
4146
  # },
4147
+ # custom_ami_id: "XmlStringMaxLen256",
4029
4148
  # },
4030
4149
  # ],
4031
4150
  # instance_fleets: [
@@ -4064,6 +4183,7 @@ module Aws::EMR
4064
4183
  # },
4065
4184
  # },
4066
4185
  # ],
4186
+ # custom_ami_id: "XmlStringMaxLen256",
4067
4187
  # },
4068
4188
  # ],
4069
4189
  # launch_specifications: {
@@ -4814,9 +4934,10 @@ module Aws::EMR
4814
4934
  # which is usually the case for the first request of
4815
4935
  # ListReleaseLabels, the first page of results are determined by other
4816
4936
  # filtering parameters or by the latest version. The
4817
- # `ListReleaseLabels` request fails if the identity (AWS AccountID)
4818
- # and all filtering parameters are different from the original
4819
- # request, or if the `NextToken` is expired or tampered with.
4937
+ # `ListReleaseLabels` request fails if the identity (Amazon Web
4938
+ # Services account ID) and all filtering parameters are different from
4939
+ # the original request, or if the `NextToken` is expired or tampered
4940
+ # with.
4820
4941
  # @return [String]
4821
4942
  #
4822
4943
  # @!attribute [rw] max_results
@@ -5725,6 +5846,38 @@ module Aws::EMR
5725
5846
  include Aws::Structure
5726
5847
  end
5727
5848
 
5849
+ # @note When making an API call, you may pass PutAutoTerminationPolicyInput
5850
+ # data as a hash:
5851
+ #
5852
+ # {
5853
+ # cluster_id: "ClusterId", # required
5854
+ # auto_termination_policy: {
5855
+ # idle_timeout: 1,
5856
+ # },
5857
+ # }
5858
+ #
5859
+ # @!attribute [rw] cluster_id
5860
+ # Specifies the ID of the Amazon EMR cluster to which the
5861
+ # auto-termination policy will be attached.
5862
+ # @return [String]
5863
+ #
5864
+ # @!attribute [rw] auto_termination_policy
5865
+ # Specifies the auto-termination policy to attach to the cluster.
5866
+ # @return [Types::AutoTerminationPolicy]
5867
+ #
5868
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoTerminationPolicyInput AWS API Documentation
5869
+ #
5870
+ class PutAutoTerminationPolicyInput < Struct.new(
5871
+ :cluster_id,
5872
+ :auto_termination_policy)
5873
+ SENSITIVE = []
5874
+ include Aws::Structure
5875
+ end
5876
+
5877
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoTerminationPolicyOutput AWS API Documentation
5878
+ #
5879
+ class PutAutoTerminationPolicyOutput < Aws::EmptyStructure; end
5880
+
5728
5881
  # @note When making an API call, you may pass PutBlockPublicAccessConfigurationInput
5729
5882
  # data as a hash:
5730
5883
  #
@@ -5872,6 +6025,30 @@ module Aws::EMR
5872
6025
  #
5873
6026
  class RemoveAutoScalingPolicyOutput < Aws::EmptyStructure; end
5874
6027
 
6028
+ # @note When making an API call, you may pass RemoveAutoTerminationPolicyInput
6029
+ # data as a hash:
6030
+ #
6031
+ # {
6032
+ # cluster_id: "ClusterId", # required
6033
+ # }
6034
+ #
6035
+ # @!attribute [rw] cluster_id
6036
+ # Specifies the ID of the Amazon EMR cluster from which the
6037
+ # auto-termination policy will be removed.
6038
+ # @return [String]
6039
+ #
6040
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoTerminationPolicyInput AWS API Documentation
6041
+ #
6042
+ class RemoveAutoTerminationPolicyInput < Struct.new(
6043
+ :cluster_id)
6044
+ SENSITIVE = []
6045
+ include Aws::Structure
6046
+ end
6047
+
6048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoTerminationPolicyOutput AWS API Documentation
6049
+ #
6050
+ class RemoveAutoTerminationPolicyOutput < Aws::EmptyStructure; end
6051
+
5875
6052
  # @note When making an API call, you may pass RemoveManagedScalingPolicyInput
5876
6053
  # data as a hash:
5877
6054
  #
@@ -5896,7 +6073,8 @@ module Aws::EMR
5896
6073
  #
5897
6074
  class RemoveManagedScalingPolicyOutput < Aws::EmptyStructure; end
5898
6075
 
5899
- # This input identifies a cluster and a list of tags to remove.
6076
+ # This input identifies an Amazon EMR resource and a list of tags to
6077
+ # remove.
5900
6078
  #
5901
6079
  # @note When making an API call, you may pass RemoveTagsInput
5902
6080
  # data as a hash:
@@ -5908,11 +6086,11 @@ module Aws::EMR
5908
6086
  #
5909
6087
  # @!attribute [rw] resource_id
5910
6088
  # The Amazon EMR resource identifier from which tags will be removed.
5911
- # This value must be a cluster identifier.
6089
+ # For example, a cluster identifier or an Amazon EMR Studio ID.
5912
6090
  # @return [String]
5913
6091
  #
5914
6092
  # @!attribute [rw] tag_keys
5915
- # A list of tag keys to remove from a resource.
6093
+ # A list of tag keys to remove from the resource.
5916
6094
  # @return [Array<String>]
5917
6095
  #
5918
6096
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTagsInput AWS API Documentation
@@ -5924,7 +6102,7 @@ module Aws::EMR
5924
6102
  include Aws::Structure
5925
6103
  end
5926
6104
 
5927
- # This output indicates the result of removing tags from a resource.
6105
+ # This output indicates the result of removing tags from the resource.
5928
6106
  #
5929
6107
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTagsOutput AWS API Documentation
5930
6108
  #
@@ -6016,6 +6194,7 @@ module Aws::EMR
6016
6194
  # },
6017
6195
  # ],
6018
6196
  # },
6197
+ # custom_ami_id: "XmlStringMaxLen256",
6019
6198
  # },
6020
6199
  # ],
6021
6200
  # instance_fleets: [
@@ -6054,6 +6233,7 @@ module Aws::EMR
6054
6233
  # },
6055
6234
  # },
6056
6235
  # ],
6236
+ # custom_ami_id: "XmlStringMaxLen256",
6057
6237
  # },
6058
6238
  # ],
6059
6239
  # launch_specifications: {
@@ -6182,6 +6362,9 @@ module Aws::EMR
6182
6362
  # placement_strategy: "SPREAD", # accepts SPREAD, PARTITION, CLUSTER, NONE
6183
6363
  # },
6184
6364
  # ],
6365
+ # auto_termination_policy: {
6366
+ # idle_timeout: 1,
6367
+ # },
6185
6368
  # }
6186
6369
  #
6187
6370
  # @!attribute [rw] name
@@ -6313,17 +6496,18 @@ module Aws::EMR
6313
6496
  # @return [Array<Types::Configuration>]
6314
6497
  #
6315
6498
  # @!attribute [rw] visible_to_all_users
6316
- # Set this value to `true` so that IAM principals in the account
6317
- # associated with the cluster can perform EMR actions on the cluster
6318
- # that their IAM policies allow. This value defaults to `false` for
6319
- # clusters created using the EMR API or the CLI [create-cluster][1]
6320
- # command.
6499
+ # Set this value to `true` so that IAM principals in the Amazon Web
6500
+ # Services account associated with the cluster can perform EMR actions
6501
+ # on the cluster that their IAM policies allow. This value defaults to
6502
+ # `true` for clusters created using the EMR API or the CLI
6503
+ # [create-cluster][1] command.
6321
6504
  #
6322
6505
  # When set to `false`, only the IAM principal that created the cluster
6323
- # and the account root user can perform EMR actions for the cluster,
6324
- # regardless of the IAM permissions policies attached to other IAM
6325
- # principals. For more information, see [Understanding the EMR Cluster
6326
- # VisibleToAllUsers Setting][2] in the *Amazon EMR Management Guide*.
6506
+ # and the Amazon Web Services account root user can perform EMR
6507
+ # actions for the cluster, regardless of the IAM permissions policies
6508
+ # attached to other IAM principals. For more information, see
6509
+ # [Understanding the EMR Cluster VisibleToAllUsers Setting][2] in the
6510
+ # *Amazon EMRManagement Guide*.
6327
6511
  #
6328
6512
  #
6329
6513
  #
@@ -6339,8 +6523,8 @@ module Aws::EMR
6339
6523
  # @return [String]
6340
6524
  #
6341
6525
  # @!attribute [rw] service_role
6342
- # The IAM role that will be assumed by the Amazon EMR service to
6343
- # access Amazon Web Services resources on your behalf.
6526
+ # The IAM role that Amazon EMR assumes in order to access Amazon Web
6527
+ # Services resources on your behalf.
6344
6528
  # @return [String]
6345
6529
  #
6346
6530
  # @!attribute [rw] tags
@@ -6438,6 +6622,17 @@ module Aws::EMR
6438
6622
  # cluster.
6439
6623
  # @return [Array<Types::PlacementGroupConfig>]
6440
6624
  #
6625
+ # @!attribute [rw] auto_termination_policy
6626
+ # An auto-termination policy for an Amazon EMR cluster. An
6627
+ # auto-termination policy defines the amount of idle time in seconds
6628
+ # after which a cluster automatically terminates. For alternative
6629
+ # cluster termination options, see [Control cluster termination][1].
6630
+ #
6631
+ #
6632
+ #
6633
+ # [1]: https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-termination.html
6634
+ # @return [Types::AutoTerminationPolicy]
6635
+ #
6441
6636
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
6442
6637
  #
6443
6638
  class RunJobFlowInput < Struct.new(
@@ -6467,7 +6662,8 @@ module Aws::EMR
6467
6662
  :kerberos_attributes,
6468
6663
  :step_concurrency_level,
6469
6664
  :managed_scaling_policy,
6470
- :placement_group_configs)
6665
+ :placement_group_configs,
6666
+ :auto_termination_policy)
6471
6667
  SENSITIVE = []
6472
6668
  include Aws::Structure
6473
6669
  end
@@ -6864,11 +7060,12 @@ module Aws::EMR
6864
7060
  # @return [Array<String>]
6865
7061
  #
6866
7062
  # @!attribute [rw] visible_to_all_users
6867
- # A value of `true` indicates that an IAM principal in the account can
6868
- # perform EMR actions on the cluster that the IAM policies attached to
6869
- # the principal allow. A value of `false` indicates that only the IAM
6870
- # principal that created the cluster and the Amazon Web Services root
6871
- # user can perform EMR actions on the cluster.
7063
+ # A value of `true` indicates that an IAM principal in the Amazon Web
7064
+ # Services account can perform EMR actions on the cluster that the IAM
7065
+ # policies attached to the principal allow. A value of `false`
7066
+ # indicates that only the IAM principal that created the cluster and
7067
+ # the Amazon Web Services root user can perform EMR actions on the
7068
+ # cluster.
6872
7069
  # @return [Boolean]
6873
7070
  #
6874
7071
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsersInput AWS API Documentation
@@ -7480,7 +7677,7 @@ module Aws::EMR
7480
7677
  #
7481
7678
  # @!attribute [rw] auth_mode
7482
7679
  # Specifies whether the Amazon EMR Studio authenticates users using
7483
- # single sign-on (SSO) or IAM.
7680
+ # IAM or Amazon Web Services SSO.
7484
7681
  # @return [String]
7485
7682
  #
7486
7683
  # @!attribute [rw] vpc_id
@@ -7498,7 +7695,8 @@ module Aws::EMR
7498
7695
  #
7499
7696
  # @!attribute [rw] user_role
7500
7697
  # The name of the IAM role assumed by users logged in to the Amazon
7501
- # EMR Studio.
7698
+ # EMR Studio. A Studio only requires a `UserRole` when you use IAM
7699
+ # authentication.
7502
7700
  # @return [String]
7503
7701
  #
7504
7702
  # @!attribute [rw] workspace_security_group_id
@@ -7527,6 +7725,16 @@ module Aws::EMR
7527
7725
  # notebook files.
7528
7726
  # @return [String]
7529
7727
  #
7728
+ # @!attribute [rw] idp_auth_url
7729
+ # Your identity provider's authentication endpoint. Amazon EMR Studio
7730
+ # redirects federated users to this endpoint for authentication when
7731
+ # logging in to a Studio with the Studio URL.
7732
+ # @return [String]
7733
+ #
7734
+ # @!attribute [rw] idp_relay_state_parameter_name
7735
+ # The name of your identity provider's `RelayState` parameter.
7736
+ # @return [String]
7737
+ #
7530
7738
  # @!attribute [rw] tags
7531
7739
  # A list of tags associated with the Amazon EMR Studio.
7532
7740
  # @return [Array<Types::Tag>]
@@ -7548,6 +7756,8 @@ module Aws::EMR
7548
7756
  :url,
7549
7757
  :creation_time,
7550
7758
  :default_s3_location,
7759
+ :idp_auth_url,
7760
+ :idp_relay_state_parameter_name,
7551
7761
  :tags)
7552
7762
  SENSITIVE = []
7553
7763
  include Aws::Structure
@@ -7578,6 +7788,11 @@ module Aws::EMR
7578
7788
  # The unique access URL of the Amazon EMR Studio.
7579
7789
  # @return [String]
7580
7790
  #
7791
+ # @!attribute [rw] auth_mode
7792
+ # Specifies whether the Studio authenticates users using IAM or Amazon
7793
+ # Web Services SSO.
7794
+ # @return [String]
7795
+ #
7581
7796
  # @!attribute [rw] creation_time
7582
7797
  # The time when the Amazon EMR Studio was created.
7583
7798
  # @return [Time]
@@ -7590,6 +7805,7 @@ module Aws::EMR
7590
7805
  :vpc_id,
7591
7806
  :description,
7592
7807
  :url,
7808
+ :auth_mode,
7593
7809
  :creation_time)
7594
7810
  SENSITIVE = []
7595
7811
  include Aws::Structure