aws-sdk-emr 1.38.0 → 1.43.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -26,6 +26,7 @@ module Aws::EMR
26
26
  Application = Shapes::StructureShape.new(name: 'Application')
27
27
  ApplicationList = Shapes::ListShape.new(name: 'ApplicationList')
28
28
  ArnType = Shapes::StringShape.new(name: 'ArnType')
29
+ AuthMode = Shapes::StringShape.new(name: 'AuthMode')
29
30
  AutoScalingPolicy = Shapes::StructureShape.new(name: 'AutoScalingPolicy')
30
31
  AutoScalingPolicyDescription = Shapes::StructureShape.new(name: 'AutoScalingPolicyDescription')
31
32
  AutoScalingPolicyState = Shapes::StringShape.new(name: 'AutoScalingPolicyState')
@@ -65,9 +66,14 @@ module Aws::EMR
65
66
  ConfigurationList = Shapes::ListShape.new(name: 'ConfigurationList')
66
67
  CreateSecurityConfigurationInput = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationInput')
67
68
  CreateSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationOutput')
69
+ CreateStudioInput = Shapes::StructureShape.new(name: 'CreateStudioInput')
70
+ CreateStudioOutput = Shapes::StructureShape.new(name: 'CreateStudioOutput')
71
+ CreateStudioSessionMappingInput = Shapes::StructureShape.new(name: 'CreateStudioSessionMappingInput')
68
72
  Date = Shapes::TimestampShape.new(name: 'Date')
69
73
  DeleteSecurityConfigurationInput = Shapes::StructureShape.new(name: 'DeleteSecurityConfigurationInput')
70
74
  DeleteSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'DeleteSecurityConfigurationOutput')
75
+ DeleteStudioInput = Shapes::StructureShape.new(name: 'DeleteStudioInput')
76
+ DeleteStudioSessionMappingInput = Shapes::StructureShape.new(name: 'DeleteStudioSessionMappingInput')
71
77
  DescribeClusterInput = Shapes::StructureShape.new(name: 'DescribeClusterInput')
72
78
  DescribeClusterOutput = Shapes::StructureShape.new(name: 'DescribeClusterOutput')
73
79
  DescribeJobFlowsInput = Shapes::StructureShape.new(name: 'DescribeJobFlowsInput')
@@ -78,6 +84,8 @@ module Aws::EMR
78
84
  DescribeSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'DescribeSecurityConfigurationOutput')
79
85
  DescribeStepInput = Shapes::StructureShape.new(name: 'DescribeStepInput')
80
86
  DescribeStepOutput = Shapes::StructureShape.new(name: 'DescribeStepOutput')
87
+ DescribeStudioInput = Shapes::StructureShape.new(name: 'DescribeStudioInput')
88
+ DescribeStudioOutput = Shapes::StructureShape.new(name: 'DescribeStudioOutput')
81
89
  EC2InstanceIdsList = Shapes::ListShape.new(name: 'EC2InstanceIdsList')
82
90
  EC2InstanceIdsToTerminateList = Shapes::ListShape.new(name: 'EC2InstanceIdsToTerminateList')
83
91
  EbsBlockDevice = Shapes::StructureShape.new(name: 'EbsBlockDevice')
@@ -97,8 +105,11 @@ module Aws::EMR
97
105
  GetBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationOutput')
98
106
  GetManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyInput')
99
107
  GetManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyOutput')
108
+ GetStudioSessionMappingInput = Shapes::StructureShape.new(name: 'GetStudioSessionMappingInput')
109
+ GetStudioSessionMappingOutput = Shapes::StructureShape.new(name: 'GetStudioSessionMappingOutput')
100
110
  HadoopJarStepConfig = Shapes::StructureShape.new(name: 'HadoopJarStepConfig')
101
111
  HadoopStepConfig = Shapes::StructureShape.new(name: 'HadoopStepConfig')
112
+ IdentityType = Shapes::StringShape.new(name: 'IdentityType')
102
113
  Instance = Shapes::StructureShape.new(name: 'Instance')
103
114
  InstanceCollectionType = Shapes::StringShape.new(name: 'InstanceCollectionType')
104
115
  InstanceFleet = Shapes::StructureShape.new(name: 'InstanceFleet')
@@ -176,6 +187,10 @@ module Aws::EMR
176
187
  ListSecurityConfigurationsOutput = Shapes::StructureShape.new(name: 'ListSecurityConfigurationsOutput')
177
188
  ListStepsInput = Shapes::StructureShape.new(name: 'ListStepsInput')
178
189
  ListStepsOutput = Shapes::StructureShape.new(name: 'ListStepsOutput')
190
+ ListStudioSessionMappingsInput = Shapes::StructureShape.new(name: 'ListStudioSessionMappingsInput')
191
+ ListStudioSessionMappingsOutput = Shapes::StructureShape.new(name: 'ListStudioSessionMappingsOutput')
192
+ ListStudiosInput = Shapes::StructureShape.new(name: 'ListStudiosInput')
193
+ ListStudiosOutput = Shapes::StructureShape.new(name: 'ListStudiosOutput')
179
194
  Long = Shapes::IntegerShape.new(name: 'Long')
180
195
  ManagedScalingPolicy = Shapes::StructureShape.new(name: 'ManagedScalingPolicy')
181
196
  Marker = Shapes::StringShape.new(name: 'Marker')
@@ -192,6 +207,9 @@ module Aws::EMR
192
207
  NotebookExecutionStatus = Shapes::StringShape.new(name: 'NotebookExecutionStatus')
193
208
  NotebookExecutionSummary = Shapes::StructureShape.new(name: 'NotebookExecutionSummary')
194
209
  NotebookExecutionSummaryList = Shapes::ListShape.new(name: 'NotebookExecutionSummaryList')
210
+ OnDemandCapacityReservationOptions = Shapes::StructureShape.new(name: 'OnDemandCapacityReservationOptions')
211
+ OnDemandCapacityReservationPreference = Shapes::StringShape.new(name: 'OnDemandCapacityReservationPreference')
212
+ OnDemandCapacityReservationUsageStrategy = Shapes::StringShape.new(name: 'OnDemandCapacityReservationUsageStrategy')
195
213
  OnDemandProvisioningAllocationStrategy = Shapes::StringShape.new(name: 'OnDemandProvisioningAllocationStrategy')
196
214
  OnDemandProvisioningSpecification = Shapes::StructureShape.new(name: 'OnDemandProvisioningSpecification')
197
215
  OptionalArnType = Shapes::StringShape.new(name: 'OptionalArnType')
@@ -228,6 +246,9 @@ module Aws::EMR
228
246
  SecurityConfigurationList = Shapes::ListShape.new(name: 'SecurityConfigurationList')
229
247
  SecurityConfigurationSummary = Shapes::StructureShape.new(name: 'SecurityConfigurationSummary')
230
248
  SecurityGroupsList = Shapes::ListShape.new(name: 'SecurityGroupsList')
249
+ SessionMappingDetail = Shapes::StructureShape.new(name: 'SessionMappingDetail')
250
+ SessionMappingSummary = Shapes::StructureShape.new(name: 'SessionMappingSummary')
251
+ SessionMappingSummaryList = Shapes::ListShape.new(name: 'SessionMappingSummaryList')
231
252
  SetTerminationProtectionInput = Shapes::StructureShape.new(name: 'SetTerminationProtectionInput')
232
253
  SetVisibleToAllUsersInput = Shapes::StructureShape.new(name: 'SetVisibleToAllUsersInput')
233
254
  ShrinkPolicy = Shapes::StructureShape.new(name: 'ShrinkPolicy')
@@ -260,12 +281,18 @@ module Aws::EMR
260
281
  String = Shapes::StringShape.new(name: 'String')
261
282
  StringList = Shapes::ListShape.new(name: 'StringList')
262
283
  StringMap = Shapes::MapShape.new(name: 'StringMap')
284
+ Studio = Shapes::StructureShape.new(name: 'Studio')
285
+ StudioSummary = Shapes::StructureShape.new(name: 'StudioSummary')
286
+ StudioSummaryList = Shapes::ListShape.new(name: 'StudioSummaryList')
287
+ SubnetIdList = Shapes::ListShape.new(name: 'SubnetIdList')
263
288
  SupportedProductConfig = Shapes::StructureShape.new(name: 'SupportedProductConfig')
264
289
  SupportedProductsList = Shapes::ListShape.new(name: 'SupportedProductsList')
265
290
  Tag = Shapes::StructureShape.new(name: 'Tag')
266
291
  TagList = Shapes::ListShape.new(name: 'TagList')
267
292
  TerminateJobFlowsInput = Shapes::StructureShape.new(name: 'TerminateJobFlowsInput')
268
293
  Unit = Shapes::StringShape.new(name: 'Unit')
294
+ UpdateStudioInput = Shapes::StructureShape.new(name: 'UpdateStudioInput')
295
+ UpdateStudioSessionMappingInput = Shapes::StructureShape.new(name: 'UpdateStudioSessionMappingInput')
269
296
  VolumeSpecification = Shapes::StructureShape.new(name: 'VolumeSpecification')
270
297
  WholeNumber = Shapes::IntegerShape.new(name: 'WholeNumber')
271
298
  XmlString = Shapes::StringShape.new(name: 'XmlString')
@@ -461,11 +488,44 @@ module Aws::EMR
461
488
  CreateSecurityConfigurationOutput.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Date, required: true, location_name: "CreationDateTime"))
462
489
  CreateSecurityConfigurationOutput.struct_class = Types::CreateSecurityConfigurationOutput
463
490
 
491
+ CreateStudioInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "Name"))
492
+ CreateStudioInput.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
493
+ CreateStudioInput.add_member(:auth_mode, Shapes::ShapeRef.new(shape: AuthMode, required: true, location_name: "AuthMode"))
494
+ CreateStudioInput.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "VpcId"))
495
+ CreateStudioInput.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "SubnetIds"))
496
+ CreateStudioInput.add_member(:service_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "ServiceRole"))
497
+ CreateStudioInput.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "UserRole"))
498
+ CreateStudioInput.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "WorkspaceSecurityGroupId"))
499
+ CreateStudioInput.add_member(:engine_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "EngineSecurityGroupId"))
500
+ CreateStudioInput.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "DefaultS3Location"))
501
+ CreateStudioInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
502
+ CreateStudioInput.struct_class = Types::CreateStudioInput
503
+
504
+ CreateStudioOutput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
505
+ CreateStudioOutput.add_member(:url, Shapes::ShapeRef.new(shape: XmlString, location_name: "Url"))
506
+ CreateStudioOutput.struct_class = Types::CreateStudioOutput
507
+
508
+ CreateStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
509
+ CreateStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
510
+ CreateStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
511
+ CreateStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
512
+ CreateStudioSessionMappingInput.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "SessionPolicyArn"))
513
+ CreateStudioSessionMappingInput.struct_class = Types::CreateStudioSessionMappingInput
514
+
464
515
  DeleteSecurityConfigurationInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Name"))
465
516
  DeleteSecurityConfigurationInput.struct_class = Types::DeleteSecurityConfigurationInput
466
517
 
467
518
  DeleteSecurityConfigurationOutput.struct_class = Types::DeleteSecurityConfigurationOutput
468
519
 
520
+ DeleteStudioInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
521
+ DeleteStudioInput.struct_class = Types::DeleteStudioInput
522
+
523
+ DeleteStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
524
+ DeleteStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
525
+ DeleteStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
526
+ DeleteStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
527
+ DeleteStudioSessionMappingInput.struct_class = Types::DeleteStudioSessionMappingInput
528
+
469
529
  DescribeClusterInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
470
530
  DescribeClusterInput.struct_class = Types::DescribeClusterInput
471
531
 
@@ -502,6 +562,12 @@ module Aws::EMR
502
562
  DescribeStepOutput.add_member(:step, Shapes::ShapeRef.new(shape: Step, location_name: "Step"))
503
563
  DescribeStepOutput.struct_class = Types::DescribeStepOutput
504
564
 
565
+ DescribeStudioInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
566
+ DescribeStudioInput.struct_class = Types::DescribeStudioInput
567
+
568
+ DescribeStudioOutput.add_member(:studio, Shapes::ShapeRef.new(shape: Studio, location_name: "Studio"))
569
+ DescribeStudioOutput.struct_class = Types::DescribeStudioOutput
570
+
505
571
  EC2InstanceIdsList.member = Shapes::ShapeRef.new(shape: InstanceId)
506
572
 
507
573
  EC2InstanceIdsToTerminateList.member = Shapes::ShapeRef.new(shape: InstanceId)
@@ -563,6 +629,15 @@ module Aws::EMR
563
629
  GetManagedScalingPolicyOutput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
564
630
  GetManagedScalingPolicyOutput.struct_class = Types::GetManagedScalingPolicyOutput
565
631
 
632
+ GetStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
633
+ GetStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
634
+ GetStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
635
+ GetStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
636
+ GetStudioSessionMappingInput.struct_class = Types::GetStudioSessionMappingInput
637
+
638
+ GetStudioSessionMappingOutput.add_member(:session_mapping, Shapes::ShapeRef.new(shape: SessionMappingDetail, location_name: "SessionMapping"))
639
+ GetStudioSessionMappingOutput.struct_class = Types::GetStudioSessionMappingOutput
640
+
566
641
  HadoopJarStepConfig.add_member(:properties, Shapes::ShapeRef.new(shape: KeyValueList, location_name: "Properties"))
567
642
  HadoopJarStepConfig.add_member(:jar, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Jar"))
568
643
  HadoopJarStepConfig.add_member(:main_class, Shapes::ShapeRef.new(shape: XmlString, location_name: "MainClass"))
@@ -919,6 +994,22 @@ module Aws::EMR
919
994
  ListStepsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
920
995
  ListStepsOutput.struct_class = Types::ListStepsOutput
921
996
 
997
+ ListStudioSessionMappingsInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
998
+ ListStudioSessionMappingsInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
999
+ ListStudioSessionMappingsInput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1000
+ ListStudioSessionMappingsInput.struct_class = Types::ListStudioSessionMappingsInput
1001
+
1002
+ ListStudioSessionMappingsOutput.add_member(:session_mappings, Shapes::ShapeRef.new(shape: SessionMappingSummaryList, location_name: "SessionMappings"))
1003
+ ListStudioSessionMappingsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1004
+ ListStudioSessionMappingsOutput.struct_class = Types::ListStudioSessionMappingsOutput
1005
+
1006
+ ListStudiosInput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1007
+ ListStudiosInput.struct_class = Types::ListStudiosInput
1008
+
1009
+ ListStudiosOutput.add_member(:studios, Shapes::ShapeRef.new(shape: StudioSummaryList, location_name: "Studios"))
1010
+ ListStudiosOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1011
+ ListStudiosOutput.struct_class = Types::ListStudiosOutput
1012
+
922
1013
  ManagedScalingPolicy.add_member(:compute_limits, Shapes::ShapeRef.new(shape: ComputeLimits, location_name: "ComputeLimits"))
923
1014
  ManagedScalingPolicy.struct_class = Types::ManagedScalingPolicy
924
1015
 
@@ -970,7 +1061,12 @@ module Aws::EMR
970
1061
 
971
1062
  NotebookExecutionSummaryList.member = Shapes::ShapeRef.new(shape: NotebookExecutionSummary)
972
1063
 
1064
+ OnDemandCapacityReservationOptions.add_member(:usage_strategy, Shapes::ShapeRef.new(shape: OnDemandCapacityReservationUsageStrategy, location_name: "UsageStrategy"))
1065
+ OnDemandCapacityReservationOptions.add_member(:capacity_reservation_preference, Shapes::ShapeRef.new(shape: OnDemandCapacityReservationPreference, location_name: "CapacityReservationPreference"))
1066
+ OnDemandCapacityReservationOptions.struct_class = Types::OnDemandCapacityReservationOptions
1067
+
973
1068
  OnDemandProvisioningSpecification.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: OnDemandProvisioningAllocationStrategy, required: true, location_name: "AllocationStrategy"))
1069
+ OnDemandProvisioningSpecification.add_member(:capacity_reservation_options, Shapes::ShapeRef.new(shape: OnDemandCapacityReservationOptions, location_name: "CapacityReservationOptions"))
974
1070
  OnDemandProvisioningSpecification.struct_class = Types::OnDemandProvisioningSpecification
975
1071
 
976
1072
  PlacementGroupConfig.add_member(:instance_role, Shapes::ShapeRef.new(shape: InstanceRoleType, required: true, location_name: "InstanceRole"))
@@ -1092,6 +1188,25 @@ module Aws::EMR
1092
1188
 
1093
1189
  SecurityGroupsList.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen256)
1094
1190
 
1191
+ SessionMappingDetail.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1192
+ SessionMappingDetail.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1193
+ SessionMappingDetail.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1194
+ SessionMappingDetail.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
1195
+ SessionMappingDetail.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "SessionPolicyArn"))
1196
+ SessionMappingDetail.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1197
+ SessionMappingDetail.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Date, location_name: "LastModifiedTime"))
1198
+ SessionMappingDetail.struct_class = Types::SessionMappingDetail
1199
+
1200
+ SessionMappingSummary.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1201
+ SessionMappingSummary.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1202
+ SessionMappingSummary.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1203
+ SessionMappingSummary.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
1204
+ SessionMappingSummary.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "SessionPolicyArn"))
1205
+ SessionMappingSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1206
+ SessionMappingSummary.struct_class = Types::SessionMappingSummary
1207
+
1208
+ SessionMappingSummaryList.member = Shapes::ShapeRef.new(shape: SessionMappingSummary)
1209
+
1095
1210
  SetTerminationProtectionInput.add_member(:job_flow_ids, Shapes::ShapeRef.new(shape: XmlStringList, required: true, location_name: "JobFlowIds"))
1096
1211
  SetTerminationProtectionInput.add_member(:termination_protected, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "TerminationProtected"))
1097
1212
  SetTerminationProtectionInput.struct_class = Types::SetTerminationProtectionInput
@@ -1191,6 +1306,35 @@ module Aws::EMR
1191
1306
  StringMap.key = Shapes::ShapeRef.new(shape: String)
1192
1307
  StringMap.value = Shapes::ShapeRef.new(shape: String)
1193
1308
 
1309
+ Studio.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1310
+ Studio.add_member(:studio_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioArn"))
1311
+ Studio.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1312
+ Studio.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1313
+ Studio.add_member(:auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "AuthMode"))
1314
+ Studio.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "VpcId"))
1315
+ Studio.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "SubnetIds"))
1316
+ Studio.add_member(:service_role, Shapes::ShapeRef.new(shape: XmlString, location_name: "ServiceRole"))
1317
+ Studio.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, location_name: "UserRole"))
1318
+ Studio.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "WorkspaceSecurityGroupId"))
1319
+ Studio.add_member(:engine_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "EngineSecurityGroupId"))
1320
+ Studio.add_member(:url, Shapes::ShapeRef.new(shape: XmlString, location_name: "Url"))
1321
+ Studio.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1322
+ Studio.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, location_name: "DefaultS3Location"))
1323
+ Studio.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
1324
+ Studio.struct_class = Types::Studio
1325
+
1326
+ StudioSummary.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1327
+ StudioSummary.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1328
+ StudioSummary.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "VpcId"))
1329
+ StudioSummary.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1330
+ StudioSummary.add_member(:url, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Url"))
1331
+ StudioSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1332
+ StudioSummary.struct_class = Types::StudioSummary
1333
+
1334
+ StudioSummaryList.member = Shapes::ShapeRef.new(shape: StudioSummary)
1335
+
1336
+ SubnetIdList.member = Shapes::ShapeRef.new(shape: String)
1337
+
1194
1338
  SupportedProductConfig.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1195
1339
  SupportedProductConfig.add_member(:args, Shapes::ShapeRef.new(shape: XmlStringList, location_name: "Args"))
1196
1340
  SupportedProductConfig.struct_class = Types::SupportedProductConfig
@@ -1206,6 +1350,20 @@ module Aws::EMR
1206
1350
  TerminateJobFlowsInput.add_member(:job_flow_ids, Shapes::ShapeRef.new(shape: XmlStringList, required: true, location_name: "JobFlowIds"))
1207
1351
  TerminateJobFlowsInput.struct_class = Types::TerminateJobFlowsInput
1208
1352
 
1353
+ UpdateStudioInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
1354
+ UpdateStudioInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1355
+ UpdateStudioInput.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1356
+ UpdateStudioInput.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "SubnetIds"))
1357
+ UpdateStudioInput.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, location_name: "DefaultS3Location"))
1358
+ UpdateStudioInput.struct_class = Types::UpdateStudioInput
1359
+
1360
+ UpdateStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
1361
+ UpdateStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1362
+ UpdateStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1363
+ UpdateStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
1364
+ UpdateStudioSessionMappingInput.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "SessionPolicyArn"))
1365
+ UpdateStudioSessionMappingInput.struct_class = Types::UpdateStudioSessionMappingInput
1366
+
1209
1367
  VolumeSpecification.add_member(:volume_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VolumeType"))
1210
1368
  VolumeSpecification.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "Iops"))
1211
1369
  VolumeSpecification.add_member(:size_in_gb, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "SizeInGB"))
@@ -1292,6 +1450,26 @@ module Aws::EMR
1292
1450
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1293
1451
  end)
1294
1452
 
1453
+ api.add_operation(:create_studio, Seahorse::Model::Operation.new.tap do |o|
1454
+ o.name = "CreateStudio"
1455
+ o.http_method = "POST"
1456
+ o.http_request_uri = "/"
1457
+ o.input = Shapes::ShapeRef.new(shape: CreateStudioInput)
1458
+ o.output = Shapes::ShapeRef.new(shape: CreateStudioOutput)
1459
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1460
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1461
+ end)
1462
+
1463
+ api.add_operation(:create_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1464
+ o.name = "CreateStudioSessionMapping"
1465
+ o.http_method = "POST"
1466
+ o.http_request_uri = "/"
1467
+ o.input = Shapes::ShapeRef.new(shape: CreateStudioSessionMappingInput)
1468
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1469
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1470
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1471
+ end)
1472
+
1295
1473
  api.add_operation(:delete_security_configuration, Seahorse::Model::Operation.new.tap do |o|
1296
1474
  o.name = "DeleteSecurityConfiguration"
1297
1475
  o.http_method = "POST"
@@ -1302,6 +1480,26 @@ module Aws::EMR
1302
1480
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1303
1481
  end)
1304
1482
 
1483
+ api.add_operation(:delete_studio, Seahorse::Model::Operation.new.tap do |o|
1484
+ o.name = "DeleteStudio"
1485
+ o.http_method = "POST"
1486
+ o.http_request_uri = "/"
1487
+ o.input = Shapes::ShapeRef.new(shape: DeleteStudioInput)
1488
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1489
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1490
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1491
+ end)
1492
+
1493
+ api.add_operation(:delete_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1494
+ o.name = "DeleteStudioSessionMapping"
1495
+ o.http_method = "POST"
1496
+ o.http_request_uri = "/"
1497
+ o.input = Shapes::ShapeRef.new(shape: DeleteStudioSessionMappingInput)
1498
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1499
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1500
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1501
+ end)
1502
+
1305
1503
  api.add_operation(:describe_cluster, Seahorse::Model::Operation.new.tap do |o|
1306
1504
  o.name = "DescribeCluster"
1307
1505
  o.http_method = "POST"
@@ -1352,6 +1550,16 @@ module Aws::EMR
1352
1550
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1353
1551
  end)
1354
1552
 
1553
+ api.add_operation(:describe_studio, Seahorse::Model::Operation.new.tap do |o|
1554
+ o.name = "DescribeStudio"
1555
+ o.http_method = "POST"
1556
+ o.http_request_uri = "/"
1557
+ o.input = Shapes::ShapeRef.new(shape: DescribeStudioInput)
1558
+ o.output = Shapes::ShapeRef.new(shape: DescribeStudioOutput)
1559
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1560
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1561
+ end)
1562
+
1355
1563
  api.add_operation(:get_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1356
1564
  o.name = "GetBlockPublicAccessConfiguration"
1357
1565
  o.http_method = "POST"
@@ -1370,6 +1578,16 @@ module Aws::EMR
1370
1578
  o.output = Shapes::ShapeRef.new(shape: GetManagedScalingPolicyOutput)
1371
1579
  end)
1372
1580
 
1581
+ api.add_operation(:get_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1582
+ o.name = "GetStudioSessionMapping"
1583
+ o.http_method = "POST"
1584
+ o.http_request_uri = "/"
1585
+ o.input = Shapes::ShapeRef.new(shape: GetStudioSessionMappingInput)
1586
+ o.output = Shapes::ShapeRef.new(shape: GetStudioSessionMappingOutput)
1587
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1588
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1589
+ end)
1590
+
1373
1591
  api.add_operation(:list_bootstrap_actions, Seahorse::Model::Operation.new.tap do |o|
1374
1592
  o.name = "ListBootstrapActions"
1375
1593
  o.http_method = "POST"
@@ -1490,6 +1708,36 @@ module Aws::EMR
1490
1708
  )
1491
1709
  end)
1492
1710
 
1711
+ api.add_operation(:list_studio_session_mappings, Seahorse::Model::Operation.new.tap do |o|
1712
+ o.name = "ListStudioSessionMappings"
1713
+ o.http_method = "POST"
1714
+ o.http_request_uri = "/"
1715
+ o.input = Shapes::ShapeRef.new(shape: ListStudioSessionMappingsInput)
1716
+ o.output = Shapes::ShapeRef.new(shape: ListStudioSessionMappingsOutput)
1717
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1718
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1719
+ o[:pager] = Aws::Pager.new(
1720
+ tokens: {
1721
+ "marker" => "marker"
1722
+ }
1723
+ )
1724
+ end)
1725
+
1726
+ api.add_operation(:list_studios, Seahorse::Model::Operation.new.tap do |o|
1727
+ o.name = "ListStudios"
1728
+ o.http_method = "POST"
1729
+ o.http_request_uri = "/"
1730
+ o.input = Shapes::ShapeRef.new(shape: ListStudiosInput)
1731
+ o.output = Shapes::ShapeRef.new(shape: ListStudiosOutput)
1732
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1733
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1734
+ o[:pager] = Aws::Pager.new(
1735
+ tokens: {
1736
+ "marker" => "marker"
1737
+ }
1738
+ )
1739
+ end)
1740
+
1493
1741
  api.add_operation(:modify_cluster, Seahorse::Model::Operation.new.tap do |o|
1494
1742
  o.name = "ModifyCluster"
1495
1743
  o.http_method = "POST"
@@ -1626,6 +1874,26 @@ module Aws::EMR
1626
1874
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1627
1875
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1628
1876
  end)
1877
+
1878
+ api.add_operation(:update_studio, Seahorse::Model::Operation.new.tap do |o|
1879
+ o.name = "UpdateStudio"
1880
+ o.http_method = "POST"
1881
+ o.http_request_uri = "/"
1882
+ o.input = Shapes::ShapeRef.new(shape: UpdateStudioInput)
1883
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1884
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1885
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1886
+ end)
1887
+
1888
+ api.add_operation(:update_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1889
+ o.name = "UpdateStudioSessionMapping"
1890
+ o.http_method = "POST"
1891
+ o.http_request_uri = "/"
1892
+ o.input = Shapes::ShapeRef.new(shape: UpdateStudioSessionMappingInput)
1893
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1894
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1895
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1896
+ end)
1629
1897
  end
1630
1898
 
1631
1899
  end
@@ -61,6 +61,10 @@ module Aws::EMR
61
61
  # },
62
62
  # on_demand_specification: {
63
63
  # allocation_strategy: "lowest-price", # required, accepts lowest-price
64
+ # capacity_reservation_options: {
65
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
66
+ # capacity_reservation_preference: "open", # accepts open, none
67
+ # },
64
68
  # },
65
69
  # },
66
70
  # },
@@ -307,7 +311,7 @@ module Aws::EMR
307
311
  #
308
312
  # @!attribute [rw] tags
309
313
  # A list of tags to associate with a cluster and propagate to EC2
310
- # instances. Tags are user-defined key/value pairs that consist of a
314
+ # instances. Tags are user-defined key-value pairs that consist of a
311
315
  # required key string with a maximum of 128 characters, and an
312
316
  # optional value string with a maximum of 256 characters.
313
317
  # @return [Array<Types::Tag>]
@@ -547,8 +551,8 @@ module Aws::EMR
547
551
  # }
548
552
  #
549
553
  # @!attribute [rw] block_public_security_group_rules
550
- # Indicates whether EMR block public access is enabled (`true`) or
551
- # disabled (`false`). By default, the value is `false` for accounts
554
+ # Indicates whether Amazon EMR block public access is enabled (`true`)
555
+ # or disabled (`false`). By default, the value is `false` for accounts
552
556
  # that have created EMR clusters before July 2019. For accounts
553
557
  # created after this, the default is `true`.
554
558
  # @return [Boolean]
@@ -683,7 +687,7 @@ module Aws::EMR
683
687
  # }
684
688
  #
685
689
  # @!attribute [rw] cluster_id
686
- # The `ClusterID` for which specified steps will be canceled. Use
690
+ # The `ClusterID` for the specified steps that will be canceled. Use
687
691
  # RunJobFlow and ListClusters to get ClusterIDs.
688
692
  # @return [String]
689
693
  #
@@ -693,7 +697,7 @@ module Aws::EMR
693
697
  # @return [Array<String>]
694
698
  #
695
699
  # @!attribute [rw] step_cancellation_option
696
- # The option to choose for cancelling `RUNNING` steps. By default, the
700
+ # The option to choose to cancel `RUNNING` steps. By default, the
697
701
  # value is `SEND_INTERRUPT`.
698
702
  # @return [String]
699
703
  #
@@ -951,13 +955,13 @@ module Aws::EMR
951
955
  # to terminate the instance was submitted. This option is only
952
956
  # available with Amazon EMR 5.1.0 and later and is the default for
953
957
  # clusters created using that version. `TERMINATE_AT_TASK_COMPLETION`
954
- # indicates that Amazon EMR blacklists and drains tasks from nodes
955
- # before terminating the Amazon EC2 instances, regardless of the
956
- # instance-hour boundary. With either behavior, Amazon EMR removes the
957
- # least active nodes first and blocks instance termination if it could
958
- # lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION` is available
959
- # only in Amazon EMR version 4.1.0 and later, and is the default for
960
- # versions of Amazon EMR earlier than 5.1.0.
958
+ # indicates that Amazon EMR adds nodes to a deny list and drains tasks
959
+ # from nodes before terminating the Amazon EC2 instances, regardless
960
+ # of the instance-hour boundary. With either behavior, Amazon EMR
961
+ # removes the least active nodes first and blocks instance termination
962
+ # if it could lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION`
963
+ # is available only in Amazon EMR version 4.1.0 and later, and is the
964
+ # default for versions of Amazon EMR earlier than 5.1.0.
961
965
  # @return [String]
962
966
  #
963
967
  # @!attribute [rw] custom_ami_id
@@ -966,9 +970,9 @@ module Aws::EMR
966
970
  # @return [String]
967
971
  #
968
972
  # @!attribute [rw] ebs_root_volume_size
969
- # The size, in GiB, of the EBS root device volume of the Linux AMI
970
- # that is used for each EC2 instance. Available in Amazon EMR version
971
- # 4.x and later.
973
+ # The size, in GiB, of the Amazon EBS root device volume of the Linux
974
+ # AMI that is used for each EC2 instance. Available in Amazon EMR
975
+ # version 4.x and later.
972
976
  # @return [Integer]
973
977
  #
974
978
  # @!attribute [rw] repo_upgrade_on_boot
@@ -980,7 +984,8 @@ module Aws::EMR
980
984
  # @!attribute [rw] kerberos_attributes
981
985
  # Attributes for Kerberos configuration when Kerberos authentication
982
986
  # is enabled using a security configuration. For more information see
983
- # [Use Kerberos Authentication][1] in the *EMR Management Guide*.
987
+ # [Use Kerberos Authentication][1] in the *Amazon EMR Management
988
+ # Guide*.
984
989
  #
985
990
  #
986
991
  #
@@ -1001,6 +1006,7 @@ module Aws::EMR
1001
1006
  # @return [Integer]
1002
1007
  #
1003
1008
  # @!attribute [rw] placement_groups
1009
+ # Placement group configured for an Amazon EMR cluster.
1004
1010
  # @return [Array<Types::PlacementGroupConfig>]
1005
1011
  #
1006
1012
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Cluster AWS API Documentation
@@ -1137,7 +1143,7 @@ module Aws::EMR
1137
1143
  # @return [Time]
1138
1144
  #
1139
1145
  # @!attribute [rw] ready_date_time
1140
- # The date and time when the cluster was ready to execute steps.
1146
+ # The date and time when the cluster was ready to run steps.
1141
1147
  # @return [Time]
1142
1148
  #
1143
1149
  # @!attribute [rw] end_date_time
@@ -1199,7 +1205,7 @@ module Aws::EMR
1199
1205
  # @return [String]
1200
1206
  #
1201
1207
  # @!attribute [rw] minimum_capacity_units
1202
- # The lower boundary of EC2 units. It is measured through VCPU cores
1208
+ # The lower boundary of EC2 units. It is measured through vCPU cores
1203
1209
  # or instances for instance groups and measured through units for
1204
1210
  # instance fleets. Managed scaling activities are not allowed beyond
1205
1211
  # this boundary. The limit only applies to the core and task nodes.
@@ -1207,7 +1213,7 @@ module Aws::EMR
1207
1213
  # @return [Integer]
1208
1214
  #
1209
1215
  # @!attribute [rw] maximum_capacity_units
1210
- # The upper boundary of EC2 units. It is measured through VCPU cores
1216
+ # The upper boundary of EC2 units. It is measured through vCPU cores
1211
1217
  # or instances for instance groups and measured through units for
1212
1218
  # instance fleets. Managed scaling activities are not allowed beyond
1213
1219
  # this boundary. The limit only applies to the core and task nodes.
@@ -1216,15 +1222,15 @@ module Aws::EMR
1216
1222
  #
1217
1223
  # @!attribute [rw] maximum_on_demand_capacity_units
1218
1224
  # The upper boundary of On-Demand EC2 units. It is measured through
1219
- # VCPU cores or instances for instance groups and measured through
1225
+ # vCPU cores or instances for instance groups and measured through
1220
1226
  # units for instance fleets. The On-Demand units are not allowed to
1221
1227
  # scale beyond this boundary. The parameter is used to split capacity
1222
- # allocation between On-Demand and Spot instances.
1228
+ # allocation between On-Demand and Spot Instances.
1223
1229
  # @return [Integer]
1224
1230
  #
1225
1231
  # @!attribute [rw] maximum_core_capacity_units
1226
1232
  # The upper boundary of EC2 units for core node type in a cluster. It
1227
- # is measured through VCPU cores or instances for instance groups and
1233
+ # is measured through vCPU cores or instances for instance groups and
1228
1234
  # measured through units for instance fleets. The core units are not
1229
1235
  # allowed to scale beyond this boundary. The parameter is used to
1230
1236
  # split capacity allocation between core and task nodes.
@@ -1350,6 +1356,190 @@ module Aws::EMR
1350
1356
  include Aws::Structure
1351
1357
  end
1352
1358
 
1359
+ # @note When making an API call, you may pass CreateStudioInput
1360
+ # data as a hash:
1361
+ #
1362
+ # {
1363
+ # name: "XmlStringMaxLen256", # required
1364
+ # description: "XmlStringMaxLen256",
1365
+ # auth_mode: "SSO", # required, accepts SSO, IAM
1366
+ # vpc_id: "XmlStringMaxLen256", # required
1367
+ # subnet_ids: ["String"], # required
1368
+ # service_role: "XmlString", # required
1369
+ # user_role: "XmlString", # required
1370
+ # workspace_security_group_id: "XmlStringMaxLen256", # required
1371
+ # engine_security_group_id: "XmlStringMaxLen256", # required
1372
+ # default_s3_location: "XmlString", # required
1373
+ # tags: [
1374
+ # {
1375
+ # key: "String",
1376
+ # value: "String",
1377
+ # },
1378
+ # ],
1379
+ # }
1380
+ #
1381
+ # @!attribute [rw] name
1382
+ # A descriptive name for the Amazon EMR Studio.
1383
+ # @return [String]
1384
+ #
1385
+ # @!attribute [rw] description
1386
+ # A detailed description of the Amazon EMR Studio.
1387
+ # @return [String]
1388
+ #
1389
+ # @!attribute [rw] auth_mode
1390
+ # Specifies whether the Studio authenticates users using single
1391
+ # sign-on (SSO) or IAM. Amazon EMR Studio currently only supports SSO
1392
+ # authentication.
1393
+ # @return [String]
1394
+ #
1395
+ # @!attribute [rw] vpc_id
1396
+ # The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate
1397
+ # with the Studio.
1398
+ # @return [String]
1399
+ #
1400
+ # @!attribute [rw] subnet_ids
1401
+ # A list of subnet IDs to associate with the Amazon EMR Studio. A
1402
+ # Studio can have a maximum of 5 subnets. The subnets must belong to
1403
+ # the VPC specified by `VpcId`. Studio users can create a Workspace in
1404
+ # any of the specified subnets.
1405
+ # @return [Array<String>]
1406
+ #
1407
+ # @!attribute [rw] service_role
1408
+ # The IAM role that will be assumed by the Amazon EMR Studio. The
1409
+ # service role provides a way for Amazon EMR Studio to interoperate
1410
+ # with other AWS services.
1411
+ # @return [String]
1412
+ #
1413
+ # @!attribute [rw] user_role
1414
+ # The IAM user role that will be assumed by users and groups logged in
1415
+ # to an Amazon EMR Studio. The permissions attached to this IAM role
1416
+ # can be scoped down for each user or group using session policies.
1417
+ # @return [String]
1418
+ #
1419
+ # @!attribute [rw] workspace_security_group_id
1420
+ # The ID of the Amazon EMR Studio Workspace security group. The
1421
+ # Workspace security group allows outbound network traffic to
1422
+ # resources in the Engine security group, and it must be in the same
1423
+ # VPC specified by `VpcId`.
1424
+ # @return [String]
1425
+ #
1426
+ # @!attribute [rw] engine_security_group_id
1427
+ # The ID of the Amazon EMR Studio Engine security group. The Engine
1428
+ # security group allows inbound network traffic from the Workspace
1429
+ # security group, and it must be in the same VPC specified by `VpcId`.
1430
+ # @return [String]
1431
+ #
1432
+ # @!attribute [rw] default_s3_location
1433
+ # The default Amazon S3 location to back up Amazon EMR Studio
1434
+ # Workspaces and notebook files. A Studio user can select an
1435
+ # alternative Amazon S3 location when creating a Workspace.
1436
+ # @return [String]
1437
+ #
1438
+ # @!attribute [rw] tags
1439
+ # A list of tags to associate with the Amazon EMR Studio. Tags are
1440
+ # user-defined key-value pairs that consist of a required key string
1441
+ # with a maximum of 128 characters, and an optional value string with
1442
+ # a maximum of 256 characters.
1443
+ # @return [Array<Types::Tag>]
1444
+ #
1445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioInput AWS API Documentation
1446
+ #
1447
+ class CreateStudioInput < Struct.new(
1448
+ :name,
1449
+ :description,
1450
+ :auth_mode,
1451
+ :vpc_id,
1452
+ :subnet_ids,
1453
+ :service_role,
1454
+ :user_role,
1455
+ :workspace_security_group_id,
1456
+ :engine_security_group_id,
1457
+ :default_s3_location,
1458
+ :tags)
1459
+ SENSITIVE = []
1460
+ include Aws::Structure
1461
+ end
1462
+
1463
+ # @!attribute [rw] studio_id
1464
+ # The ID of the Amazon EMR Studio.
1465
+ # @return [String]
1466
+ #
1467
+ # @!attribute [rw] url
1468
+ # The unique Studio access URL.
1469
+ # @return [String]
1470
+ #
1471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioOutput AWS API Documentation
1472
+ #
1473
+ class CreateStudioOutput < Struct.new(
1474
+ :studio_id,
1475
+ :url)
1476
+ SENSITIVE = []
1477
+ include Aws::Structure
1478
+ end
1479
+
1480
+ # @note When making an API call, you may pass CreateStudioSessionMappingInput
1481
+ # data as a hash:
1482
+ #
1483
+ # {
1484
+ # studio_id: "XmlStringMaxLen256", # required
1485
+ # identity_id: "XmlStringMaxLen256",
1486
+ # identity_name: "XmlStringMaxLen256",
1487
+ # identity_type: "USER", # required, accepts USER, GROUP
1488
+ # session_policy_arn: "XmlStringMaxLen256", # required
1489
+ # }
1490
+ #
1491
+ # @!attribute [rw] studio_id
1492
+ # The ID of the Amazon EMR Studio to which the user or group will be
1493
+ # mapped.
1494
+ # @return [String]
1495
+ #
1496
+ # @!attribute [rw] identity_id
1497
+ # The globally unique identifier (GUID) of the user or group from the
1498
+ # AWS SSO Identity Store. For more information, see [UserId][1] and
1499
+ # [GroupId][2] in the *AWS SSO Identity Store API Reference*. Either
1500
+ # `IdentityName` or `IdentityId` must be specified.
1501
+ #
1502
+ #
1503
+ #
1504
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1505
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
1506
+ # @return [String]
1507
+ #
1508
+ # @!attribute [rw] identity_name
1509
+ # The name of the user or group. For more information, see
1510
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
1511
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
1512
+ # specified.
1513
+ #
1514
+ #
1515
+ #
1516
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
1517
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
1518
+ # @return [String]
1519
+ #
1520
+ # @!attribute [rw] identity_type
1521
+ # Specifies whether the identity to map to the Amazon EMR Studio is a
1522
+ # user or a group.
1523
+ # @return [String]
1524
+ #
1525
+ # @!attribute [rw] session_policy_arn
1526
+ # The Amazon Resource Name (ARN) for the session policy that will be
1527
+ # applied to the user or group. Session policies refine Studio user
1528
+ # permissions without the need to use multiple IAM user roles.
1529
+ # @return [String]
1530
+ #
1531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioSessionMappingInput AWS API Documentation
1532
+ #
1533
+ class CreateStudioSessionMappingInput < Struct.new(
1534
+ :studio_id,
1535
+ :identity_id,
1536
+ :identity_name,
1537
+ :identity_type,
1538
+ :session_policy_arn)
1539
+ SENSITIVE = []
1540
+ include Aws::Structure
1541
+ end
1542
+
1353
1543
  # @note When making an API call, you may pass DeleteSecurityConfigurationInput
1354
1544
  # data as a hash:
1355
1545
  #
@@ -1373,6 +1563,79 @@ module Aws::EMR
1373
1563
  #
1374
1564
  class DeleteSecurityConfigurationOutput < Aws::EmptyStructure; end
1375
1565
 
1566
+ # @note When making an API call, you may pass DeleteStudioInput
1567
+ # data as a hash:
1568
+ #
1569
+ # {
1570
+ # studio_id: "XmlStringMaxLen256", # required
1571
+ # }
1572
+ #
1573
+ # @!attribute [rw] studio_id
1574
+ # The ID of the Amazon EMR Studio.
1575
+ # @return [String]
1576
+ #
1577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioInput AWS API Documentation
1578
+ #
1579
+ class DeleteStudioInput < Struct.new(
1580
+ :studio_id)
1581
+ SENSITIVE = []
1582
+ include Aws::Structure
1583
+ end
1584
+
1585
+ # @note When making an API call, you may pass DeleteStudioSessionMappingInput
1586
+ # data as a hash:
1587
+ #
1588
+ # {
1589
+ # studio_id: "XmlStringMaxLen256", # required
1590
+ # identity_id: "XmlStringMaxLen256",
1591
+ # identity_name: "XmlStringMaxLen256",
1592
+ # identity_type: "USER", # required, accepts USER, GROUP
1593
+ # }
1594
+ #
1595
+ # @!attribute [rw] studio_id
1596
+ # The ID of the Amazon EMR Studio.
1597
+ # @return [String]
1598
+ #
1599
+ # @!attribute [rw] identity_id
1600
+ # The globally unique identifier (GUID) of the user or group to remove
1601
+ # from the Amazon EMR Studio. For more information, see [UserId][1]
1602
+ # and [GroupId][2] in the *AWS SSO Identity Store API Reference*.
1603
+ # Either `IdentityName` or `IdentityId` must be specified.
1604
+ #
1605
+ #
1606
+ #
1607
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1608
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
1609
+ # @return [String]
1610
+ #
1611
+ # @!attribute [rw] identity_name
1612
+ # The name of the user name or group to remove from the Amazon EMR
1613
+ # Studio. For more information, see [UserName][1] and [DisplayName][2]
1614
+ # in the *AWS SSO Identity Store API Reference*. Either `IdentityName`
1615
+ # or `IdentityId` must be specified.
1616
+ #
1617
+ #
1618
+ #
1619
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
1620
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
1621
+ # @return [String]
1622
+ #
1623
+ # @!attribute [rw] identity_type
1624
+ # Specifies whether the identity to delete from the Amazon EMR Studio
1625
+ # is a user or a group.
1626
+ # @return [String]
1627
+ #
1628
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioSessionMappingInput AWS API Documentation
1629
+ #
1630
+ class DeleteStudioSessionMappingInput < Struct.new(
1631
+ :studio_id,
1632
+ :identity_id,
1633
+ :identity_name,
1634
+ :identity_type)
1635
+ SENSITIVE = []
1636
+ include Aws::Structure
1637
+ end
1638
+
1376
1639
  # This input determines which cluster to describe.
1377
1640
  #
1378
1641
  # @note When making an API call, you may pass DescribeClusterInput
@@ -1574,6 +1837,37 @@ module Aws::EMR
1574
1837
  include Aws::Structure
1575
1838
  end
1576
1839
 
1840
+ # @note When making an API call, you may pass DescribeStudioInput
1841
+ # data as a hash:
1842
+ #
1843
+ # {
1844
+ # studio_id: "XmlStringMaxLen256", # required
1845
+ # }
1846
+ #
1847
+ # @!attribute [rw] studio_id
1848
+ # The Amazon EMR Studio ID.
1849
+ # @return [String]
1850
+ #
1851
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudioInput AWS API Documentation
1852
+ #
1853
+ class DescribeStudioInput < Struct.new(
1854
+ :studio_id)
1855
+ SENSITIVE = []
1856
+ include Aws::Structure
1857
+ end
1858
+
1859
+ # @!attribute [rw] studio
1860
+ # The Amazon EMR Studio details.
1861
+ # @return [Types::Studio]
1862
+ #
1863
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudioOutput AWS API Documentation
1864
+ #
1865
+ class DescribeStudioOutput < Struct.new(
1866
+ :studio)
1867
+ SENSITIVE = []
1868
+ include Aws::Structure
1869
+ end
1870
+
1577
1871
  # Configuration of requested EBS block device associated with the
1578
1872
  # instance group.
1579
1873
  #
@@ -1835,9 +2129,9 @@ module Aws::EMR
1835
2129
  # @return [String]
1836
2130
  #
1837
2131
  # @!attribute [rw] message
1838
- # The descriptive message including the error the EMR service has
1839
- # identified as the cause of step failure. This is text from an error
1840
- # log that describes the root cause of the failure.
2132
+ # The descriptive message including the error the Amazon EMR service
2133
+ # has identified as the cause of step failure. This is text from an
2134
+ # error log that describes the root cause of the failure.
1841
2135
  # @return [String]
1842
2136
  #
1843
2137
  # @!attribute [rw] log_file
@@ -1935,6 +2229,72 @@ module Aws::EMR
1935
2229
  include Aws::Structure
1936
2230
  end
1937
2231
 
2232
+ # @note When making an API call, you may pass GetStudioSessionMappingInput
2233
+ # data as a hash:
2234
+ #
2235
+ # {
2236
+ # studio_id: "XmlStringMaxLen256", # required
2237
+ # identity_id: "XmlStringMaxLen256",
2238
+ # identity_name: "XmlStringMaxLen256",
2239
+ # identity_type: "USER", # required, accepts USER, GROUP
2240
+ # }
2241
+ #
2242
+ # @!attribute [rw] studio_id
2243
+ # The ID of the Amazon EMR Studio.
2244
+ # @return [String]
2245
+ #
2246
+ # @!attribute [rw] identity_id
2247
+ # The globally unique identifier (GUID) of the user or group. For more
2248
+ # information, see [UserId][1] and [GroupId][2] in the *AWS SSO
2249
+ # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
2250
+ # must be specified.
2251
+ #
2252
+ #
2253
+ #
2254
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
2255
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
2256
+ # @return [String]
2257
+ #
2258
+ # @!attribute [rw] identity_name
2259
+ # The name of the user or group to fetch. For more information, see
2260
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
2261
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
2262
+ # specified.
2263
+ #
2264
+ #
2265
+ #
2266
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
2267
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
2268
+ # @return [String]
2269
+ #
2270
+ # @!attribute [rw] identity_type
2271
+ # Specifies whether the identity to fetch is a user or a group.
2272
+ # @return [String]
2273
+ #
2274
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMappingInput AWS API Documentation
2275
+ #
2276
+ class GetStudioSessionMappingInput < Struct.new(
2277
+ :studio_id,
2278
+ :identity_id,
2279
+ :identity_name,
2280
+ :identity_type)
2281
+ SENSITIVE = []
2282
+ include Aws::Structure
2283
+ end
2284
+
2285
+ # @!attribute [rw] session_mapping
2286
+ # The session mapping details for the specified Amazon EMR Studio and
2287
+ # identity, including session policy ARN and creation time.
2288
+ # @return [Types::SessionMappingDetail]
2289
+ #
2290
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMappingOutput AWS API Documentation
2291
+ #
2292
+ class GetStudioSessionMappingOutput < Struct.new(
2293
+ :session_mapping)
2294
+ SENSITIVE = []
2295
+ include Aws::Structure
2296
+ end
2297
+
1938
2298
  # A job flow step consisting of a JAR file whose main function will be
1939
2299
  # executed. The main function submits a job for Hadoop to execute and
1940
2300
  # waits for the job to finish or fail.
@@ -1956,7 +2316,7 @@ module Aws::EMR
1956
2316
  #
1957
2317
  # @!attribute [rw] properties
1958
2318
  # A list of Java properties that are set when the step runs. You can
1959
- # use these properties to pass key value pairs to your main function.
2319
+ # use these properties to pass key-value pairs to your main function.
1960
2320
  # @return [Array<Types::KeyValue>]
1961
2321
  #
1962
2322
  # @!attribute [rw] jar
@@ -1995,7 +2355,7 @@ module Aws::EMR
1995
2355
  #
1996
2356
  # @!attribute [rw] properties
1997
2357
  # The list of Java properties that are set when the step runs. You can
1998
- # use these properties to pass key value pairs to your main function.
2358
+ # use these properties to pass key-value pairs to your main function.
1999
2359
  # @return [Hash<String,String>]
2000
2360
  #
2001
2361
  # @!attribute [rw] main_class
@@ -2094,7 +2454,7 @@ module Aws::EMR
2094
2454
  # Describes an instance fleet, which is a group of EC2 instances that
2095
2455
  # host a particular node type (master, core, or task) in an Amazon EMR
2096
2456
  # cluster. Instance fleets can consist of a mix of instance types and
2097
- # On-Demand and Spot instances, which are provisioned to meet a defined
2457
+ # On-Demand and Spot Instances, which are provisioned to meet a defined
2098
2458
  # target capacity.
2099
2459
  #
2100
2460
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
@@ -2121,11 +2481,11 @@ module Aws::EMR
2121
2481
  #
2122
2482
  # @!attribute [rw] target_on_demand_capacity
2123
2483
  # The target capacity of On-Demand units for the instance fleet, which
2124
- # determines how many On-Demand instances to provision. When the
2484
+ # determines how many On-Demand Instances to provision. When the
2125
2485
  # instance fleet launches, Amazon EMR tries to provision On-Demand
2126
- # instances as specified by InstanceTypeConfig. Each instance
2486
+ # Instances as specified by InstanceTypeConfig. Each instance
2127
2487
  # configuration has a specified `WeightedCapacity`. When an On-Demand
2128
- # instance is provisioned, the `WeightedCapacity` units count toward
2488
+ # Instance is provisioned, the `WeightedCapacity` units count toward
2129
2489
  # the target capacity. Amazon EMR provisions instances until the
2130
2490
  # target capacity is totally fulfilled, even if this results in an
2131
2491
  # overage. For example, if there are 2 units remaining to fulfill
@@ -2135,7 +2495,7 @@ module Aws::EMR
2135
2495
  # InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot
2136
2496
  # capacity units that have been provisioned for the instance fleet.
2137
2497
  #
2138
- # <note markdown="1"> If not specified or set to 0, only Spot instances are provisioned
2498
+ # <note markdown="1"> If not specified or set to 0, only Spot Instances are provisioned
2139
2499
  # for the instance fleet using `TargetSpotCapacity`. At least one of
2140
2500
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2141
2501
  # than 0. For a master instance fleet, only one of
@@ -2147,8 +2507,8 @@ module Aws::EMR
2147
2507
  #
2148
2508
  # @!attribute [rw] target_spot_capacity
2149
2509
  # The target capacity of Spot units for the instance fleet, which
2150
- # determines how many Spot instances to provision. When the instance
2151
- # fleet launches, Amazon EMR tries to provision Spot instances as
2510
+ # determines how many Spot Instances to provision. When the instance
2511
+ # fleet launches, Amazon EMR tries to provision Spot Instances as
2152
2512
  # specified by InstanceTypeConfig. Each instance configuration has a
2153
2513
  # specified `WeightedCapacity`. When a Spot instance is provisioned,
2154
2514
  # the `WeightedCapacity` units count toward the target capacity.
@@ -2161,7 +2521,7 @@ module Aws::EMR
2161
2521
  # determine the Spot capacity units that have been provisioned for the
2162
2522
  # instance fleet.
2163
2523
  #
2164
- # <note markdown="1"> If not specified or set to 0, only On-Demand instances are
2524
+ # <note markdown="1"> If not specified or set to 0, only On-Demand Instances are
2165
2525
  # provisioned for the instance fleet. At least one of
2166
2526
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2167
2527
  # than 0. For a master instance fleet, only one of
@@ -2267,6 +2627,10 @@ module Aws::EMR
2267
2627
  # },
2268
2628
  # on_demand_specification: {
2269
2629
  # allocation_strategy: "lowest-price", # required, accepts lowest-price
2630
+ # capacity_reservation_options: {
2631
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
2632
+ # capacity_reservation_preference: "open", # accepts open, none
2633
+ # },
2270
2634
  # },
2271
2635
  # },
2272
2636
  # }
@@ -2277,16 +2641,16 @@ module Aws::EMR
2277
2641
  #
2278
2642
  # @!attribute [rw] instance_fleet_type
2279
2643
  # The node type that the instance fleet hosts. Valid values are
2280
- # MASTER,CORE,and TASK.
2644
+ # MASTER, CORE, and TASK.
2281
2645
  # @return [String]
2282
2646
  #
2283
2647
  # @!attribute [rw] target_on_demand_capacity
2284
2648
  # The target capacity of On-Demand units for the instance fleet, which
2285
- # determines how many On-Demand instances to provision. When the
2649
+ # determines how many On-Demand Instances to provision. When the
2286
2650
  # instance fleet launches, Amazon EMR tries to provision On-Demand
2287
- # instances as specified by InstanceTypeConfig. Each instance
2651
+ # Instances as specified by InstanceTypeConfig. Each instance
2288
2652
  # configuration has a specified `WeightedCapacity`. When an On-Demand
2289
- # instance is provisioned, the `WeightedCapacity` units count toward
2653
+ # Instance is provisioned, the `WeightedCapacity` units count toward
2290
2654
  # the target capacity. Amazon EMR provisions instances until the
2291
2655
  # target capacity is totally fulfilled, even if this results in an
2292
2656
  # overage. For example, if there are 2 units remaining to fulfill
@@ -2294,7 +2658,7 @@ module Aws::EMR
2294
2658
  # `WeightedCapacity` of 5 units, the instance is provisioned, and the
2295
2659
  # target capacity is exceeded by 3 units.
2296
2660
  #
2297
- # <note markdown="1"> If not specified or set to 0, only Spot instances are provisioned
2661
+ # <note markdown="1"> If not specified or set to 0, only Spot Instances are provisioned
2298
2662
  # for the instance fleet using `TargetSpotCapacity`. At least one of
2299
2663
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2300
2664
  # than 0. For a master instance fleet, only one of
@@ -2306,10 +2670,10 @@ module Aws::EMR
2306
2670
  #
2307
2671
  # @!attribute [rw] target_spot_capacity
2308
2672
  # The target capacity of Spot units for the instance fleet, which
2309
- # determines how many Spot instances to provision. When the instance
2310
- # fleet launches, Amazon EMR tries to provision Spot instances as
2673
+ # determines how many Spot Instances to provision. When the instance
2674
+ # fleet launches, Amazon EMR tries to provision Spot Instances as
2311
2675
  # specified by InstanceTypeConfig. Each instance configuration has a
2312
- # specified `WeightedCapacity`. When a Spot instance is provisioned,
2676
+ # specified `WeightedCapacity`. When a Spot Instance is provisioned,
2313
2677
  # the `WeightedCapacity` units count toward the target capacity.
2314
2678
  # Amazon EMR provisions instances until the target capacity is totally
2315
2679
  # fulfilled, even if this results in an overage. For example, if there
@@ -2318,7 +2682,7 @@ module Aws::EMR
2318
2682
  # instance is provisioned, and the target capacity is exceeded by 3
2319
2683
  # units.
2320
2684
  #
2321
- # <note markdown="1"> If not specified or set to 0, only On-Demand instances are
2685
+ # <note markdown="1"> If not specified or set to 0, only On-Demand Instances are
2322
2686
  # provisioned for the instance fleet. At least one of
2323
2687
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2324
2688
  # than 0. For a master instance fleet, only one of
@@ -2390,13 +2754,13 @@ module Aws::EMR
2390
2754
  include Aws::Structure
2391
2755
  end
2392
2756
 
2393
- # The launch specification for Spot instances in the fleet, which
2757
+ # The launch specification for Spot Instances in the fleet, which
2394
2758
  # determines the defined duration, provisioning timeout behavior, and
2395
2759
  # allocation strategy.
2396
2760
  #
2397
2761
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2398
2762
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot
2399
- # instance allocation strategies are available in Amazon EMR version
2763
+ # Instance allocation strategies are available in Amazon EMR version
2400
2764
  # 5.12.1 and later.
2401
2765
  #
2402
2766
  # </note>
@@ -2413,22 +2777,26 @@ module Aws::EMR
2413
2777
  # },
2414
2778
  # on_demand_specification: {
2415
2779
  # allocation_strategy: "lowest-price", # required, accepts lowest-price
2780
+ # capacity_reservation_options: {
2781
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
2782
+ # capacity_reservation_preference: "open", # accepts open, none
2783
+ # },
2416
2784
  # },
2417
2785
  # }
2418
2786
  #
2419
2787
  # @!attribute [rw] spot_specification
2420
- # The launch specification for Spot instances in the fleet, which
2788
+ # The launch specification for Spot Instances in the fleet, which
2421
2789
  # determines the defined duration, provisioning timeout behavior, and
2422
2790
  # allocation strategy.
2423
2791
  # @return [Types::SpotProvisioningSpecification]
2424
2792
  #
2425
2793
  # @!attribute [rw] on_demand_specification
2426
- # The launch specification for On-Demand instances in the instance
2794
+ # The launch specification for On-Demand Instances in the instance
2427
2795
  # fleet, which determines the allocation strategy.
2428
2796
  #
2429
2797
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2430
2798
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand
2431
- # instances allocation strategy is available in Amazon EMR version
2799
+ # Instances allocation strategy is available in Amazon EMR version
2432
2800
  # 5.12.1 and later.
2433
2801
  #
2434
2802
  # </note>
@@ -2573,10 +2941,10 @@ module Aws::EMR
2573
2941
  # @return [String]
2574
2942
  #
2575
2943
  # @!attribute [rw] bid_price
2576
- # The bid price for each EC2 Spot instance type as defined by
2577
- # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2578
- # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2579
- # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
2944
+ # If specified, indicates that the instance group uses Spot Instances.
2945
+ # This is the maximum price you are willing to pay for Spot Instances.
2946
+ # Specify `OnDemandPrice` to set the amount equal to the On-Demand
2947
+ # price, or specify an amount in USD.
2580
2948
  # @return [String]
2581
2949
  #
2582
2950
  # @!attribute [rw] instance_type
@@ -2755,10 +3123,10 @@ module Aws::EMR
2755
3123
  # @return [String]
2756
3124
  #
2757
3125
  # @!attribute [rw] bid_price
2758
- # The bid price for each EC2 Spot instance type as defined by
2759
- # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2760
- # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2761
- # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
3126
+ # If specified, indicates that the instance group uses Spot Instances.
3127
+ # This is the maximum price you are willing to pay for Spot Instances.
3128
+ # Specify `OnDemandPrice` to set the amount equal to the On-Demand
3129
+ # price, or specify an amount in USD.
2762
3130
  # @return [String]
2763
3131
  #
2764
3132
  # @!attribute [rw] instance_type
@@ -2827,10 +3195,10 @@ module Aws::EMR
2827
3195
  # @return [String]
2828
3196
  #
2829
3197
  # @!attribute [rw] bid_price
2830
- # The bid price for each EC2 Spot instance type as defined by
2831
- # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2832
- # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2833
- # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
3198
+ # If specified, indicates that the instance group uses Spot Instances.
3199
+ # This is the maximum price you are willing to pay for Spot Instances.
3200
+ # Specify `OnDemandPrice` to set the amount equal to the On-Demand
3201
+ # price, or specify an amount in USD.
2834
3202
  # @return [String]
2835
3203
  #
2836
3204
  # @!attribute [rw] instance_type
@@ -2922,7 +3290,7 @@ module Aws::EMR
2922
3290
  # }
2923
3291
  #
2924
3292
  # @!attribute [rw] instance_group_id
2925
- # Unique ID of the instance group to expand or shrink.
3293
+ # Unique ID of the instance group to modify.
2926
3294
  # @return [String]
2927
3295
  #
2928
3296
  # @!attribute [rw] instance_count
@@ -3130,7 +3498,7 @@ module Aws::EMR
3130
3498
  # An instance type configuration for each instance type in an instance
3131
3499
  # fleet, which determines the EC2 instances Amazon EMR attempts to
3132
3500
  # provision to fulfill On-Demand and Spot target capacities. There can
3133
- # be a maximum of 5 instance type configurations in a fleet.
3501
+ # be a maximum of five instance type configurations in a fleet.
3134
3502
  #
3135
3503
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
3136
3504
  # versions 4.8.0 and later, excluding 5.0.x versions.
@@ -3184,7 +3552,7 @@ module Aws::EMR
3184
3552
  # @return [Integer]
3185
3553
  #
3186
3554
  # @!attribute [rw] bid_price
3187
- # The bid price for each EC2 Spot instance type as defined by
3555
+ # The bid price for each EC2 Spot Instance type as defined by
3188
3556
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
3189
3557
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
3190
3558
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -3192,15 +3560,15 @@ module Aws::EMR
3192
3560
  #
3193
3561
  # @!attribute [rw] bid_price_as_percentage_of_on_demand_price
3194
3562
  # The bid price, as a percentage of On-Demand price, for each EC2 Spot
3195
- # instance as defined by `InstanceType`. Expressed as a number (for
3563
+ # Instance as defined by `InstanceType`. Expressed as a number (for
3196
3564
  # example, 20 specifies 20%). If neither `BidPrice` nor
3197
3565
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
3198
3566
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
3199
3567
  # @return [Float]
3200
3568
  #
3201
3569
  # @!attribute [rw] ebs_configuration
3202
- # The configuration of Amazon Elastic Block Storage (EBS) attached to
3203
- # each instance as defined by `InstanceType`.
3570
+ # The configuration of Amazon Elastic Block Storage (Amazon EBS)
3571
+ # attached to each instance as defined by `InstanceType`.
3204
3572
  # @return [Types::EbsConfiguration]
3205
3573
  #
3206
3574
  # @!attribute [rw] configurations
@@ -3243,13 +3611,13 @@ module Aws::EMR
3243
3611
  # @return [Integer]
3244
3612
  #
3245
3613
  # @!attribute [rw] bid_price
3246
- # The bid price for each EC2 Spot instance type as defined by
3614
+ # The bid price for each EC2 Spot Instance type as defined by
3247
3615
  # `InstanceType`. Expressed in USD.
3248
3616
  # @return [String]
3249
3617
  #
3250
3618
  # @!attribute [rw] bid_price_as_percentage_of_on_demand_price
3251
3619
  # The bid price, as a percentage of On-Demand price, for each EC2 Spot
3252
- # instance as defined by `InstanceType`. Expressed as a number (for
3620
+ # Instance as defined by `InstanceType`. Expressed as a number (for
3253
3621
  # example, 20 specifies 20%).
3254
3622
  # @return [Float]
3255
3623
  #
@@ -3260,8 +3628,8 @@ module Aws::EMR
3260
3628
  # @return [Array<Types::Configuration>]
3261
3629
  #
3262
3630
  # @!attribute [rw] ebs_block_devices
3263
- # The configuration of Amazon Elastic Block Storage (EBS) attached to
3264
- # each instance as defined by `InstanceType`.
3631
+ # The configuration of Amazon Elastic Block Storage (Amazon EBS)
3632
+ # attached to each instance as defined by `InstanceType`.
3265
3633
  # @return [Array<Types::EbsBlockDevice>]
3266
3634
  #
3267
3635
  # @!attribute [rw] ebs_optimized
@@ -3290,8 +3658,8 @@ module Aws::EMR
3290
3658
  #
3291
3659
  class InternalServerError < Aws::EmptyStructure; end
3292
3660
 
3293
- # This exception occurs when there is an internal failure in the EMR
3294
- # service.
3661
+ # This exception occurs when there is an internal failure in the Amazon
3662
+ # EMR service.
3295
3663
  #
3296
3664
  # @!attribute [rw] message
3297
3665
  # The message associated with the exception.
@@ -3367,9 +3735,9 @@ module Aws::EMR
3367
3735
  # @return [Array<Types::BootstrapActionDetail>]
3368
3736
  #
3369
3737
  # @!attribute [rw] supported_products
3370
- # A list of strings set by third party software when the job flow is
3371
- # launched. If you are not using third party software to manage the
3372
- # job flow this value is empty.
3738
+ # A list of strings set by third-party software when the job flow is
3739
+ # launched. If you are not using third-party software to manage the
3740
+ # job flow, this value is empty.
3373
3741
  # @return [Array<String>]
3374
3742
  #
3375
3743
  # @!attribute [rw] visible_to_all_users
@@ -3390,8 +3758,8 @@ module Aws::EMR
3390
3758
  # @return [String]
3391
3759
  #
3392
3760
  # @!attribute [rw] service_role
3393
- # The IAM role that will be assumed by the Amazon EMR service to
3394
- # access AWS resources on your behalf.
3761
+ # The IAM role that is assumed by the Amazon EMR service to access AWS
3762
+ # resources on your behalf.
3395
3763
  # @return [String]
3396
3764
  #
3397
3765
  # @!attribute [rw] auto_scaling_role
@@ -3409,13 +3777,13 @@ module Aws::EMR
3409
3777
  # to terminate the instance was submitted. This option is only
3410
3778
  # available with Amazon EMR 5.1.0 and later and is the default for
3411
3779
  # clusters created using that version. `TERMINATE_AT_TASK_COMPLETION`
3412
- # indicates that Amazon EMR blacklists and drains tasks from nodes
3413
- # before terminating the Amazon EC2 instances, regardless of the
3414
- # instance-hour boundary. With either behavior, Amazon EMR removes the
3415
- # least active nodes first and blocks instance termination if it could
3416
- # lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION` available
3417
- # only in Amazon EMR version 4.1.0 and later, and is the default for
3418
- # versions of Amazon EMR earlier than 5.1.0.
3780
+ # indicates that Amazon EMR adds nodes to a deny list and drains tasks
3781
+ # from nodes before terminating the Amazon EC2 instances, regardless
3782
+ # of the instance-hour boundary. With either behavior, Amazon EMR
3783
+ # removes the least active nodes first and blocks instance termination
3784
+ # if it could lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION`
3785
+ # available only in Amazon EMR version 4.1.0 and later, and is the
3786
+ # default for versions of Amazon EMR earlier than 5.1.0.
3419
3787
  # @return [String]
3420
3788
  #
3421
3789
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/JobFlowDetail AWS API Documentation
@@ -3482,10 +3850,10 @@ module Aws::EMR
3482
3850
 
3483
3851
  # A description of the Amazon EC2 instance on which the cluster (job
3484
3852
  # flow) runs. A valid JobFlowInstancesConfig must contain either
3485
- # InstanceGroups or InstanceFleets, which is the recommended
3486
- # configuration. They cannot be used together. You may also have
3487
- # MasterInstanceType, SlaveInstanceType, and InstanceCount (all three
3488
- # must be present), but we don't recommend this configuration.
3853
+ # InstanceGroups or InstanceFleets. They cannot be used together. You
3854
+ # may also have MasterInstanceType, SlaveInstanceType, and InstanceCount
3855
+ # (all three must be present), but we don't recommend this
3856
+ # configuration.
3489
3857
  #
3490
3858
  # @note When making an API call, you may pass JobFlowInstancesConfig
3491
3859
  # data as a hash:
@@ -3613,6 +3981,10 @@ module Aws::EMR
3613
3981
  # },
3614
3982
  # on_demand_specification: {
3615
3983
  # allocation_strategy: "lowest-price", # required, accepts lowest-price
3984
+ # capacity_reservation_options: {
3985
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
3986
+ # capacity_reservation_preference: "open", # accepts open, none
3987
+ # },
3616
3988
  # },
3617
3989
  # },
3618
3990
  # },
@@ -3661,8 +4033,8 @@ module Aws::EMR
3661
4033
  # @return [Array<Types::InstanceFleetConfig>]
3662
4034
  #
3663
4035
  # @!attribute [rw] ec2_key_name
3664
- # The name of the EC2 key pair that can be used to ssh to the master
3665
- # node as the user called "hadoop."
4036
+ # The name of the EC2 key pair that can be used to connect to the
4037
+ # master node using SSH as the user called "hadoop."
3666
4038
  # @return [String]
3667
4039
  #
3668
4040
  # @!attribute [rw] placement
@@ -3682,12 +4054,12 @@ module Aws::EMR
3682
4054
  #
3683
4055
  # @!attribute [rw] hadoop_version
3684
4056
  # Applies only to Amazon EMR release versions earlier than 4.0. The
3685
- # Hadoop version for the cluster. Valid inputs are "0.18"
3686
- # (deprecated), "0.20" (deprecated), "0.20.205" (deprecated),
3687
- # "1.0.3", "2.2.0", or "2.4.0". If you do not set this value,
3688
- # the default of 0.18 is used, unless the `AmiVersion` parameter is
3689
- # set in the RunJobFlow call, in which case the default version of
3690
- # Hadoop for that AMI version is used.
4057
+ # Hadoop version for the cluster. Valid inputs are "0.18" (no longer
4058
+ # maintained), "0.20" (no longer maintained), "0.20.205" (no
4059
+ # longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do
4060
+ # not set this value, the default of 0.18 is used, unless the
4061
+ # `AmiVersion` parameter is set in the RunJobFlow call, in which case
4062
+ # the default version of Hadoop for that AMI version is used.
3691
4063
  # @return [String]
3692
4064
  #
3693
4065
  # @!attribute [rw] ec2_subnet_id
@@ -3792,17 +4164,17 @@ module Aws::EMR
3792
4164
  #
3793
4165
  # @!attribute [rw] normalized_instance_hours
3794
4166
  # An approximation of the cost of the cluster, represented in
3795
- # m1.small/hours. This value is incremented one time for every hour
3796
- # that an m1.small runs. Larger instances are weighted more, so an
3797
- # Amazon EC2 instance that is roughly four times more expensive would
3798
- # result in the normalized instance hours being incremented by four.
3799
- # This result is only an approximation and does not reflect the actual
3800
- # billing rate.
4167
+ # m1.small/hours. This value is increased one time for every hour that
4168
+ # an m1.small instance runs. Larger instances are weighted more
4169
+ # heavily, so an Amazon EC2 instance that is roughly four times more
4170
+ # expensive would result in the normalized instance hours being
4171
+ # increased incrementally four times. This result is only an
4172
+ # approximation and does not reflect the actual billing rate.
3801
4173
  # @return [Integer]
3802
4174
  #
3803
4175
  # @!attribute [rw] ec2_key_name
3804
- # The name of an Amazon EC2 key pair that can be used to ssh to the
3805
- # master node.
4176
+ # The name of an Amazon EC2 key pair that can be used to connect to
4177
+ # the master node using SSH.
3806
4178
  # @return [String]
3807
4179
  #
3808
4180
  # @!attribute [rw] ec2_subnet_id
@@ -3851,7 +4223,7 @@ module Aws::EMR
3851
4223
 
3852
4224
  # Attributes for Kerberos configuration when Kerberos authentication is
3853
4225
  # enabled using a security configuration. For more information see [Use
3854
- # Kerberos Authentication][1] in the *EMR Management Guide*.
4226
+ # Kerberos Authentication][1] in the *Amazon EMR Management Guide*.
3855
4227
  #
3856
4228
  #
3857
4229
  #
@@ -3907,7 +4279,7 @@ module Aws::EMR
3907
4279
  include Aws::Structure
3908
4280
  end
3909
4281
 
3910
- # A key value pair.
4282
+ # A key-value pair.
3911
4283
  #
3912
4284
  # @note When making an API call, you may pass KeyValue
3913
4285
  # data as a hash:
@@ -3918,7 +4290,7 @@ module Aws::EMR
3918
4290
  # }
3919
4291
  #
3920
4292
  # @!attribute [rw] key
3921
- # The unique identifier of a key value pair.
4293
+ # The unique identifier of a key-value pair.
3922
4294
  # @return [String]
3923
4295
  #
3924
4296
  # @!attribute [rw] value
@@ -4415,6 +4787,96 @@ module Aws::EMR
4415
4787
  include Aws::Structure
4416
4788
  end
4417
4789
 
4790
+ # @note When making an API call, you may pass ListStudioSessionMappingsInput
4791
+ # data as a hash:
4792
+ #
4793
+ # {
4794
+ # studio_id: "XmlStringMaxLen256",
4795
+ # identity_type: "USER", # accepts USER, GROUP
4796
+ # marker: "Marker",
4797
+ # }
4798
+ #
4799
+ # @!attribute [rw] studio_id
4800
+ # The ID of the Amazon EMR Studio.
4801
+ # @return [String]
4802
+ #
4803
+ # @!attribute [rw] identity_type
4804
+ # Specifies whether to return session mappings for users or groups. If
4805
+ # not specified, the results include session mapping details for both
4806
+ # users and groups.
4807
+ # @return [String]
4808
+ #
4809
+ # @!attribute [rw] marker
4810
+ # The pagination token that indicates the set of results to retrieve.
4811
+ # @return [String]
4812
+ #
4813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappingsInput AWS API Documentation
4814
+ #
4815
+ class ListStudioSessionMappingsInput < Struct.new(
4816
+ :studio_id,
4817
+ :identity_type,
4818
+ :marker)
4819
+ SENSITIVE = []
4820
+ include Aws::Structure
4821
+ end
4822
+
4823
+ # @!attribute [rw] session_mappings
4824
+ # A list of session mapping summary objects. Each object includes
4825
+ # session mapping details such as creation time, identity type (user
4826
+ # or group), and Amazon EMR Studio ID.
4827
+ # @return [Array<Types::SessionMappingSummary>]
4828
+ #
4829
+ # @!attribute [rw] marker
4830
+ # The pagination token that indicates the next set of results to
4831
+ # retrieve.
4832
+ # @return [String]
4833
+ #
4834
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappingsOutput AWS API Documentation
4835
+ #
4836
+ class ListStudioSessionMappingsOutput < Struct.new(
4837
+ :session_mappings,
4838
+ :marker)
4839
+ SENSITIVE = []
4840
+ include Aws::Structure
4841
+ end
4842
+
4843
+ # @note When making an API call, you may pass ListStudiosInput
4844
+ # data as a hash:
4845
+ #
4846
+ # {
4847
+ # marker: "Marker",
4848
+ # }
4849
+ #
4850
+ # @!attribute [rw] marker
4851
+ # The pagination token that indicates the set of results to retrieve.
4852
+ # @return [String]
4853
+ #
4854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudiosInput AWS API Documentation
4855
+ #
4856
+ class ListStudiosInput < Struct.new(
4857
+ :marker)
4858
+ SENSITIVE = []
4859
+ include Aws::Structure
4860
+ end
4861
+
4862
+ # @!attribute [rw] studios
4863
+ # The list of Studio summary objects.
4864
+ # @return [Array<Types::StudioSummary>]
4865
+ #
4866
+ # @!attribute [rw] marker
4867
+ # The pagination token that indicates the next set of results to
4868
+ # retrieve.
4869
+ # @return [String]
4870
+ #
4871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudiosOutput AWS API Documentation
4872
+ #
4873
+ class ListStudiosOutput < Struct.new(
4874
+ :studios,
4875
+ :marker)
4876
+ SENSITIVE = []
4877
+ include Aws::Structure
4878
+ end
4879
+
4418
4880
  # Managed scaling policy for an Amazon EMR cluster. The policy specifies
4419
4881
  # the limits for resources that can be added or terminated from a
4420
4882
  # cluster. The policy only applies to the core and task nodes. The
@@ -4493,7 +4955,7 @@ module Aws::EMR
4493
4955
  #
4494
4956
  # @!attribute [rw] step_concurrency_level
4495
4957
  # The number of steps that can be executed concurrently. You can
4496
- # specify a maximum of 256 steps.
4958
+ # specify a minimum of 1 step and a maximum of 256 steps.
4497
4959
  # @return [Integer]
4498
4960
  #
4499
4961
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyClusterInput AWS API Documentation
@@ -4690,7 +5152,7 @@ module Aws::EMR
4690
5152
  #
4691
5153
  # @!attribute [rw] tags
4692
5154
  # A list of tags associated with a notebook execution. Tags are
4693
- # user-defined key value pairs that consist of a required key string
5155
+ # user-defined key-value pairs that consist of a required key string
4694
5156
  # with a maximum of 128 characters and an optional value string with a
4695
5157
  # maximum of 256 characters.
4696
5158
  # @return [Array<Types::Tag>]
@@ -4783,12 +5245,62 @@ module Aws::EMR
4783
5245
  include Aws::Structure
4784
5246
  end
4785
5247
 
4786
- # The launch specification for On-Demand instances in the instance
5248
+ # Describes the strategy for using unused Capacity Reservations for
5249
+ # fulfilling On-Demand capacity.
5250
+ #
5251
+ # @note When making an API call, you may pass OnDemandCapacityReservationOptions
5252
+ # data as a hash:
5253
+ #
5254
+ # {
5255
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
5256
+ # capacity_reservation_preference: "open", # accepts open, none
5257
+ # }
5258
+ #
5259
+ # @!attribute [rw] usage_strategy
5260
+ # Indicates whether to use unused Capacity Reservations for fulfilling
5261
+ # On-Demand capacity.
5262
+ #
5263
+ # If you specify `use-capacity-reservations-first`, the fleet uses
5264
+ # unused Capacity Reservations to fulfill On-Demand capacity up to the
5265
+ # target On-Demand capacity. If multiple instance pools have unused
5266
+ # Capacity Reservations, the On-Demand allocation strategy
5267
+ # (`lowest-price`) is applied. If the number of unused Capacity
5268
+ # Reservations is less than the On-Demand target capacity, the
5269
+ # remaining On-Demand target capacity is launched according to the
5270
+ # On-Demand allocation strategy (`lowest-price`).
5271
+ #
5272
+ # If you do not specify a value, the fleet fulfils the On-Demand
5273
+ # capacity according to the chosen On-Demand allocation strategy.
5274
+ # @return [String]
5275
+ #
5276
+ # @!attribute [rw] capacity_reservation_preference
5277
+ # Indicates the instance's Capacity Reservation preferences. Possible
5278
+ # preferences include:
5279
+ #
5280
+ # * `open` - The instance can run in any open Capacity Reservation
5281
+ # that has matching attributes (instance type, platform,
5282
+ # Availability Zone).
5283
+ #
5284
+ # * `none` - The instance avoids running in a Capacity Reservation
5285
+ # even if one is available. The instance runs as an On-Demand
5286
+ # Instance.
5287
+ # @return [String]
5288
+ #
5289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/OnDemandCapacityReservationOptions AWS API Documentation
5290
+ #
5291
+ class OnDemandCapacityReservationOptions < Struct.new(
5292
+ :usage_strategy,
5293
+ :capacity_reservation_preference)
5294
+ SENSITIVE = []
5295
+ include Aws::Structure
5296
+ end
5297
+
5298
+ # The launch specification for On-Demand Instances in the instance
4787
5299
  # fleet, which determines the allocation strategy.
4788
5300
  #
4789
5301
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
4790
5302
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand
4791
- # instances allocation strategy is available in Amazon EMR version
5303
+ # Instances allocation strategy is available in Amazon EMR version
4792
5304
  # 5.12.1 and later.
4793
5305
  #
4794
5306
  # </note>
@@ -4798,22 +5310,39 @@ module Aws::EMR
4798
5310
  #
4799
5311
  # {
4800
5312
  # allocation_strategy: "lowest-price", # required, accepts lowest-price
5313
+ # capacity_reservation_options: {
5314
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
5315
+ # capacity_reservation_preference: "open", # accepts open, none
5316
+ # },
4801
5317
  # }
4802
5318
  #
4803
5319
  # @!attribute [rw] allocation_strategy
4804
5320
  # Specifies the strategy to use in launching On-Demand instance
4805
- # fleets. Currently, the only option is lowest-price (the default),
5321
+ # fleets. Currently, the only option is `lowest-price` (the default),
4806
5322
  # which launches the lowest price first.
4807
5323
  # @return [String]
4808
5324
  #
5325
+ # @!attribute [rw] capacity_reservation_options
5326
+ # The launch specification for On-Demand instances in the instance
5327
+ # fleet, which determines the allocation strategy.
5328
+ # @return [Types::OnDemandCapacityReservationOptions]
5329
+ #
4809
5330
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/OnDemandProvisioningSpecification AWS API Documentation
4810
5331
  #
4811
5332
  class OnDemandProvisioningSpecification < Struct.new(
4812
- :allocation_strategy)
5333
+ :allocation_strategy,
5334
+ :capacity_reservation_options)
4813
5335
  SENSITIVE = []
4814
5336
  include Aws::Structure
4815
5337
  end
4816
5338
 
5339
+ # Placement group configuration for an Amazon EMR cluster. The
5340
+ # configuration specifies the placement strategy that can be applied to
5341
+ # instance roles during cluster creation.
5342
+ #
5343
+ # To use this configuration, consider attaching managed policy
5344
+ # AmazonElasticMapReducePlacementGroupPolicy to the EMR role.
5345
+ #
4817
5346
  # @note When making an API call, you may pass PlacementGroupConfig
4818
5347
  # data as a hash:
4819
5348
  #
@@ -4823,9 +5352,17 @@ module Aws::EMR
4823
5352
  # }
4824
5353
  #
4825
5354
  # @!attribute [rw] instance_role
5355
+ # Role of the instance in the cluster.
5356
+ #
5357
+ # Starting with Amazon EMR version 5.23.0, the only supported instance
5358
+ # role is `MASTER`.
4826
5359
  # @return [String]
4827
5360
  #
4828
5361
  # @!attribute [rw] placement_strategy
5362
+ # EC2 Placement Group strategy associated with instance role.
5363
+ #
5364
+ # Starting with Amazon EMR version 5.23.0, the only supported
5365
+ # placement strategy is `SPREAD` for the `MASTER` instance role.
4829
5366
  # @return [String]
4830
5367
  #
4831
5368
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PlacementGroupConfig AWS API Documentation
@@ -4989,7 +5526,7 @@ module Aws::EMR
4989
5526
  # @return [Types::AutoScalingPolicyDescription]
4990
5527
  #
4991
5528
  # @!attribute [rw] cluster_arn
4992
- # The Amazon Resource Name of the cluster.
5529
+ # The Amazon Resource Name (ARN) of the cluster.
4993
5530
  # @return [String]
4994
5531
  #
4995
5532
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicyOutput AWS API Documentation
@@ -5315,6 +5852,10 @@ module Aws::EMR
5315
5852
  # },
5316
5853
  # on_demand_specification: {
5317
5854
  # allocation_strategy: "lowest-price", # required, accepts lowest-price
5855
+ # capacity_reservation_options: {
5856
+ # usage_strategy: "use-capacity-reservations-first", # accepts use-capacity-reservations-first
5857
+ # capacity_reservation_preference: "open", # accepts open, none
5858
+ # },
5318
5859
  # },
5319
5860
  # },
5320
5861
  # },
@@ -5440,9 +5981,9 @@ module Aws::EMR
5440
5981
  #
5441
5982
  # @!attribute [rw] log_encryption_kms_key_id
5442
5983
  # The AWS KMS customer master key (CMK) used for encrypting log files.
5443
- # If a value is not provided, the logs will remain encrypted by
5444
- # AES-256. This attribute is only available with EMR version 5.30.0
5445
- # and later, excluding EMR 6.0.0.
5984
+ # If a value is not provided, the logs remain encrypted by AES-256.
5985
+ # This attribute is only available with Amazon EMR version 5.30.0 and
5986
+ # later, excluding Amazon EMR 6.0.0.
5446
5987
  # @return [String]
5447
5988
  #
5448
5989
  # @!attribute [rw] additional_info
@@ -5526,7 +6067,7 @@ module Aws::EMR
5526
6067
  #
5527
6068
  # * "mapr-m7" - launch the cluster using MapR M7 Edition.
5528
6069
  #
5529
- # * "hunk" - launch the cluster with the Hunk Big Data Analtics
6070
+ # * "hunk" - launch the cluster with the Hunk Big Data Analytics
5530
6071
  # Platform.
5531
6072
  #
5532
6073
  # * "hue"- launch the cluster with Hue installed.
@@ -5600,11 +6141,11 @@ module Aws::EMR
5600
6141
  # the request to terminate the instance was submitted. This option is
5601
6142
  # only available with Amazon EMR 5.1.0 and later and is the default
5602
6143
  # for clusters created using that version.
5603
- # `TERMINATE_AT_TASK_COMPLETION` indicates that Amazon EMR blacklists
5604
- # and drains tasks from nodes before terminating the Amazon EC2
5605
- # instances, regardless of the instance-hour boundary. With either
5606
- # behavior, Amazon EMR removes the least active nodes first and blocks
5607
- # instance termination if it could lead to HDFS corruption.
6144
+ # `TERMINATE_AT_TASK_COMPLETION` indicates that Amazon EMR adds nodes
6145
+ # to a deny list and drains tasks from nodes before terminating the
6146
+ # Amazon EC2 instances, regardless of the instance-hour boundary. With
6147
+ # either behavior, Amazon EMR removes the least active nodes first and
6148
+ # blocks instance termination if it could lead to HDFS corruption.
5608
6149
  # `TERMINATE_AT_TASK_COMPLETION` available only in Amazon EMR version
5609
6150
  # 4.1.0 and later, and is the default for versions of Amazon EMR
5610
6151
  # earlier than 5.1.0.
@@ -5632,9 +6173,9 @@ module Aws::EMR
5632
6173
  # @return [String]
5633
6174
  #
5634
6175
  # @!attribute [rw] ebs_root_volume_size
5635
- # The size, in GiB, of the EBS root device volume of the Linux AMI
5636
- # that is used for each EC2 instance. Available in Amazon EMR version
5637
- # 4.x and later.
6176
+ # The size, in GiB, of the Amazon EBS root device volume of the Linux
6177
+ # AMI that is used for each EC2 instance. Available in Amazon EMR
6178
+ # version 4.x and later.
5638
6179
  # @return [Integer]
5639
6180
  #
5640
6181
  # @!attribute [rw] repo_upgrade_on_boot
@@ -5649,7 +6190,8 @@ module Aws::EMR
5649
6190
  # @!attribute [rw] kerberos_attributes
5650
6191
  # Attributes for Kerberos configuration when Kerberos authentication
5651
6192
  # is enabled using a security configuration. For more information see
5652
- # [Use Kerberos Authentication][1] in the *EMR Management Guide*.
6193
+ # [Use Kerberos Authentication][1] in the *Amazon EMR Management
6194
+ # Guide*.
5653
6195
  #
5654
6196
  #
5655
6197
  #
@@ -5666,6 +6208,8 @@ module Aws::EMR
5666
6208
  # @return [Types::ManagedScalingPolicy]
5667
6209
  #
5668
6210
  # @!attribute [rw] placement_group_configs
6211
+ # The specified placement group configuration for an Amazon EMR
6212
+ # cluster.
5669
6213
  # @return [Array<Types::PlacementGroupConfig>]
5670
6214
  #
5671
6215
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
@@ -5705,11 +6249,11 @@ module Aws::EMR
5705
6249
  # The result of the RunJobFlow operation.
5706
6250
  #
5707
6251
  # @!attribute [rw] job_flow_id
5708
- # An unique identifier for the job flow.
6252
+ # A unique identifier for the job flow.
5709
6253
  # @return [String]
5710
6254
  #
5711
6255
  # @!attribute [rw] cluster_arn
5712
- # The Amazon Resource Name of the cluster.
6256
+ # The Amazon Resource Name (ARN) of the cluster.
5713
6257
  # @return [String]
5714
6258
  #
5715
6259
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowOutput AWS API Documentation
@@ -5944,6 +6488,110 @@ module Aws::EMR
5944
6488
  include Aws::Structure
5945
6489
  end
5946
6490
 
6491
+ # Details for an Amazon EMR Studio session mapping including creation
6492
+ # time, user or group ID, Studio ID, and so on.
6493
+ #
6494
+ # @!attribute [rw] studio_id
6495
+ # The ID of the Amazon EMR Studio.
6496
+ # @return [String]
6497
+ #
6498
+ # @!attribute [rw] identity_id
6499
+ # The globally unique identifier (GUID) of the user or group.
6500
+ # @return [String]
6501
+ #
6502
+ # @!attribute [rw] identity_name
6503
+ # The name of the user or group. For more information, see
6504
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
6505
+ # API Reference*.
6506
+ #
6507
+ #
6508
+ #
6509
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
6510
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
6511
+ # @return [String]
6512
+ #
6513
+ # @!attribute [rw] identity_type
6514
+ # Specifies whether the identity mapped to the Amazon EMR Studio is a
6515
+ # user or a group.
6516
+ # @return [String]
6517
+ #
6518
+ # @!attribute [rw] session_policy_arn
6519
+ # The Amazon Resource Name (ARN) of the session policy associated with
6520
+ # the user or group.
6521
+ # @return [String]
6522
+ #
6523
+ # @!attribute [rw] creation_time
6524
+ # The time the session mapping was created.
6525
+ # @return [Time]
6526
+ #
6527
+ # @!attribute [rw] last_modified_time
6528
+ # The time the session mapping was last modified.
6529
+ # @return [Time]
6530
+ #
6531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SessionMappingDetail AWS API Documentation
6532
+ #
6533
+ class SessionMappingDetail < Struct.new(
6534
+ :studio_id,
6535
+ :identity_id,
6536
+ :identity_name,
6537
+ :identity_type,
6538
+ :session_policy_arn,
6539
+ :creation_time,
6540
+ :last_modified_time)
6541
+ SENSITIVE = []
6542
+ include Aws::Structure
6543
+ end
6544
+
6545
+ # Details for an Amazon EMR Studio session mapping. The details do not
6546
+ # include the time the session mapping was last modified.
6547
+ #
6548
+ # @!attribute [rw] studio_id
6549
+ # The ID of the Amazon EMR Studio.
6550
+ # @return [String]
6551
+ #
6552
+ # @!attribute [rw] identity_id
6553
+ # The globally unique identifier (GUID) of the user or group from the
6554
+ # AWS SSO Identity Store.
6555
+ # @return [String]
6556
+ #
6557
+ # @!attribute [rw] identity_name
6558
+ # The name of the user or group. For more information, see
6559
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
6560
+ # API Reference*.
6561
+ #
6562
+ #
6563
+ #
6564
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
6565
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
6566
+ # @return [String]
6567
+ #
6568
+ # @!attribute [rw] identity_type
6569
+ # Specifies whether the identity mapped to the Amazon EMR Studio is a
6570
+ # user or a group.
6571
+ # @return [String]
6572
+ #
6573
+ # @!attribute [rw] session_policy_arn
6574
+ # The Amazon Resource Name (ARN) of the session policy associated with
6575
+ # the user or group.
6576
+ # @return [String]
6577
+ #
6578
+ # @!attribute [rw] creation_time
6579
+ # The time the session mapping was created.
6580
+ # @return [Time]
6581
+ #
6582
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SessionMappingSummary AWS API Documentation
6583
+ #
6584
+ class SessionMappingSummary < Struct.new(
6585
+ :studio_id,
6586
+ :identity_id,
6587
+ :identity_name,
6588
+ :identity_type,
6589
+ :session_policy_arn,
6590
+ :creation_time)
6591
+ SENSITIVE = []
6592
+ include Aws::Structure
6593
+ end
6594
+
5947
6595
  # The input argument to the TerminationProtection operation.
5948
6596
  #
5949
6597
  # @note When making an API call, you may pass SetTerminationProtectionInput
@@ -6096,12 +6744,12 @@ module Aws::EMR
6096
6744
  include Aws::Structure
6097
6745
  end
6098
6746
 
6099
- # The launch specification for Spot instances in the instance fleet,
6747
+ # The launch specification for Spot Instances in the instance fleet,
6100
6748
  # which determines the defined duration, provisioning timeout behavior,
6101
6749
  # and allocation strategy.
6102
6750
  #
6103
6751
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
6104
- # versions 4.8.0 and later, excluding 5.0.x versions. Spot instance
6752
+ # versions 4.8.0 and later, excluding 5.0.x versions. Spot Instance
6105
6753
  # allocation strategy is available in Amazon EMR version 5.12.1 and
6106
6754
  # later.
6107
6755
  #
@@ -6118,7 +6766,7 @@ module Aws::EMR
6118
6766
  # }
6119
6767
  #
6120
6768
  # @!attribute [rw] timeout_duration_minutes
6121
- # The spot provisioning timeout period in minutes. If Spot instances
6769
+ # The spot provisioning timeout period in minutes. If Spot Instances
6122
6770
  # are not provisioned within this time period, the `TimeOutAction` is
6123
6771
  # taken. Minimum value is 5 and maximum value is 1440. The timeout
6124
6772
  # applies only during initial provisioning, when the cluster is first
@@ -6128,29 +6776,29 @@ module Aws::EMR
6128
6776
  # @!attribute [rw] timeout_action
6129
6777
  # The action to take when `TargetSpotCapacity` has not been fulfilled
6130
6778
  # when the `TimeoutDurationMinutes` has expired; that is, when all
6131
- # Spot instances could not be provisioned within the Spot provisioning
6779
+ # Spot Instances could not be provisioned within the Spot provisioning
6132
6780
  # timeout. Valid values are `TERMINATE_CLUSTER` and
6133
6781
  # `SWITCH_TO_ON_DEMAND`. SWITCH\_TO\_ON\_DEMAND specifies that if no
6134
- # Spot instances are available, On-Demand Instances should be
6782
+ # Spot Instances are available, On-Demand Instances should be
6135
6783
  # provisioned to fulfill any remaining Spot capacity.
6136
6784
  # @return [String]
6137
6785
  #
6138
6786
  # @!attribute [rw] block_duration_minutes
6139
- # The defined duration for Spot instances (also known as Spot blocks)
6140
- # in minutes. When specified, the Spot instance does not terminate
6787
+ # The defined duration for Spot Instances (also known as Spot blocks)
6788
+ # in minutes. When specified, the Spot Instance does not terminate
6141
6789
  # before the defined duration expires, and defined duration pricing
6142
- # for Spot instances applies. Valid values are 60, 120, 180, 240, 300,
6143
- # or 360. The duration period starts as soon as a Spot instance
6790
+ # for Spot Instances applies. Valid values are 60, 120, 180, 240, 300,
6791
+ # or 360. The duration period starts as soon as a Spot Instance
6144
6792
  # receives its instance ID. At the end of the duration, Amazon EC2
6145
- # marks the Spot instance for termination and provides a Spot instance
6793
+ # marks the Spot Instance for termination and provides a Spot Instance
6146
6794
  # termination notice, which gives the instance a two-minute warning
6147
6795
  # before it terminates.
6148
6796
  # @return [Integer]
6149
6797
  #
6150
6798
  # @!attribute [rw] allocation_strategy
6151
- # Specifies the strategy to use in launching Spot instance fleets.
6799
+ # Specifies the strategy to use in launching Spot Instance fleets.
6152
6800
  # Currently, the only option is capacity-optimized (the default),
6153
- # which launches instances from Spot instance pools with optimal
6801
+ # which launches instances from Spot Instance pools with optimal
6154
6802
  # capacity for the number of instances that are launching.
6155
6803
  # @return [String]
6156
6804
  #
@@ -6231,7 +6879,7 @@ module Aws::EMR
6231
6879
  #
6232
6880
  # @!attribute [rw] tags
6233
6881
  # A list of tags associated with a notebook execution. Tags are
6234
- # user-defined key value pairs that consist of a required key string
6882
+ # user-defined key-value pairs that consist of a required key string
6235
6883
  # with a maximum of 128 characters and an optional value string with a
6236
6884
  # maximum of 256 characters.
6237
6885
  # @return [Array<Types::Tag>]
@@ -6530,7 +7178,143 @@ module Aws::EMR
6530
7178
  include Aws::Structure
6531
7179
  end
6532
7180
 
6533
- # The list of supported product configurations which allow user-supplied
7181
+ # Details for an Amazon EMR Studio including ID, creation time, name,
7182
+ # and so on.
7183
+ #
7184
+ # @!attribute [rw] studio_id
7185
+ # The ID of the Amazon EMR Studio.
7186
+ # @return [String]
7187
+ #
7188
+ # @!attribute [rw] studio_arn
7189
+ # The Amazon Resource Name (ARN) of the Amazon EMR Studio.
7190
+ # @return [String]
7191
+ #
7192
+ # @!attribute [rw] name
7193
+ # The name of the Amazon EMR Studio.
7194
+ # @return [String]
7195
+ #
7196
+ # @!attribute [rw] description
7197
+ # The detailed description of the Amazon EMR Studio.
7198
+ # @return [String]
7199
+ #
7200
+ # @!attribute [rw] auth_mode
7201
+ # Specifies whether the Amazon EMR Studio authenticates users using
7202
+ # single sign-on (SSO) or IAM.
7203
+ # @return [String]
7204
+ #
7205
+ # @!attribute [rw] vpc_id
7206
+ # The ID of the VPC associated with the Amazon EMR Studio.
7207
+ # @return [String]
7208
+ #
7209
+ # @!attribute [rw] subnet_ids
7210
+ # The list of IDs of the subnets associated with the Amazon EMR
7211
+ # Studio.
7212
+ # @return [Array<String>]
7213
+ #
7214
+ # @!attribute [rw] service_role
7215
+ # The name of the IAM role assumed by the Amazon EMR Studio.
7216
+ # @return [String]
7217
+ #
7218
+ # @!attribute [rw] user_role
7219
+ # The name of the IAM role assumed by users logged in to the Amazon
7220
+ # EMR Studio.
7221
+ # @return [String]
7222
+ #
7223
+ # @!attribute [rw] workspace_security_group_id
7224
+ # The ID of the Workspace security group associated with the Amazon
7225
+ # EMR Studio. The Workspace security group allows outbound network
7226
+ # traffic to resources in the Engine security group and to the
7227
+ # internet.
7228
+ # @return [String]
7229
+ #
7230
+ # @!attribute [rw] engine_security_group_id
7231
+ # The ID of the Engine security group associated with the Amazon EMR
7232
+ # Studio. The Engine security group allows inbound network traffic
7233
+ # from resources in the Workspace security group.
7234
+ # @return [String]
7235
+ #
7236
+ # @!attribute [rw] url
7237
+ # The unique access URL of the Amazon EMR Studio.
7238
+ # @return [String]
7239
+ #
7240
+ # @!attribute [rw] creation_time
7241
+ # The time the Amazon EMR Studio was created.
7242
+ # @return [Time]
7243
+ #
7244
+ # @!attribute [rw] default_s3_location
7245
+ # The default Amazon S3 location to back up Amazon EMR Studio
7246
+ # Workspaces and notebook files.
7247
+ # @return [String]
7248
+ #
7249
+ # @!attribute [rw] tags
7250
+ # A list of tags associated with the Amazon EMR Studio.
7251
+ # @return [Array<Types::Tag>]
7252
+ #
7253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Studio AWS API Documentation
7254
+ #
7255
+ class Studio < Struct.new(
7256
+ :studio_id,
7257
+ :studio_arn,
7258
+ :name,
7259
+ :description,
7260
+ :auth_mode,
7261
+ :vpc_id,
7262
+ :subnet_ids,
7263
+ :service_role,
7264
+ :user_role,
7265
+ :workspace_security_group_id,
7266
+ :engine_security_group_id,
7267
+ :url,
7268
+ :creation_time,
7269
+ :default_s3_location,
7270
+ :tags)
7271
+ SENSITIVE = []
7272
+ include Aws::Structure
7273
+ end
7274
+
7275
+ # Details for an Amazon EMR Studio, including ID, Name, VPC, and
7276
+ # Description. The details do not include subnets, IAM roles, security
7277
+ # groups, or tags associated with the Studio.
7278
+ #
7279
+ # @!attribute [rw] studio_id
7280
+ # The ID of the Amazon EMR Studio.
7281
+ # @return [String]
7282
+ #
7283
+ # @!attribute [rw] name
7284
+ # The name of the Amazon EMR Studio.
7285
+ # @return [String]
7286
+ #
7287
+ # @!attribute [rw] vpc_id
7288
+ # The ID of the Virtual Private Cloud (Amazon VPC) associated with the
7289
+ # Amazon EMR Studio.
7290
+ # @return [String]
7291
+ #
7292
+ # @!attribute [rw] description
7293
+ # The detailed description of the Amazon EMR Studio.
7294
+ # @return [String]
7295
+ #
7296
+ # @!attribute [rw] url
7297
+ # The unique access URL of the Amazon EMR Studio.
7298
+ # @return [String]
7299
+ #
7300
+ # @!attribute [rw] creation_time
7301
+ # The time when the Amazon EMR Studio was created.
7302
+ # @return [Time]
7303
+ #
7304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StudioSummary AWS API Documentation
7305
+ #
7306
+ class StudioSummary < Struct.new(
7307
+ :studio_id,
7308
+ :name,
7309
+ :vpc_id,
7310
+ :description,
7311
+ :url,
7312
+ :creation_time)
7313
+ SENSITIVE = []
7314
+ include Aws::Structure
7315
+ end
7316
+
7317
+ # The list of supported product configurations that allow user-supplied
6534
7318
  # arguments. EMR accepts these arguments and forwards them to the
6535
7319
  # corresponding installation script as bootstrap action arguments.
6536
7320
  #
@@ -6559,7 +7343,7 @@ module Aws::EMR
6559
7343
  include Aws::Structure
6560
7344
  end
6561
7345
 
6562
- # A key/value pair containing user-defined metadata that you can
7346
+ # A key-value pair containing user-defined metadata that you can
6563
7347
  # associate with an Amazon EMR resource. Tags make it easier to
6564
7348
  # associate clusters in various ways, such as grouping clusters to track
6565
7349
  # your Amazon EMR resource allocation costs. For more information, see
@@ -6614,7 +7398,7 @@ module Aws::EMR
6614
7398
  # }
6615
7399
  #
6616
7400
  # @!attribute [rw] job_flow_ids
6617
- # A list of job flows to be shutdown.
7401
+ # A list of job flows to be shut down.
6618
7402
  # @return [Array<String>]
6619
7403
  #
6620
7404
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlowsInput AWS API Documentation
@@ -6625,6 +7409,115 @@ module Aws::EMR
6625
7409
  include Aws::Structure
6626
7410
  end
6627
7411
 
7412
+ # @note When making an API call, you may pass UpdateStudioInput
7413
+ # data as a hash:
7414
+ #
7415
+ # {
7416
+ # studio_id: "XmlStringMaxLen256", # required
7417
+ # name: "XmlStringMaxLen256",
7418
+ # description: "XmlStringMaxLen256",
7419
+ # subnet_ids: ["String"],
7420
+ # default_s3_location: "XmlString",
7421
+ # }
7422
+ #
7423
+ # @!attribute [rw] studio_id
7424
+ # The ID of the Amazon EMR Studio to update.
7425
+ # @return [String]
7426
+ #
7427
+ # @!attribute [rw] name
7428
+ # A descriptive name for the Amazon EMR Studio.
7429
+ # @return [String]
7430
+ #
7431
+ # @!attribute [rw] description
7432
+ # A detailed description to assign to the Amazon EMR Studio.
7433
+ # @return [String]
7434
+ #
7435
+ # @!attribute [rw] subnet_ids
7436
+ # A list of subnet IDs to associate with the Amazon EMR Studio. The
7437
+ # list can include new subnet IDs, but must also include all of the
7438
+ # subnet IDs previously associated with the Studio. The list order
7439
+ # does not matter. A Studio can have a maximum of 5 subnets. The
7440
+ # subnets must belong to the same VPC as the Studio.
7441
+ # @return [Array<String>]
7442
+ #
7443
+ # @!attribute [rw] default_s3_location
7444
+ # A default Amazon S3 location to back up Workspaces and notebook
7445
+ # files for the Amazon EMR Studio. A Studio user can select an
7446
+ # alternative Amazon S3 location when creating a Workspace.
7447
+ # @return [String]
7448
+ #
7449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioInput AWS API Documentation
7450
+ #
7451
+ class UpdateStudioInput < Struct.new(
7452
+ :studio_id,
7453
+ :name,
7454
+ :description,
7455
+ :subnet_ids,
7456
+ :default_s3_location)
7457
+ SENSITIVE = []
7458
+ include Aws::Structure
7459
+ end
7460
+
7461
+ # @note When making an API call, you may pass UpdateStudioSessionMappingInput
7462
+ # data as a hash:
7463
+ #
7464
+ # {
7465
+ # studio_id: "XmlStringMaxLen256", # required
7466
+ # identity_id: "XmlStringMaxLen256",
7467
+ # identity_name: "XmlStringMaxLen256",
7468
+ # identity_type: "USER", # required, accepts USER, GROUP
7469
+ # session_policy_arn: "XmlStringMaxLen256", # required
7470
+ # }
7471
+ #
7472
+ # @!attribute [rw] studio_id
7473
+ # The ID of the Amazon EMR Studio.
7474
+ # @return [String]
7475
+ #
7476
+ # @!attribute [rw] identity_id
7477
+ # The globally unique identifier (GUID) of the user or group. For more
7478
+ # information, see [UserId][1] and [GroupId][2] in the *AWS SSO
7479
+ # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
7480
+ # must be specified.
7481
+ #
7482
+ #
7483
+ #
7484
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
7485
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
7486
+ # @return [String]
7487
+ #
7488
+ # @!attribute [rw] identity_name
7489
+ # The name of the user or group to update. For more information, see
7490
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
7491
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
7492
+ # specified.
7493
+ #
7494
+ #
7495
+ #
7496
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
7497
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
7498
+ # @return [String]
7499
+ #
7500
+ # @!attribute [rw] identity_type
7501
+ # Specifies whether the identity to update is a user or a group.
7502
+ # @return [String]
7503
+ #
7504
+ # @!attribute [rw] session_policy_arn
7505
+ # The Amazon Resource Name (ARN) of the session policy to associate
7506
+ # with the specified user or group.
7507
+ # @return [String]
7508
+ #
7509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioSessionMappingInput AWS API Documentation
7510
+ #
7511
+ class UpdateStudioSessionMappingInput < Struct.new(
7512
+ :studio_id,
7513
+ :identity_id,
7514
+ :identity_name,
7515
+ :identity_type,
7516
+ :session_policy_arn)
7517
+ SENSITIVE = []
7518
+ include Aws::Structure
7519
+ end
7520
+
6628
7521
  # EBS volume specifications such as volume type, IOPS, and size (GiB)
6629
7522
  # that will be requested for the EBS volume attached to an EC2 instance
6630
7523
  # in the cluster.