aws-sdk-emr 1.48.0 → 1.52.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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