aws-sdk-emr 1.39.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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')
@@ -228,6 +243,9 @@ module Aws::EMR
228
243
  SecurityConfigurationList = Shapes::ListShape.new(name: 'SecurityConfigurationList')
229
244
  SecurityConfigurationSummary = Shapes::StructureShape.new(name: 'SecurityConfigurationSummary')
230
245
  SecurityGroupsList = Shapes::ListShape.new(name: 'SecurityGroupsList')
246
+ SessionMappingDetail = Shapes::StructureShape.new(name: 'SessionMappingDetail')
247
+ SessionMappingSummary = Shapes::StructureShape.new(name: 'SessionMappingSummary')
248
+ SessionMappingSummaryList = Shapes::ListShape.new(name: 'SessionMappingSummaryList')
231
249
  SetTerminationProtectionInput = Shapes::StructureShape.new(name: 'SetTerminationProtectionInput')
232
250
  SetVisibleToAllUsersInput = Shapes::StructureShape.new(name: 'SetVisibleToAllUsersInput')
233
251
  ShrinkPolicy = Shapes::StructureShape.new(name: 'ShrinkPolicy')
@@ -260,12 +278,17 @@ module Aws::EMR
260
278
  String = Shapes::StringShape.new(name: 'String')
261
279
  StringList = Shapes::ListShape.new(name: 'StringList')
262
280
  StringMap = Shapes::MapShape.new(name: 'StringMap')
281
+ Studio = Shapes::StructureShape.new(name: 'Studio')
282
+ StudioSummary = Shapes::StructureShape.new(name: 'StudioSummary')
283
+ StudioSummaryList = Shapes::ListShape.new(name: 'StudioSummaryList')
284
+ SubnetIdList = Shapes::ListShape.new(name: 'SubnetIdList')
263
285
  SupportedProductConfig = Shapes::StructureShape.new(name: 'SupportedProductConfig')
264
286
  SupportedProductsList = Shapes::ListShape.new(name: 'SupportedProductsList')
265
287
  Tag = Shapes::StructureShape.new(name: 'Tag')
266
288
  TagList = Shapes::ListShape.new(name: 'TagList')
267
289
  TerminateJobFlowsInput = Shapes::StructureShape.new(name: 'TerminateJobFlowsInput')
268
290
  Unit = Shapes::StringShape.new(name: 'Unit')
291
+ UpdateStudioSessionMappingInput = Shapes::StructureShape.new(name: 'UpdateStudioSessionMappingInput')
269
292
  VolumeSpecification = Shapes::StructureShape.new(name: 'VolumeSpecification')
270
293
  WholeNumber = Shapes::IntegerShape.new(name: 'WholeNumber')
271
294
  XmlString = Shapes::StringShape.new(name: 'XmlString')
@@ -461,11 +484,44 @@ module Aws::EMR
461
484
  CreateSecurityConfigurationOutput.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Date, required: true, location_name: "CreationDateTime"))
462
485
  CreateSecurityConfigurationOutput.struct_class = Types::CreateSecurityConfigurationOutput
463
486
 
487
+ CreateStudioInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "Name"))
488
+ CreateStudioInput.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
489
+ CreateStudioInput.add_member(:auth_mode, Shapes::ShapeRef.new(shape: AuthMode, required: true, location_name: "AuthMode"))
490
+ CreateStudioInput.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "VpcId"))
491
+ CreateStudioInput.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "SubnetIds"))
492
+ CreateStudioInput.add_member(:service_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "ServiceRole"))
493
+ CreateStudioInput.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "UserRole"))
494
+ CreateStudioInput.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "WorkspaceSecurityGroupId"))
495
+ CreateStudioInput.add_member(:engine_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "EngineSecurityGroupId"))
496
+ CreateStudioInput.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, location_name: "DefaultS3Location"))
497
+ CreateStudioInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
498
+ CreateStudioInput.struct_class = Types::CreateStudioInput
499
+
500
+ CreateStudioOutput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
501
+ CreateStudioOutput.add_member(:url, Shapes::ShapeRef.new(shape: XmlString, location_name: "Url"))
502
+ CreateStudioOutput.struct_class = Types::CreateStudioOutput
503
+
504
+ CreateStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
505
+ CreateStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
506
+ CreateStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
507
+ CreateStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
508
+ CreateStudioSessionMappingInput.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "SessionPolicyArn"))
509
+ CreateStudioSessionMappingInput.struct_class = Types::CreateStudioSessionMappingInput
510
+
464
511
  DeleteSecurityConfigurationInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Name"))
465
512
  DeleteSecurityConfigurationInput.struct_class = Types::DeleteSecurityConfigurationInput
466
513
 
467
514
  DeleteSecurityConfigurationOutput.struct_class = Types::DeleteSecurityConfigurationOutput
468
515
 
516
+ DeleteStudioInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
517
+ DeleteStudioInput.struct_class = Types::DeleteStudioInput
518
+
519
+ DeleteStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
520
+ DeleteStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
521
+ DeleteStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
522
+ DeleteStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
523
+ DeleteStudioSessionMappingInput.struct_class = Types::DeleteStudioSessionMappingInput
524
+
469
525
  DescribeClusterInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
470
526
  DescribeClusterInput.struct_class = Types::DescribeClusterInput
471
527
 
@@ -502,6 +558,12 @@ module Aws::EMR
502
558
  DescribeStepOutput.add_member(:step, Shapes::ShapeRef.new(shape: Step, location_name: "Step"))
503
559
  DescribeStepOutput.struct_class = Types::DescribeStepOutput
504
560
 
561
+ DescribeStudioInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
562
+ DescribeStudioInput.struct_class = Types::DescribeStudioInput
563
+
564
+ DescribeStudioOutput.add_member(:studio, Shapes::ShapeRef.new(shape: Studio, location_name: "Studio"))
565
+ DescribeStudioOutput.struct_class = Types::DescribeStudioOutput
566
+
505
567
  EC2InstanceIdsList.member = Shapes::ShapeRef.new(shape: InstanceId)
506
568
 
507
569
  EC2InstanceIdsToTerminateList.member = Shapes::ShapeRef.new(shape: InstanceId)
@@ -563,6 +625,15 @@ module Aws::EMR
563
625
  GetManagedScalingPolicyOutput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
564
626
  GetManagedScalingPolicyOutput.struct_class = Types::GetManagedScalingPolicyOutput
565
627
 
628
+ GetStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
629
+ GetStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
630
+ GetStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
631
+ GetStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
632
+ GetStudioSessionMappingInput.struct_class = Types::GetStudioSessionMappingInput
633
+
634
+ GetStudioSessionMappingOutput.add_member(:session_mapping, Shapes::ShapeRef.new(shape: SessionMappingDetail, location_name: "SessionMapping"))
635
+ GetStudioSessionMappingOutput.struct_class = Types::GetStudioSessionMappingOutput
636
+
566
637
  HadoopJarStepConfig.add_member(:properties, Shapes::ShapeRef.new(shape: KeyValueList, location_name: "Properties"))
567
638
  HadoopJarStepConfig.add_member(:jar, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Jar"))
568
639
  HadoopJarStepConfig.add_member(:main_class, Shapes::ShapeRef.new(shape: XmlString, location_name: "MainClass"))
@@ -919,6 +990,22 @@ module Aws::EMR
919
990
  ListStepsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
920
991
  ListStepsOutput.struct_class = Types::ListStepsOutput
921
992
 
993
+ ListStudioSessionMappingsInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
994
+ ListStudioSessionMappingsInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
995
+ ListStudioSessionMappingsInput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
996
+ ListStudioSessionMappingsInput.struct_class = Types::ListStudioSessionMappingsInput
997
+
998
+ ListStudioSessionMappingsOutput.add_member(:session_mappings, Shapes::ShapeRef.new(shape: SessionMappingSummaryList, location_name: "SessionMappings"))
999
+ ListStudioSessionMappingsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1000
+ ListStudioSessionMappingsOutput.struct_class = Types::ListStudioSessionMappingsOutput
1001
+
1002
+ ListStudiosInput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1003
+ ListStudiosInput.struct_class = Types::ListStudiosInput
1004
+
1005
+ ListStudiosOutput.add_member(:studios, Shapes::ShapeRef.new(shape: StudioSummaryList, location_name: "Studios"))
1006
+ ListStudiosOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1007
+ ListStudiosOutput.struct_class = Types::ListStudiosOutput
1008
+
922
1009
  ManagedScalingPolicy.add_member(:compute_limits, Shapes::ShapeRef.new(shape: ComputeLimits, location_name: "ComputeLimits"))
923
1010
  ManagedScalingPolicy.struct_class = Types::ManagedScalingPolicy
924
1011
 
@@ -1092,6 +1179,25 @@ module Aws::EMR
1092
1179
 
1093
1180
  SecurityGroupsList.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen256)
1094
1181
 
1182
+ SessionMappingDetail.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1183
+ SessionMappingDetail.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1184
+ SessionMappingDetail.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1185
+ SessionMappingDetail.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
1186
+ SessionMappingDetail.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "SessionPolicyArn"))
1187
+ SessionMappingDetail.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1188
+ SessionMappingDetail.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Date, location_name: "LastModifiedTime"))
1189
+ SessionMappingDetail.struct_class = Types::SessionMappingDetail
1190
+
1191
+ SessionMappingSummary.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1192
+ SessionMappingSummary.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1193
+ SessionMappingSummary.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1194
+ SessionMappingSummary.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
1195
+ SessionMappingSummary.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "SessionPolicyArn"))
1196
+ SessionMappingSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1197
+ SessionMappingSummary.struct_class = Types::SessionMappingSummary
1198
+
1199
+ SessionMappingSummaryList.member = Shapes::ShapeRef.new(shape: SessionMappingSummary)
1200
+
1095
1201
  SetTerminationProtectionInput.add_member(:job_flow_ids, Shapes::ShapeRef.new(shape: XmlStringList, required: true, location_name: "JobFlowIds"))
1096
1202
  SetTerminationProtectionInput.add_member(:termination_protected, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "TerminationProtected"))
1097
1203
  SetTerminationProtectionInput.struct_class = Types::SetTerminationProtectionInput
@@ -1191,6 +1297,35 @@ module Aws::EMR
1191
1297
  StringMap.key = Shapes::ShapeRef.new(shape: String)
1192
1298
  StringMap.value = Shapes::ShapeRef.new(shape: String)
1193
1299
 
1300
+ Studio.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1301
+ Studio.add_member(:studio_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioArn"))
1302
+ Studio.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1303
+ Studio.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1304
+ Studio.add_member(:auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "AuthMode"))
1305
+ Studio.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "VpcId"))
1306
+ Studio.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "SubnetIds"))
1307
+ Studio.add_member(:service_role, Shapes::ShapeRef.new(shape: XmlString, location_name: "ServiceRole"))
1308
+ Studio.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, location_name: "UserRole"))
1309
+ Studio.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "WorkspaceSecurityGroupId"))
1310
+ Studio.add_member(:engine_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "EngineSecurityGroupId"))
1311
+ Studio.add_member(:url, Shapes::ShapeRef.new(shape: XmlString, location_name: "Url"))
1312
+ Studio.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1313
+ Studio.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, location_name: "DefaultS3Location"))
1314
+ Studio.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
1315
+ Studio.struct_class = Types::Studio
1316
+
1317
+ StudioSummary.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1318
+ StudioSummary.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1319
+ StudioSummary.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "VpcId"))
1320
+ StudioSummary.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1321
+ StudioSummary.add_member(:url, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Url"))
1322
+ StudioSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1323
+ StudioSummary.struct_class = Types::StudioSummary
1324
+
1325
+ StudioSummaryList.member = Shapes::ShapeRef.new(shape: StudioSummary)
1326
+
1327
+ SubnetIdList.member = Shapes::ShapeRef.new(shape: String)
1328
+
1194
1329
  SupportedProductConfig.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1195
1330
  SupportedProductConfig.add_member(:args, Shapes::ShapeRef.new(shape: XmlStringList, location_name: "Args"))
1196
1331
  SupportedProductConfig.struct_class = Types::SupportedProductConfig
@@ -1206,6 +1341,13 @@ module Aws::EMR
1206
1341
  TerminateJobFlowsInput.add_member(:job_flow_ids, Shapes::ShapeRef.new(shape: XmlStringList, required: true, location_name: "JobFlowIds"))
1207
1342
  TerminateJobFlowsInput.struct_class = Types::TerminateJobFlowsInput
1208
1343
 
1344
+ UpdateStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
1345
+ UpdateStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1346
+ UpdateStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1347
+ UpdateStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
1348
+ UpdateStudioSessionMappingInput.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "SessionPolicyArn"))
1349
+ UpdateStudioSessionMappingInput.struct_class = Types::UpdateStudioSessionMappingInput
1350
+
1209
1351
  VolumeSpecification.add_member(:volume_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VolumeType"))
1210
1352
  VolumeSpecification.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "Iops"))
1211
1353
  VolumeSpecification.add_member(:size_in_gb, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "SizeInGB"))
@@ -1292,6 +1434,26 @@ module Aws::EMR
1292
1434
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1293
1435
  end)
1294
1436
 
1437
+ api.add_operation(:create_studio, Seahorse::Model::Operation.new.tap do |o|
1438
+ o.name = "CreateStudio"
1439
+ o.http_method = "POST"
1440
+ o.http_request_uri = "/"
1441
+ o.input = Shapes::ShapeRef.new(shape: CreateStudioInput)
1442
+ o.output = Shapes::ShapeRef.new(shape: CreateStudioOutput)
1443
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1444
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1445
+ end)
1446
+
1447
+ api.add_operation(:create_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1448
+ o.name = "CreateStudioSessionMapping"
1449
+ o.http_method = "POST"
1450
+ o.http_request_uri = "/"
1451
+ o.input = Shapes::ShapeRef.new(shape: CreateStudioSessionMappingInput)
1452
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1453
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1454
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1455
+ end)
1456
+
1295
1457
  api.add_operation(:delete_security_configuration, Seahorse::Model::Operation.new.tap do |o|
1296
1458
  o.name = "DeleteSecurityConfiguration"
1297
1459
  o.http_method = "POST"
@@ -1302,6 +1464,26 @@ module Aws::EMR
1302
1464
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1303
1465
  end)
1304
1466
 
1467
+ api.add_operation(:delete_studio, Seahorse::Model::Operation.new.tap do |o|
1468
+ o.name = "DeleteStudio"
1469
+ o.http_method = "POST"
1470
+ o.http_request_uri = "/"
1471
+ o.input = Shapes::ShapeRef.new(shape: DeleteStudioInput)
1472
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1473
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1474
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1475
+ end)
1476
+
1477
+ api.add_operation(:delete_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1478
+ o.name = "DeleteStudioSessionMapping"
1479
+ o.http_method = "POST"
1480
+ o.http_request_uri = "/"
1481
+ o.input = Shapes::ShapeRef.new(shape: DeleteStudioSessionMappingInput)
1482
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1483
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1484
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1485
+ end)
1486
+
1305
1487
  api.add_operation(:describe_cluster, Seahorse::Model::Operation.new.tap do |o|
1306
1488
  o.name = "DescribeCluster"
1307
1489
  o.http_method = "POST"
@@ -1352,6 +1534,16 @@ module Aws::EMR
1352
1534
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1353
1535
  end)
1354
1536
 
1537
+ api.add_operation(:describe_studio, Seahorse::Model::Operation.new.tap do |o|
1538
+ o.name = "DescribeStudio"
1539
+ o.http_method = "POST"
1540
+ o.http_request_uri = "/"
1541
+ o.input = Shapes::ShapeRef.new(shape: DescribeStudioInput)
1542
+ o.output = Shapes::ShapeRef.new(shape: DescribeStudioOutput)
1543
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1544
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1545
+ end)
1546
+
1355
1547
  api.add_operation(:get_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1356
1548
  o.name = "GetBlockPublicAccessConfiguration"
1357
1549
  o.http_method = "POST"
@@ -1370,6 +1562,16 @@ module Aws::EMR
1370
1562
  o.output = Shapes::ShapeRef.new(shape: GetManagedScalingPolicyOutput)
1371
1563
  end)
1372
1564
 
1565
+ api.add_operation(:get_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1566
+ o.name = "GetStudioSessionMapping"
1567
+ o.http_method = "POST"
1568
+ o.http_request_uri = "/"
1569
+ o.input = Shapes::ShapeRef.new(shape: GetStudioSessionMappingInput)
1570
+ o.output = Shapes::ShapeRef.new(shape: GetStudioSessionMappingOutput)
1571
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1572
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1573
+ end)
1574
+
1373
1575
  api.add_operation(:list_bootstrap_actions, Seahorse::Model::Operation.new.tap do |o|
1374
1576
  o.name = "ListBootstrapActions"
1375
1577
  o.http_method = "POST"
@@ -1490,6 +1692,36 @@ module Aws::EMR
1490
1692
  )
1491
1693
  end)
1492
1694
 
1695
+ api.add_operation(:list_studio_session_mappings, Seahorse::Model::Operation.new.tap do |o|
1696
+ o.name = "ListStudioSessionMappings"
1697
+ o.http_method = "POST"
1698
+ o.http_request_uri = "/"
1699
+ o.input = Shapes::ShapeRef.new(shape: ListStudioSessionMappingsInput)
1700
+ o.output = Shapes::ShapeRef.new(shape: ListStudioSessionMappingsOutput)
1701
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1702
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1703
+ o[:pager] = Aws::Pager.new(
1704
+ tokens: {
1705
+ "marker" => "marker"
1706
+ }
1707
+ )
1708
+ end)
1709
+
1710
+ api.add_operation(:list_studios, Seahorse::Model::Operation.new.tap do |o|
1711
+ o.name = "ListStudios"
1712
+ o.http_method = "POST"
1713
+ o.http_request_uri = "/"
1714
+ o.input = Shapes::ShapeRef.new(shape: ListStudiosInput)
1715
+ o.output = Shapes::ShapeRef.new(shape: ListStudiosOutput)
1716
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1717
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1718
+ o[:pager] = Aws::Pager.new(
1719
+ tokens: {
1720
+ "marker" => "marker"
1721
+ }
1722
+ )
1723
+ end)
1724
+
1493
1725
  api.add_operation(:modify_cluster, Seahorse::Model::Operation.new.tap do |o|
1494
1726
  o.name = "ModifyCluster"
1495
1727
  o.http_method = "POST"
@@ -1626,6 +1858,16 @@ module Aws::EMR
1626
1858
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1627
1859
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1628
1860
  end)
1861
+
1862
+ api.add_operation(:update_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1863
+ o.name = "UpdateStudioSessionMapping"
1864
+ o.http_method = "POST"
1865
+ o.http_request_uri = "/"
1866
+ o.input = Shapes::ShapeRef.new(shape: UpdateStudioSessionMappingInput)
1867
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1868
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1869
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1870
+ end)
1629
1871
  end
1630
1872
 
1631
1873
  end
@@ -307,7 +307,7 @@ module Aws::EMR
307
307
  #
308
308
  # @!attribute [rw] tags
309
309
  # 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
310
+ # instances. Tags are user-defined key-value pairs that consist of a
311
311
  # required key string with a maximum of 128 characters, and an
312
312
  # optional value string with a maximum of 256 characters.
313
313
  # @return [Array<Types::Tag>]
@@ -547,8 +547,8 @@ module Aws::EMR
547
547
  # }
548
548
  #
549
549
  # @!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
550
+ # Indicates whether Amazon EMR block public access is enabled (`true`)
551
+ # or disabled (`false`). By default, the value is `false` for accounts
552
552
  # that have created EMR clusters before July 2019. For accounts
553
553
  # created after this, the default is `true`.
554
554
  # @return [Boolean]
@@ -683,7 +683,7 @@ module Aws::EMR
683
683
  # }
684
684
  #
685
685
  # @!attribute [rw] cluster_id
686
- # The `ClusterID` for which specified steps will be canceled. Use
686
+ # The `ClusterID` for the specified steps that will be canceled. Use
687
687
  # RunJobFlow and ListClusters to get ClusterIDs.
688
688
  # @return [String]
689
689
  #
@@ -693,7 +693,7 @@ module Aws::EMR
693
693
  # @return [Array<String>]
694
694
  #
695
695
  # @!attribute [rw] step_cancellation_option
696
- # The option to choose for cancelling `RUNNING` steps. By default, the
696
+ # The option to choose to cancel `RUNNING` steps. By default, the
697
697
  # value is `SEND_INTERRUPT`.
698
698
  # @return [String]
699
699
  #
@@ -951,13 +951,13 @@ module Aws::EMR
951
951
  # to terminate the instance was submitted. This option is only
952
952
  # available with Amazon EMR 5.1.0 and later and is the default for
953
953
  # 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.
954
+ # indicates that Amazon EMR adds nodes to a deny list and drains tasks
955
+ # from nodes before terminating the Amazon EC2 instances, regardless
956
+ # of the instance-hour boundary. With either behavior, Amazon EMR
957
+ # removes the least active nodes first and blocks instance termination
958
+ # if it could lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION`
959
+ # is available only in Amazon EMR version 4.1.0 and later, and is the
960
+ # default for versions of Amazon EMR earlier than 5.1.0.
961
961
  # @return [String]
962
962
  #
963
963
  # @!attribute [rw] custom_ami_id
@@ -966,9 +966,9 @@ module Aws::EMR
966
966
  # @return [String]
967
967
  #
968
968
  # @!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.
969
+ # The size, in GiB, of the Amazon EBS root device volume of the Linux
970
+ # AMI that is used for each EC2 instance. Available in Amazon EMR
971
+ # version 4.x and later.
972
972
  # @return [Integer]
973
973
  #
974
974
  # @!attribute [rw] repo_upgrade_on_boot
@@ -980,7 +980,8 @@ module Aws::EMR
980
980
  # @!attribute [rw] kerberos_attributes
981
981
  # Attributes for Kerberos configuration when Kerberos authentication
982
982
  # is enabled using a security configuration. For more information see
983
- # [Use Kerberos Authentication][1] in the *EMR Management Guide*.
983
+ # [Use Kerberos Authentication][1] in the *Amazon EMR Management
984
+ # Guide*.
984
985
  #
985
986
  #
986
987
  #
@@ -1138,7 +1139,7 @@ module Aws::EMR
1138
1139
  # @return [Time]
1139
1140
  #
1140
1141
  # @!attribute [rw] ready_date_time
1141
- # The date and time when the cluster was ready to execute steps.
1142
+ # The date and time when the cluster was ready to run steps.
1142
1143
  # @return [Time]
1143
1144
  #
1144
1145
  # @!attribute [rw] end_date_time
@@ -1200,7 +1201,7 @@ module Aws::EMR
1200
1201
  # @return [String]
1201
1202
  #
1202
1203
  # @!attribute [rw] minimum_capacity_units
1203
- # The lower boundary of EC2 units. It is measured through VCPU cores
1204
+ # The lower boundary of EC2 units. It is measured through vCPU cores
1204
1205
  # or instances for instance groups and measured through units for
1205
1206
  # instance fleets. Managed scaling activities are not allowed beyond
1206
1207
  # this boundary. The limit only applies to the core and task nodes.
@@ -1208,7 +1209,7 @@ module Aws::EMR
1208
1209
  # @return [Integer]
1209
1210
  #
1210
1211
  # @!attribute [rw] maximum_capacity_units
1211
- # The upper boundary of EC2 units. It is measured through VCPU cores
1212
+ # The upper boundary of EC2 units. It is measured through vCPU cores
1212
1213
  # or instances for instance groups and measured through units for
1213
1214
  # instance fleets. Managed scaling activities are not allowed beyond
1214
1215
  # this boundary. The limit only applies to the core and task nodes.
@@ -1217,15 +1218,15 @@ module Aws::EMR
1217
1218
  #
1218
1219
  # @!attribute [rw] maximum_on_demand_capacity_units
1219
1220
  # The upper boundary of On-Demand EC2 units. It is measured through
1220
- # VCPU cores or instances for instance groups and measured through
1221
+ # vCPU cores or instances for instance groups and measured through
1221
1222
  # units for instance fleets. The On-Demand units are not allowed to
1222
1223
  # scale beyond this boundary. The parameter is used to split capacity
1223
- # allocation between On-Demand and Spot instances.
1224
+ # allocation between On-Demand and Spot Instances.
1224
1225
  # @return [Integer]
1225
1226
  #
1226
1227
  # @!attribute [rw] maximum_core_capacity_units
1227
1228
  # The upper boundary of EC2 units for core node type in a cluster. It
1228
- # is measured through VCPU cores or instances for instance groups and
1229
+ # is measured through vCPU cores or instances for instance groups and
1229
1230
  # measured through units for instance fleets. The core units are not
1230
1231
  # allowed to scale beyond this boundary. The parameter is used to
1231
1232
  # split capacity allocation between core and task nodes.
@@ -1351,6 +1352,189 @@ module Aws::EMR
1351
1352
  include Aws::Structure
1352
1353
  end
1353
1354
 
1355
+ # @note When making an API call, you may pass CreateStudioInput
1356
+ # data as a hash:
1357
+ #
1358
+ # {
1359
+ # name: "XmlStringMaxLen256", # required
1360
+ # description: "XmlStringMaxLen256",
1361
+ # auth_mode: "SSO", # required, accepts SSO, IAM
1362
+ # vpc_id: "XmlStringMaxLen256", # required
1363
+ # subnet_ids: ["String"], # required
1364
+ # service_role: "XmlString", # required
1365
+ # user_role: "XmlString", # required
1366
+ # workspace_security_group_id: "XmlStringMaxLen256", # required
1367
+ # engine_security_group_id: "XmlStringMaxLen256", # required
1368
+ # default_s3_location: "XmlString",
1369
+ # tags: [
1370
+ # {
1371
+ # key: "String",
1372
+ # value: "String",
1373
+ # },
1374
+ # ],
1375
+ # }
1376
+ #
1377
+ # @!attribute [rw] name
1378
+ # A descriptive name for the Amazon EMR Studio.
1379
+ # @return [String]
1380
+ #
1381
+ # @!attribute [rw] description
1382
+ # A detailed description of the Studio.
1383
+ # @return [String]
1384
+ #
1385
+ # @!attribute [rw] auth_mode
1386
+ # Specifies whether the Studio authenticates users using single
1387
+ # sign-on (SSO) or IAM. Amazon EMR Studio currently only supports SSO
1388
+ # authentication.
1389
+ # @return [String]
1390
+ #
1391
+ # @!attribute [rw] vpc_id
1392
+ # The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate
1393
+ # with the Studio.
1394
+ # @return [String]
1395
+ #
1396
+ # @!attribute [rw] subnet_ids
1397
+ # A list of subnet IDs to associate with the Studio. The subnets must
1398
+ # belong to the VPC specified by `VpcId`. Studio users can create a
1399
+ # Workspace in any of the specified subnets.
1400
+ # @return [Array<String>]
1401
+ #
1402
+ # @!attribute [rw] service_role
1403
+ # The IAM role that will be assumed by the Amazon EMR Studio. The
1404
+ # service role provides a way for Amazon EMR Studio to interoperate
1405
+ # with other AWS services.
1406
+ # @return [String]
1407
+ #
1408
+ # @!attribute [rw] user_role
1409
+ # The IAM user role that will be assumed by users and groups logged in
1410
+ # to a Studio. The permissions attached to this IAM role can be scoped
1411
+ # down for each user or group using session policies.
1412
+ # @return [String]
1413
+ #
1414
+ # @!attribute [rw] workspace_security_group_id
1415
+ # The ID of the Amazon EMR Studio Workspace security group. The
1416
+ # Workspace security group allows outbound network traffic to
1417
+ # resources in the Engine security group, and it must be in the same
1418
+ # VPC specified by `VpcId`.
1419
+ # @return [String]
1420
+ #
1421
+ # @!attribute [rw] engine_security_group_id
1422
+ # The ID of the Amazon EMR Studio Engine security group. The Engine
1423
+ # security group allows inbound network traffic from the Workspace
1424
+ # security group, and it must be in the same VPC specified by `VpcId`.
1425
+ # @return [String]
1426
+ #
1427
+ # @!attribute [rw] default_s3_location
1428
+ # The default Amazon S3 location to back up EMR Studio Workspaces and
1429
+ # notebook files. A Studio user can select an alternative Amazon S3
1430
+ # location when creating a Workspace.
1431
+ # @return [String]
1432
+ #
1433
+ # @!attribute [rw] tags
1434
+ # A list of tags to associate with the Studio. Tags are user-defined
1435
+ # key-value pairs that consist of a required key string with a maximum
1436
+ # of 128 characters, and an optional value string with a maximum of
1437
+ # 256 characters.
1438
+ # @return [Array<Types::Tag>]
1439
+ #
1440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioInput AWS API Documentation
1441
+ #
1442
+ class CreateStudioInput < Struct.new(
1443
+ :name,
1444
+ :description,
1445
+ :auth_mode,
1446
+ :vpc_id,
1447
+ :subnet_ids,
1448
+ :service_role,
1449
+ :user_role,
1450
+ :workspace_security_group_id,
1451
+ :engine_security_group_id,
1452
+ :default_s3_location,
1453
+ :tags)
1454
+ SENSITIVE = []
1455
+ include Aws::Structure
1456
+ end
1457
+
1458
+ # @!attribute [rw] studio_id
1459
+ # The ID of the Amazon EMR Studio.
1460
+ # @return [String]
1461
+ #
1462
+ # @!attribute [rw] url
1463
+ # The unique Studio access URL.
1464
+ # @return [String]
1465
+ #
1466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioOutput AWS API Documentation
1467
+ #
1468
+ class CreateStudioOutput < Struct.new(
1469
+ :studio_id,
1470
+ :url)
1471
+ SENSITIVE = []
1472
+ include Aws::Structure
1473
+ end
1474
+
1475
+ # @note When making an API call, you may pass CreateStudioSessionMappingInput
1476
+ # data as a hash:
1477
+ #
1478
+ # {
1479
+ # studio_id: "XmlStringMaxLen256", # required
1480
+ # identity_id: "XmlStringMaxLen256",
1481
+ # identity_name: "XmlStringMaxLen256",
1482
+ # identity_type: "USER", # required, accepts USER, GROUP
1483
+ # session_policy_arn: "XmlStringMaxLen256", # required
1484
+ # }
1485
+ #
1486
+ # @!attribute [rw] studio_id
1487
+ # The ID of the Amazon EMR Studio to which the user or group will be
1488
+ # mapped.
1489
+ # @return [String]
1490
+ #
1491
+ # @!attribute [rw] identity_id
1492
+ # The globally unique identifier (GUID) of the user or group from the
1493
+ # AWS SSO Identity Store. For more information, see [UserId][1] and
1494
+ # [GroupId][2] in the *AWS SSO Identity Store API Reference*. Either
1495
+ # `IdentityName` or `IdentityId` must be specified.
1496
+ #
1497
+ #
1498
+ #
1499
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1500
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
1501
+ # @return [String]
1502
+ #
1503
+ # @!attribute [rw] identity_name
1504
+ # The name of the user or group. For more information, see
1505
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
1506
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
1507
+ # specified.
1508
+ #
1509
+ #
1510
+ #
1511
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1512
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
1513
+ # @return [String]
1514
+ #
1515
+ # @!attribute [rw] identity_type
1516
+ # Specifies whether the identity to map to the Studio is a user or a
1517
+ # group.
1518
+ # @return [String]
1519
+ #
1520
+ # @!attribute [rw] session_policy_arn
1521
+ # The Amazon Resource Name (ARN) for the session policy that will be
1522
+ # applied to the user or group. Session policies refine Studio user
1523
+ # permissions without the need to use multiple IAM user roles.
1524
+ # @return [String]
1525
+ #
1526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioSessionMappingInput AWS API Documentation
1527
+ #
1528
+ class CreateStudioSessionMappingInput < Struct.new(
1529
+ :studio_id,
1530
+ :identity_id,
1531
+ :identity_name,
1532
+ :identity_type,
1533
+ :session_policy_arn)
1534
+ SENSITIVE = []
1535
+ include Aws::Structure
1536
+ end
1537
+
1354
1538
  # @note When making an API call, you may pass DeleteSecurityConfigurationInput
1355
1539
  # data as a hash:
1356
1540
  #
@@ -1374,6 +1558,79 @@ module Aws::EMR
1374
1558
  #
1375
1559
  class DeleteSecurityConfigurationOutput < Aws::EmptyStructure; end
1376
1560
 
1561
+ # @note When making an API call, you may pass DeleteStudioInput
1562
+ # data as a hash:
1563
+ #
1564
+ # {
1565
+ # studio_id: "XmlStringMaxLen256", # required
1566
+ # }
1567
+ #
1568
+ # @!attribute [rw] studio_id
1569
+ # The ID of the Amazon EMR Studio.
1570
+ # @return [String]
1571
+ #
1572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioInput AWS API Documentation
1573
+ #
1574
+ class DeleteStudioInput < Struct.new(
1575
+ :studio_id)
1576
+ SENSITIVE = []
1577
+ include Aws::Structure
1578
+ end
1579
+
1580
+ # @note When making an API call, you may pass DeleteStudioSessionMappingInput
1581
+ # data as a hash:
1582
+ #
1583
+ # {
1584
+ # studio_id: "XmlStringMaxLen256", # required
1585
+ # identity_id: "XmlStringMaxLen256",
1586
+ # identity_name: "XmlStringMaxLen256",
1587
+ # identity_type: "USER", # required, accepts USER, GROUP
1588
+ # }
1589
+ #
1590
+ # @!attribute [rw] studio_id
1591
+ # The ID of the Amazon EMR Studio.
1592
+ # @return [String]
1593
+ #
1594
+ # @!attribute [rw] identity_id
1595
+ # The globally unique identifier (GUID) of the user or group to remove
1596
+ # from the Amazon EMR Studio. For more information, see [UserId][1]
1597
+ # and [GroupId][2] in the *AWS SSO Identity Store API Reference*.
1598
+ # Either `IdentityName` or `IdentityId` must be specified.
1599
+ #
1600
+ #
1601
+ #
1602
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1603
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
1604
+ # @return [String]
1605
+ #
1606
+ # @!attribute [rw] identity_name
1607
+ # The name of the user name or group to remove from the Studio. For
1608
+ # more information, see [UserName][1] and [DisplayName][2] in the *AWS
1609
+ # SSO Identity Store API Reference*. Either `IdentityName` or
1610
+ # `IdentityId` must be specified.
1611
+ #
1612
+ #
1613
+ #
1614
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1615
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
1616
+ # @return [String]
1617
+ #
1618
+ # @!attribute [rw] identity_type
1619
+ # Specifies whether the identity to delete from the Studio is a user
1620
+ # or a group.
1621
+ # @return [String]
1622
+ #
1623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioSessionMappingInput AWS API Documentation
1624
+ #
1625
+ class DeleteStudioSessionMappingInput < Struct.new(
1626
+ :studio_id,
1627
+ :identity_id,
1628
+ :identity_name,
1629
+ :identity_type)
1630
+ SENSITIVE = []
1631
+ include Aws::Structure
1632
+ end
1633
+
1377
1634
  # This input determines which cluster to describe.
1378
1635
  #
1379
1636
  # @note When making an API call, you may pass DescribeClusterInput
@@ -1575,6 +1832,37 @@ module Aws::EMR
1575
1832
  include Aws::Structure
1576
1833
  end
1577
1834
 
1835
+ # @note When making an API call, you may pass DescribeStudioInput
1836
+ # data as a hash:
1837
+ #
1838
+ # {
1839
+ # studio_id: "XmlStringMaxLen256", # required
1840
+ # }
1841
+ #
1842
+ # @!attribute [rw] studio_id
1843
+ # The Amazon EMR Studio ID.
1844
+ # @return [String]
1845
+ #
1846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudioInput AWS API Documentation
1847
+ #
1848
+ class DescribeStudioInput < Struct.new(
1849
+ :studio_id)
1850
+ SENSITIVE = []
1851
+ include Aws::Structure
1852
+ end
1853
+
1854
+ # @!attribute [rw] studio
1855
+ # The Amazon EMR Studio details.
1856
+ # @return [Types::Studio]
1857
+ #
1858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudioOutput AWS API Documentation
1859
+ #
1860
+ class DescribeStudioOutput < Struct.new(
1861
+ :studio)
1862
+ SENSITIVE = []
1863
+ include Aws::Structure
1864
+ end
1865
+
1578
1866
  # Configuration of requested EBS block device associated with the
1579
1867
  # instance group.
1580
1868
  #
@@ -1836,9 +2124,9 @@ module Aws::EMR
1836
2124
  # @return [String]
1837
2125
  #
1838
2126
  # @!attribute [rw] message
1839
- # The descriptive message including the error the EMR service has
1840
- # identified as the cause of step failure. This is text from an error
1841
- # log that describes the root cause of the failure.
2127
+ # The descriptive message including the error the Amazon EMR service
2128
+ # has identified as the cause of step failure. This is text from an
2129
+ # error log that describes the root cause of the failure.
1842
2130
  # @return [String]
1843
2131
  #
1844
2132
  # @!attribute [rw] log_file
@@ -1936,6 +2224,72 @@ module Aws::EMR
1936
2224
  include Aws::Structure
1937
2225
  end
1938
2226
 
2227
+ # @note When making an API call, you may pass GetStudioSessionMappingInput
2228
+ # data as a hash:
2229
+ #
2230
+ # {
2231
+ # studio_id: "XmlStringMaxLen256", # required
2232
+ # identity_id: "XmlStringMaxLen256",
2233
+ # identity_name: "XmlStringMaxLen256",
2234
+ # identity_type: "USER", # required, accepts USER, GROUP
2235
+ # }
2236
+ #
2237
+ # @!attribute [rw] studio_id
2238
+ # The ID of the Amazon EMR Studio.
2239
+ # @return [String]
2240
+ #
2241
+ # @!attribute [rw] identity_id
2242
+ # The globally unique identifier (GUID) of the user or group. For more
2243
+ # information, see [UserId][1] and [GroupId][2] in the *AWS SSO
2244
+ # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
2245
+ # must be specified.
2246
+ #
2247
+ #
2248
+ #
2249
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
2250
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
2251
+ # @return [String]
2252
+ #
2253
+ # @!attribute [rw] identity_name
2254
+ # The name of the user or group to fetch. For more information, see
2255
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
2256
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
2257
+ # specified.
2258
+ #
2259
+ #
2260
+ #
2261
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
2262
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
2263
+ # @return [String]
2264
+ #
2265
+ # @!attribute [rw] identity_type
2266
+ # Specifies whether the identity to fetch is a user or a group.
2267
+ # @return [String]
2268
+ #
2269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMappingInput AWS API Documentation
2270
+ #
2271
+ class GetStudioSessionMappingInput < Struct.new(
2272
+ :studio_id,
2273
+ :identity_id,
2274
+ :identity_name,
2275
+ :identity_type)
2276
+ SENSITIVE = []
2277
+ include Aws::Structure
2278
+ end
2279
+
2280
+ # @!attribute [rw] session_mapping
2281
+ # The session mapping details for the specified Amazon EMR Studio and
2282
+ # identity, including session policy ARN and creation time.
2283
+ # @return [Types::SessionMappingDetail]
2284
+ #
2285
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMappingOutput AWS API Documentation
2286
+ #
2287
+ class GetStudioSessionMappingOutput < Struct.new(
2288
+ :session_mapping)
2289
+ SENSITIVE = []
2290
+ include Aws::Structure
2291
+ end
2292
+
1939
2293
  # A job flow step consisting of a JAR file whose main function will be
1940
2294
  # executed. The main function submits a job for Hadoop to execute and
1941
2295
  # waits for the job to finish or fail.
@@ -1996,7 +2350,7 @@ module Aws::EMR
1996
2350
  #
1997
2351
  # @!attribute [rw] properties
1998
2352
  # The list of Java properties that are set when the step runs. You can
1999
- # use these properties to pass key value pairs to your main function.
2353
+ # use these properties to pass key-value pairs to your main function.
2000
2354
  # @return [Hash<String,String>]
2001
2355
  #
2002
2356
  # @!attribute [rw] main_class
@@ -2095,7 +2449,7 @@ module Aws::EMR
2095
2449
  # Describes an instance fleet, which is a group of EC2 instances that
2096
2450
  # host a particular node type (master, core, or task) in an Amazon EMR
2097
2451
  # cluster. Instance fleets can consist of a mix of instance types and
2098
- # On-Demand and Spot instances, which are provisioned to meet a defined
2452
+ # On-Demand and Spot Instances, which are provisioned to meet a defined
2099
2453
  # target capacity.
2100
2454
  #
2101
2455
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
@@ -2122,11 +2476,11 @@ module Aws::EMR
2122
2476
  #
2123
2477
  # @!attribute [rw] target_on_demand_capacity
2124
2478
  # The target capacity of On-Demand units for the instance fleet, which
2125
- # determines how many On-Demand instances to provision. When the
2479
+ # determines how many On-Demand Instances to provision. When the
2126
2480
  # instance fleet launches, Amazon EMR tries to provision On-Demand
2127
- # instances as specified by InstanceTypeConfig. Each instance
2481
+ # Instances as specified by InstanceTypeConfig. Each instance
2128
2482
  # configuration has a specified `WeightedCapacity`. When an On-Demand
2129
- # instance is provisioned, the `WeightedCapacity` units count toward
2483
+ # Instance is provisioned, the `WeightedCapacity` units count toward
2130
2484
  # the target capacity. Amazon EMR provisions instances until the
2131
2485
  # target capacity is totally fulfilled, even if this results in an
2132
2486
  # overage. For example, if there are 2 units remaining to fulfill
@@ -2136,7 +2490,7 @@ module Aws::EMR
2136
2490
  # InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot
2137
2491
  # capacity units that have been provisioned for the instance fleet.
2138
2492
  #
2139
- # <note markdown="1"> If not specified or set to 0, only Spot instances are provisioned
2493
+ # <note markdown="1"> If not specified or set to 0, only Spot Instances are provisioned
2140
2494
  # for the instance fleet using `TargetSpotCapacity`. At least one of
2141
2495
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2142
2496
  # than 0. For a master instance fleet, only one of
@@ -2283,11 +2637,11 @@ module Aws::EMR
2283
2637
  #
2284
2638
  # @!attribute [rw] target_on_demand_capacity
2285
2639
  # The target capacity of On-Demand units for the instance fleet, which
2286
- # determines how many On-Demand instances to provision. When the
2640
+ # determines how many On-Demand Instances to provision. When the
2287
2641
  # instance fleet launches, Amazon EMR tries to provision On-Demand
2288
- # instances as specified by InstanceTypeConfig. Each instance
2642
+ # Instances as specified by InstanceTypeConfig. Each instance
2289
2643
  # configuration has a specified `WeightedCapacity`. When an On-Demand
2290
- # instance is provisioned, the `WeightedCapacity` units count toward
2644
+ # Instance is provisioned, the `WeightedCapacity` units count toward
2291
2645
  # the target capacity. Amazon EMR provisions instances until the
2292
2646
  # target capacity is totally fulfilled, even if this results in an
2293
2647
  # overage. For example, if there are 2 units remaining to fulfill
@@ -2295,7 +2649,7 @@ module Aws::EMR
2295
2649
  # `WeightedCapacity` of 5 units, the instance is provisioned, and the
2296
2650
  # target capacity is exceeded by 3 units.
2297
2651
  #
2298
- # <note markdown="1"> If not specified or set to 0, only Spot instances are provisioned
2652
+ # <note markdown="1"> If not specified or set to 0, only Spot Instances are provisioned
2299
2653
  # for the instance fleet using `TargetSpotCapacity`. At least one of
2300
2654
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2301
2655
  # than 0. For a master instance fleet, only one of
@@ -2307,10 +2661,10 @@ module Aws::EMR
2307
2661
  #
2308
2662
  # @!attribute [rw] target_spot_capacity
2309
2663
  # The target capacity of Spot units for the instance fleet, which
2310
- # determines how many Spot instances to provision. When the instance
2311
- # fleet launches, Amazon EMR tries to provision Spot instances as
2664
+ # determines how many Spot Instances to provision. When the instance
2665
+ # fleet launches, Amazon EMR tries to provision Spot Instances as
2312
2666
  # specified by InstanceTypeConfig. Each instance configuration has a
2313
- # specified `WeightedCapacity`. When a Spot instance is provisioned,
2667
+ # specified `WeightedCapacity`. When a Spot Instance is provisioned,
2314
2668
  # the `WeightedCapacity` units count toward the target capacity.
2315
2669
  # Amazon EMR provisions instances until the target capacity is totally
2316
2670
  # fulfilled, even if this results in an overage. For example, if there
@@ -2319,7 +2673,7 @@ module Aws::EMR
2319
2673
  # instance is provisioned, and the target capacity is exceeded by 3
2320
2674
  # units.
2321
2675
  #
2322
- # <note markdown="1"> If not specified or set to 0, only On-Demand instances are
2676
+ # <note markdown="1"> If not specified or set to 0, only On-Demand Instances are
2323
2677
  # provisioned for the instance fleet. At least one of
2324
2678
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2325
2679
  # than 0. For a master instance fleet, only one of
@@ -2391,13 +2745,13 @@ module Aws::EMR
2391
2745
  include Aws::Structure
2392
2746
  end
2393
2747
 
2394
- # The launch specification for Spot instances in the fleet, which
2748
+ # The launch specification for Spot Instances in the fleet, which
2395
2749
  # determines the defined duration, provisioning timeout behavior, and
2396
2750
  # allocation strategy.
2397
2751
  #
2398
2752
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2399
2753
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot
2400
- # instance allocation strategies are available in Amazon EMR version
2754
+ # Instance allocation strategies are available in Amazon EMR version
2401
2755
  # 5.12.1 and later.
2402
2756
  #
2403
2757
  # </note>
@@ -2418,18 +2772,18 @@ module Aws::EMR
2418
2772
  # }
2419
2773
  #
2420
2774
  # @!attribute [rw] spot_specification
2421
- # The launch specification for Spot instances in the fleet, which
2775
+ # The launch specification for Spot Instances in the fleet, which
2422
2776
  # determines the defined duration, provisioning timeout behavior, and
2423
2777
  # allocation strategy.
2424
2778
  # @return [Types::SpotProvisioningSpecification]
2425
2779
  #
2426
2780
  # @!attribute [rw] on_demand_specification
2427
- # The launch specification for On-Demand instances in the instance
2781
+ # The launch specification for On-Demand Instances in the instance
2428
2782
  # fleet, which determines the allocation strategy.
2429
2783
  #
2430
2784
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2431
2785
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand
2432
- # instances allocation strategy is available in Amazon EMR version
2786
+ # Instances allocation strategy is available in Amazon EMR version
2433
2787
  # 5.12.1 and later.
2434
2788
  #
2435
2789
  # </note>
@@ -2574,7 +2928,7 @@ module Aws::EMR
2574
2928
  # @return [String]
2575
2929
  #
2576
2930
  # @!attribute [rw] bid_price
2577
- # The bid price for each EC2 Spot instance type as defined by
2931
+ # The bid price for each EC2 Spot Instance type as defined by
2578
2932
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2579
2933
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2580
2934
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -2756,7 +3110,7 @@ module Aws::EMR
2756
3110
  # @return [String]
2757
3111
  #
2758
3112
  # @!attribute [rw] bid_price
2759
- # The bid price for each EC2 Spot instance type as defined by
3113
+ # The bid price for each EC2 Spot Instance type as defined by
2760
3114
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2761
3115
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2762
3116
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -2828,7 +3182,7 @@ module Aws::EMR
2828
3182
  # @return [String]
2829
3183
  #
2830
3184
  # @!attribute [rw] bid_price
2831
- # The bid price for each EC2 Spot instance type as defined by
3185
+ # The bid price for each EC2 Spot Instance type as defined by
2832
3186
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2833
3187
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2834
3188
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -2923,7 +3277,7 @@ module Aws::EMR
2923
3277
  # }
2924
3278
  #
2925
3279
  # @!attribute [rw] instance_group_id
2926
- # Unique ID of the instance group to expand or shrink.
3280
+ # Unique ID of the instance group to modify.
2927
3281
  # @return [String]
2928
3282
  #
2929
3283
  # @!attribute [rw] instance_count
@@ -3131,7 +3485,7 @@ module Aws::EMR
3131
3485
  # An instance type configuration for each instance type in an instance
3132
3486
  # fleet, which determines the EC2 instances Amazon EMR attempts to
3133
3487
  # provision to fulfill On-Demand and Spot target capacities. There can
3134
- # be a maximum of 5 instance type configurations in a fleet.
3488
+ # be a maximum of five instance type configurations in a fleet.
3135
3489
  #
3136
3490
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
3137
3491
  # versions 4.8.0 and later, excluding 5.0.x versions.
@@ -3185,7 +3539,7 @@ module Aws::EMR
3185
3539
  # @return [Integer]
3186
3540
  #
3187
3541
  # @!attribute [rw] bid_price
3188
- # The bid price for each EC2 Spot instance type as defined by
3542
+ # The bid price for each EC2 Spot Instance type as defined by
3189
3543
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
3190
3544
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
3191
3545
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -3193,15 +3547,15 @@ module Aws::EMR
3193
3547
  #
3194
3548
  # @!attribute [rw] bid_price_as_percentage_of_on_demand_price
3195
3549
  # The bid price, as a percentage of On-Demand price, for each EC2 Spot
3196
- # instance as defined by `InstanceType`. Expressed as a number (for
3550
+ # Instance as defined by `InstanceType`. Expressed as a number (for
3197
3551
  # example, 20 specifies 20%). If neither `BidPrice` nor
3198
3552
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
3199
3553
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
3200
3554
  # @return [Float]
3201
3555
  #
3202
3556
  # @!attribute [rw] ebs_configuration
3203
- # The configuration of Amazon Elastic Block Storage (EBS) attached to
3204
- # each instance as defined by `InstanceType`.
3557
+ # The configuration of Amazon Elastic Block Storage (Amazon EBS)
3558
+ # attached to each instance as defined by `InstanceType`.
3205
3559
  # @return [Types::EbsConfiguration]
3206
3560
  #
3207
3561
  # @!attribute [rw] configurations
@@ -3244,13 +3598,13 @@ module Aws::EMR
3244
3598
  # @return [Integer]
3245
3599
  #
3246
3600
  # @!attribute [rw] bid_price
3247
- # The bid price for each EC2 Spot instance type as defined by
3601
+ # The bid price for each EC2 Spot Instance type as defined by
3248
3602
  # `InstanceType`. Expressed in USD.
3249
3603
  # @return [String]
3250
3604
  #
3251
3605
  # @!attribute [rw] bid_price_as_percentage_of_on_demand_price
3252
3606
  # The bid price, as a percentage of On-Demand price, for each EC2 Spot
3253
- # instance as defined by `InstanceType`. Expressed as a number (for
3607
+ # Instance as defined by `InstanceType`. Expressed as a number (for
3254
3608
  # example, 20 specifies 20%).
3255
3609
  # @return [Float]
3256
3610
  #
@@ -3261,8 +3615,8 @@ module Aws::EMR
3261
3615
  # @return [Array<Types::Configuration>]
3262
3616
  #
3263
3617
  # @!attribute [rw] ebs_block_devices
3264
- # The configuration of Amazon Elastic Block Storage (EBS) attached to
3265
- # each instance as defined by `InstanceType`.
3618
+ # The configuration of Amazon Elastic Block Storage (Amazon EBS)
3619
+ # attached to each instance as defined by `InstanceType`.
3266
3620
  # @return [Array<Types::EbsBlockDevice>]
3267
3621
  #
3268
3622
  # @!attribute [rw] ebs_optimized
@@ -3368,9 +3722,9 @@ module Aws::EMR
3368
3722
  # @return [Array<Types::BootstrapActionDetail>]
3369
3723
  #
3370
3724
  # @!attribute [rw] supported_products
3371
- # A list of strings set by third party software when the job flow is
3372
- # launched. If you are not using third party software to manage the
3373
- # job flow this value is empty.
3725
+ # A list of strings set by third-party software when the job flow is
3726
+ # launched. If you are not using third-party software to manage the
3727
+ # job flow, this value is empty.
3374
3728
  # @return [Array<String>]
3375
3729
  #
3376
3730
  # @!attribute [rw] visible_to_all_users
@@ -3391,8 +3745,8 @@ module Aws::EMR
3391
3745
  # @return [String]
3392
3746
  #
3393
3747
  # @!attribute [rw] service_role
3394
- # The IAM role that will be assumed by the Amazon EMR service to
3395
- # access AWS resources on your behalf.
3748
+ # The IAM role that is assumed by the Amazon EMR service to access AWS
3749
+ # resources on your behalf.
3396
3750
  # @return [String]
3397
3751
  #
3398
3752
  # @!attribute [rw] auto_scaling_role
@@ -3410,13 +3764,13 @@ module Aws::EMR
3410
3764
  # to terminate the instance was submitted. This option is only
3411
3765
  # available with Amazon EMR 5.1.0 and later and is the default for
3412
3766
  # clusters created using that version. `TERMINATE_AT_TASK_COMPLETION`
3413
- # indicates that Amazon EMR blacklists and drains tasks from nodes
3414
- # before terminating the Amazon EC2 instances, regardless of the
3415
- # instance-hour boundary. With either behavior, Amazon EMR removes the
3416
- # least active nodes first and blocks instance termination if it could
3417
- # lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION` available
3418
- # only in Amazon EMR version 4.1.0 and later, and is the default for
3419
- # versions of Amazon EMR earlier than 5.1.0.
3767
+ # indicates that Amazon EMR adds nodes to a deny list and drains tasks
3768
+ # from nodes before terminating the Amazon EC2 instances, regardless
3769
+ # of the instance-hour boundary. With either behavior, Amazon EMR
3770
+ # removes the least active nodes first and blocks instance termination
3771
+ # if it could lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION`
3772
+ # available only in Amazon EMR version 4.1.0 and later, and is the
3773
+ # default for versions of Amazon EMR earlier than 5.1.0.
3420
3774
  # @return [String]
3421
3775
  #
3422
3776
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/JobFlowDetail AWS API Documentation
@@ -3483,10 +3837,10 @@ module Aws::EMR
3483
3837
 
3484
3838
  # A description of the Amazon EC2 instance on which the cluster (job
3485
3839
  # flow) runs. A valid JobFlowInstancesConfig must contain either
3486
- # InstanceGroups or InstanceFleets, which is the recommended
3487
- # configuration. They cannot be used together. You may also have
3488
- # MasterInstanceType, SlaveInstanceType, and InstanceCount (all three
3489
- # must be present), but we don't recommend this configuration.
3840
+ # InstanceGroups or InstanceFleets. They cannot be used together. You
3841
+ # may also have MasterInstanceType, SlaveInstanceType, and InstanceCount
3842
+ # (all three must be present), but we don't recommend this
3843
+ # configuration.
3490
3844
  #
3491
3845
  # @note When making an API call, you may pass JobFlowInstancesConfig
3492
3846
  # data as a hash:
@@ -3662,8 +4016,8 @@ module Aws::EMR
3662
4016
  # @return [Array<Types::InstanceFleetConfig>]
3663
4017
  #
3664
4018
  # @!attribute [rw] ec2_key_name
3665
- # The name of the EC2 key pair that can be used to ssh to the master
3666
- # node as the user called "hadoop."
4019
+ # The name of the EC2 key pair that can be used to connect to the
4020
+ # master node using SSH as the user called "hadoop."
3667
4021
  # @return [String]
3668
4022
  #
3669
4023
  # @!attribute [rw] placement
@@ -3683,12 +4037,12 @@ module Aws::EMR
3683
4037
  #
3684
4038
  # @!attribute [rw] hadoop_version
3685
4039
  # Applies only to Amazon EMR release versions earlier than 4.0. The
3686
- # Hadoop version for the cluster. Valid inputs are "0.18"
3687
- # (deprecated), "0.20" (deprecated), "0.20.205" (deprecated),
3688
- # "1.0.3", "2.2.0", or "2.4.0". If you do not set this value,
3689
- # the default of 0.18 is used, unless the `AmiVersion` parameter is
3690
- # set in the RunJobFlow call, in which case the default version of
3691
- # Hadoop for that AMI version is used.
4040
+ # Hadoop version for the cluster. Valid inputs are "0.18" (no longer
4041
+ # maintained), "0.20" (no longer maintained), "0.20.205" (no
4042
+ # longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do
4043
+ # not set this value, the default of 0.18 is used, unless the
4044
+ # `AmiVersion` parameter is set in the RunJobFlow call, in which case
4045
+ # the default version of Hadoop for that AMI version is used.
3692
4046
  # @return [String]
3693
4047
  #
3694
4048
  # @!attribute [rw] ec2_subnet_id
@@ -3793,17 +4147,17 @@ module Aws::EMR
3793
4147
  #
3794
4148
  # @!attribute [rw] normalized_instance_hours
3795
4149
  # An approximation of the cost of the cluster, represented in
3796
- # m1.small/hours. This value is incremented one time for every hour
3797
- # that an m1.small runs. Larger instances are weighted more, so an
3798
- # Amazon EC2 instance that is roughly four times more expensive would
3799
- # result in the normalized instance hours being incremented by four.
3800
- # This result is only an approximation and does not reflect the actual
3801
- # billing rate.
4150
+ # m1.small/hours. This value is increased one time for every hour that
4151
+ # an m1.small instance runs. Larger instances are weighted more
4152
+ # heavily, so an Amazon EC2 instance that is roughly four times more
4153
+ # expensive would result in the normalized instance hours being
4154
+ # increased incrementally four times. This result is only an
4155
+ # approximation and does not reflect the actual billing rate.
3802
4156
  # @return [Integer]
3803
4157
  #
3804
4158
  # @!attribute [rw] ec2_key_name
3805
- # The name of an Amazon EC2 key pair that can be used to ssh to the
3806
- # master node.
4159
+ # The name of an Amazon EC2 key pair that can be used to connect to
4160
+ # the master node using SSH.
3807
4161
  # @return [String]
3808
4162
  #
3809
4163
  # @!attribute [rw] ec2_subnet_id
@@ -3852,7 +4206,7 @@ module Aws::EMR
3852
4206
 
3853
4207
  # Attributes for Kerberos configuration when Kerberos authentication is
3854
4208
  # enabled using a security configuration. For more information see [Use
3855
- # Kerberos Authentication][1] in the *EMR Management Guide*.
4209
+ # Kerberos Authentication][1] in the *Amazon EMR Management Guide*.
3856
4210
  #
3857
4211
  #
3858
4212
  #
@@ -3908,7 +4262,7 @@ module Aws::EMR
3908
4262
  include Aws::Structure
3909
4263
  end
3910
4264
 
3911
- # A key value pair.
4265
+ # A key-value pair.
3912
4266
  #
3913
4267
  # @note When making an API call, you may pass KeyValue
3914
4268
  # data as a hash:
@@ -3919,7 +4273,7 @@ module Aws::EMR
3919
4273
  # }
3920
4274
  #
3921
4275
  # @!attribute [rw] key
3922
- # The unique identifier of a key value pair.
4276
+ # The unique identifier of a key-value pair.
3923
4277
  # @return [String]
3924
4278
  #
3925
4279
  # @!attribute [rw] value
@@ -4416,6 +4770,96 @@ module Aws::EMR
4416
4770
  include Aws::Structure
4417
4771
  end
4418
4772
 
4773
+ # @note When making an API call, you may pass ListStudioSessionMappingsInput
4774
+ # data as a hash:
4775
+ #
4776
+ # {
4777
+ # studio_id: "XmlStringMaxLen256",
4778
+ # identity_type: "USER", # accepts USER, GROUP
4779
+ # marker: "Marker",
4780
+ # }
4781
+ #
4782
+ # @!attribute [rw] studio_id
4783
+ # The ID of the Amazon EMR Studio.
4784
+ # @return [String]
4785
+ #
4786
+ # @!attribute [rw] identity_type
4787
+ # Specifies whether to return session mappings for users or groups. If
4788
+ # not specified, the results include session mapping details for both
4789
+ # users and groups.
4790
+ # @return [String]
4791
+ #
4792
+ # @!attribute [rw] marker
4793
+ # The pagination token that indicates the set of results to retrieve.
4794
+ # @return [String]
4795
+ #
4796
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappingsInput AWS API Documentation
4797
+ #
4798
+ class ListStudioSessionMappingsInput < Struct.new(
4799
+ :studio_id,
4800
+ :identity_type,
4801
+ :marker)
4802
+ SENSITIVE = []
4803
+ include Aws::Structure
4804
+ end
4805
+
4806
+ # @!attribute [rw] session_mappings
4807
+ # A list of session mapping summary objects. Each object includes
4808
+ # session mapping details such as creation time, identity type (user
4809
+ # or group), and Studio ID.
4810
+ # @return [Array<Types::SessionMappingSummary>]
4811
+ #
4812
+ # @!attribute [rw] marker
4813
+ # The pagination token that indicates the next set of results to
4814
+ # retrieve.
4815
+ # @return [String]
4816
+ #
4817
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappingsOutput AWS API Documentation
4818
+ #
4819
+ class ListStudioSessionMappingsOutput < Struct.new(
4820
+ :session_mappings,
4821
+ :marker)
4822
+ SENSITIVE = []
4823
+ include Aws::Structure
4824
+ end
4825
+
4826
+ # @note When making an API call, you may pass ListStudiosInput
4827
+ # data as a hash:
4828
+ #
4829
+ # {
4830
+ # marker: "Marker",
4831
+ # }
4832
+ #
4833
+ # @!attribute [rw] marker
4834
+ # The pagination token that indicates the set of results to retrieve.
4835
+ # @return [String]
4836
+ #
4837
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudiosInput AWS API Documentation
4838
+ #
4839
+ class ListStudiosInput < Struct.new(
4840
+ :marker)
4841
+ SENSITIVE = []
4842
+ include Aws::Structure
4843
+ end
4844
+
4845
+ # @!attribute [rw] studios
4846
+ # The list of Studio summary objects.
4847
+ # @return [Array<Types::StudioSummary>]
4848
+ #
4849
+ # @!attribute [rw] marker
4850
+ # The pagination token that indicates the next set of results to
4851
+ # retrieve.
4852
+ # @return [String]
4853
+ #
4854
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudiosOutput AWS API Documentation
4855
+ #
4856
+ class ListStudiosOutput < Struct.new(
4857
+ :studios,
4858
+ :marker)
4859
+ SENSITIVE = []
4860
+ include Aws::Structure
4861
+ end
4862
+
4419
4863
  # Managed scaling policy for an Amazon EMR cluster. The policy specifies
4420
4864
  # the limits for resources that can be added or terminated from a
4421
4865
  # cluster. The policy only applies to the core and task nodes. The
@@ -4691,7 +5135,7 @@ module Aws::EMR
4691
5135
  #
4692
5136
  # @!attribute [rw] tags
4693
5137
  # A list of tags associated with a notebook execution. Tags are
4694
- # user-defined key value pairs that consist of a required key string
5138
+ # user-defined key-value pairs that consist of a required key string
4695
5139
  # with a maximum of 128 characters and an optional value string with a
4696
5140
  # maximum of 256 characters.
4697
5141
  # @return [Array<Types::Tag>]
@@ -4784,12 +5228,12 @@ module Aws::EMR
4784
5228
  include Aws::Structure
4785
5229
  end
4786
5230
 
4787
- # The launch specification for On-Demand instances in the instance
5231
+ # The launch specification for On-Demand Instances in the instance
4788
5232
  # fleet, which determines the allocation strategy.
4789
5233
  #
4790
5234
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
4791
5235
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand
4792
- # instances allocation strategy is available in Amazon EMR version
5236
+ # Instances allocation strategy is available in Amazon EMR version
4793
5237
  # 5.12.1 and later.
4794
5238
  #
4795
5239
  # </note>
@@ -4802,7 +5246,7 @@ module Aws::EMR
4802
5246
  # }
4803
5247
  #
4804
5248
  # @!attribute [rw] allocation_strategy
4805
- # Specifies the strategy to use in launching On-Demand instance
5249
+ # Specifies the strategy to use in launching On-Demand Instance
4806
5250
  # fleets. Currently, the only option is lowest-price (the default),
4807
5251
  # which launches the lowest price first.
4808
5252
  # @return [String]
@@ -5456,9 +5900,9 @@ module Aws::EMR
5456
5900
  #
5457
5901
  # @!attribute [rw] log_encryption_kms_key_id
5458
5902
  # The AWS KMS customer master key (CMK) used for encrypting log files.
5459
- # If a value is not provided, the logs will remain encrypted by
5460
- # AES-256. This attribute is only available with EMR version 5.30.0
5461
- # and later, excluding EMR 6.0.0.
5903
+ # If a value is not provided, the logs remain encrypted by AES-256.
5904
+ # This attribute is only available with Amazon EMR version 5.30.0 and
5905
+ # later, excluding Amazon EMR 6.0.0.
5462
5906
  # @return [String]
5463
5907
  #
5464
5908
  # @!attribute [rw] additional_info
@@ -5616,11 +6060,11 @@ module Aws::EMR
5616
6060
  # the request to terminate the instance was submitted. This option is
5617
6061
  # only available with Amazon EMR 5.1.0 and later and is the default
5618
6062
  # for clusters created using that version.
5619
- # `TERMINATE_AT_TASK_COMPLETION` indicates that Amazon EMR blacklists
5620
- # and drains tasks from nodes before terminating the Amazon EC2
5621
- # instances, regardless of the instance-hour boundary. With either
5622
- # behavior, Amazon EMR removes the least active nodes first and blocks
5623
- # instance termination if it could lead to HDFS corruption.
6063
+ # `TERMINATE_AT_TASK_COMPLETION` indicates that Amazon EMR adds nodes
6064
+ # to a deny list and drains tasks from nodes before terminating the
6065
+ # Amazon EC2 instances, regardless of the instance-hour boundary. With
6066
+ # either behavior, Amazon EMR removes the least active nodes first and
6067
+ # blocks instance termination if it could lead to HDFS corruption.
5624
6068
  # `TERMINATE_AT_TASK_COMPLETION` available only in Amazon EMR version
5625
6069
  # 4.1.0 and later, and is the default for versions of Amazon EMR
5626
6070
  # earlier than 5.1.0.
@@ -5648,9 +6092,9 @@ module Aws::EMR
5648
6092
  # @return [String]
5649
6093
  #
5650
6094
  # @!attribute [rw] ebs_root_volume_size
5651
- # The size, in GiB, of the EBS root device volume of the Linux AMI
5652
- # that is used for each EC2 instance. Available in Amazon EMR version
5653
- # 4.x and later.
6095
+ # The size, in GiB, of the Amazon EBS root device volume of the Linux
6096
+ # AMI that is used for each EC2 instance. Available in Amazon EMR
6097
+ # version 4.x and later.
5654
6098
  # @return [Integer]
5655
6099
  #
5656
6100
  # @!attribute [rw] repo_upgrade_on_boot
@@ -5665,7 +6109,8 @@ module Aws::EMR
5665
6109
  # @!attribute [rw] kerberos_attributes
5666
6110
  # Attributes for Kerberos configuration when Kerberos authentication
5667
6111
  # is enabled using a security configuration. For more information see
5668
- # [Use Kerberos Authentication][1] in the *EMR Management Guide*.
6112
+ # [Use Kerberos Authentication][1] in the *Amazon EMR Management
6113
+ # Guide*.
5669
6114
  #
5670
6115
  #
5671
6116
  #
@@ -5962,6 +6407,110 @@ module Aws::EMR
5962
6407
  include Aws::Structure
5963
6408
  end
5964
6409
 
6410
+ # Details for an Amazon EMR Studio session mapping including creation
6411
+ # time, user or group ID, Studio ID, and so on.
6412
+ #
6413
+ # @!attribute [rw] studio_id
6414
+ # The ID of the Amazon EMR Studio.
6415
+ # @return [String]
6416
+ #
6417
+ # @!attribute [rw] identity_id
6418
+ # The globally unique identifier (GUID) of the user or group.
6419
+ # @return [String]
6420
+ #
6421
+ # @!attribute [rw] identity_name
6422
+ # The name of the user or group. For more information, see
6423
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
6424
+ # API Reference*.
6425
+ #
6426
+ #
6427
+ #
6428
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
6429
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
6430
+ # @return [String]
6431
+ #
6432
+ # @!attribute [rw] identity_type
6433
+ # Specifies whether the identity mapped to the Studio is a user or a
6434
+ # group.
6435
+ # @return [String]
6436
+ #
6437
+ # @!attribute [rw] session_policy_arn
6438
+ # The Amazon Resource Name (ARN) of the session policy associated with
6439
+ # the user or group.
6440
+ # @return [String]
6441
+ #
6442
+ # @!attribute [rw] creation_time
6443
+ # The time the session mapping was created.
6444
+ # @return [Time]
6445
+ #
6446
+ # @!attribute [rw] last_modified_time
6447
+ # The time the session mapping was last modified.
6448
+ # @return [Time]
6449
+ #
6450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SessionMappingDetail AWS API Documentation
6451
+ #
6452
+ class SessionMappingDetail < Struct.new(
6453
+ :studio_id,
6454
+ :identity_id,
6455
+ :identity_name,
6456
+ :identity_type,
6457
+ :session_policy_arn,
6458
+ :creation_time,
6459
+ :last_modified_time)
6460
+ SENSITIVE = []
6461
+ include Aws::Structure
6462
+ end
6463
+
6464
+ # Details for an Amazon EMR Studio session mapping. The details do not
6465
+ # include the time the session mapping was last modified.
6466
+ #
6467
+ # @!attribute [rw] studio_id
6468
+ # The ID of the Amazon EMR Studio.
6469
+ # @return [String]
6470
+ #
6471
+ # @!attribute [rw] identity_id
6472
+ # The globally unique identifier (GUID) of the user or group from the
6473
+ # AWS SSO Identity Store.
6474
+ # @return [String]
6475
+ #
6476
+ # @!attribute [rw] identity_name
6477
+ # The name of the user or group. For more information, see
6478
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
6479
+ # API Reference*.
6480
+ #
6481
+ #
6482
+ #
6483
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
6484
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
6485
+ # @return [String]
6486
+ #
6487
+ # @!attribute [rw] identity_type
6488
+ # Specifies whether the identity mapped to the Studio is a user or a
6489
+ # group.
6490
+ # @return [String]
6491
+ #
6492
+ # @!attribute [rw] session_policy_arn
6493
+ # The Amazon Resource Name (ARN) of the session policy associated with
6494
+ # the user or group.
6495
+ # @return [String]
6496
+ #
6497
+ # @!attribute [rw] creation_time
6498
+ # The time the session mapping was created.
6499
+ # @return [Time]
6500
+ #
6501
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SessionMappingSummary AWS API Documentation
6502
+ #
6503
+ class SessionMappingSummary < Struct.new(
6504
+ :studio_id,
6505
+ :identity_id,
6506
+ :identity_name,
6507
+ :identity_type,
6508
+ :session_policy_arn,
6509
+ :creation_time)
6510
+ SENSITIVE = []
6511
+ include Aws::Structure
6512
+ end
6513
+
5965
6514
  # The input argument to the TerminationProtection operation.
5966
6515
  #
5967
6516
  # @note When making an API call, you may pass SetTerminationProtectionInput
@@ -6114,12 +6663,12 @@ module Aws::EMR
6114
6663
  include Aws::Structure
6115
6664
  end
6116
6665
 
6117
- # The launch specification for Spot instances in the instance fleet,
6666
+ # The launch specification for Spot Instances in the instance fleet,
6118
6667
  # which determines the defined duration, provisioning timeout behavior,
6119
6668
  # and allocation strategy.
6120
6669
  #
6121
6670
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
6122
- # versions 4.8.0 and later, excluding 5.0.x versions. Spot instance
6671
+ # versions 4.8.0 and later, excluding 5.0.x versions. Spot Instance
6123
6672
  # allocation strategy is available in Amazon EMR version 5.12.1 and
6124
6673
  # later.
6125
6674
  #
@@ -6136,7 +6685,7 @@ module Aws::EMR
6136
6685
  # }
6137
6686
  #
6138
6687
  # @!attribute [rw] timeout_duration_minutes
6139
- # The spot provisioning timeout period in minutes. If Spot instances
6688
+ # The spot provisioning timeout period in minutes. If Spot Instances
6140
6689
  # are not provisioned within this time period, the `TimeOutAction` is
6141
6690
  # taken. Minimum value is 5 and maximum value is 1440. The timeout
6142
6691
  # applies only during initial provisioning, when the cluster is first
@@ -6146,29 +6695,29 @@ module Aws::EMR
6146
6695
  # @!attribute [rw] timeout_action
6147
6696
  # The action to take when `TargetSpotCapacity` has not been fulfilled
6148
6697
  # when the `TimeoutDurationMinutes` has expired; that is, when all
6149
- # Spot instances could not be provisioned within the Spot provisioning
6698
+ # Spot Instances could not be provisioned within the Spot provisioning
6150
6699
  # timeout. Valid values are `TERMINATE_CLUSTER` and
6151
6700
  # `SWITCH_TO_ON_DEMAND`. SWITCH\_TO\_ON\_DEMAND specifies that if no
6152
- # Spot instances are available, On-Demand Instances should be
6701
+ # Spot Instances are available, On-Demand Instances should be
6153
6702
  # provisioned to fulfill any remaining Spot capacity.
6154
6703
  # @return [String]
6155
6704
  #
6156
6705
  # @!attribute [rw] block_duration_minutes
6157
- # The defined duration for Spot instances (also known as Spot blocks)
6158
- # in minutes. When specified, the Spot instance does not terminate
6706
+ # The defined duration for Spot Instances (also known as Spot blocks)
6707
+ # in minutes. When specified, the Spot Instance does not terminate
6159
6708
  # before the defined duration expires, and defined duration pricing
6160
6709
  # for Spot instances applies. Valid values are 60, 120, 180, 240, 300,
6161
- # or 360. The duration period starts as soon as a Spot instance
6710
+ # or 360. The duration period starts as soon as a Spot Instance
6162
6711
  # receives its instance ID. At the end of the duration, Amazon EC2
6163
- # marks the Spot instance for termination and provides a Spot instance
6712
+ # marks the Spot Instance for termination and provides a Spot Instance
6164
6713
  # termination notice, which gives the instance a two-minute warning
6165
6714
  # before it terminates.
6166
6715
  # @return [Integer]
6167
6716
  #
6168
6717
  # @!attribute [rw] allocation_strategy
6169
- # Specifies the strategy to use in launching Spot instance fleets.
6718
+ # Specifies the strategy to use in launching Spot Instance fleets.
6170
6719
  # Currently, the only option is capacity-optimized (the default),
6171
- # which launches instances from Spot instance pools with optimal
6720
+ # which launches instances from Spot Instance pools with optimal
6172
6721
  # capacity for the number of instances that are launching.
6173
6722
  # @return [String]
6174
6723
  #
@@ -6249,7 +6798,7 @@ module Aws::EMR
6249
6798
  #
6250
6799
  # @!attribute [rw] tags
6251
6800
  # A list of tags associated with a notebook execution. Tags are
6252
- # user-defined key value pairs that consist of a required key string
6801
+ # user-defined key-value pairs that consist of a required key string
6253
6802
  # with a maximum of 128 characters and an optional value string with a
6254
6803
  # maximum of 256 characters.
6255
6804
  # @return [Array<Types::Tag>]
@@ -6548,6 +7097,142 @@ module Aws::EMR
6548
7097
  include Aws::Structure
6549
7098
  end
6550
7099
 
7100
+ # Details for an Amazon EMR Studio including ID, creation time, name,
7101
+ # and so on.
7102
+ #
7103
+ # @!attribute [rw] studio_id
7104
+ # The ID of the EMR Studio.
7105
+ # @return [String]
7106
+ #
7107
+ # @!attribute [rw] studio_arn
7108
+ # The Amazon Resource Name (ARN) of the EMR Studio.
7109
+ # @return [String]
7110
+ #
7111
+ # @!attribute [rw] name
7112
+ # The name of the EMR Studio.
7113
+ # @return [String]
7114
+ #
7115
+ # @!attribute [rw] description
7116
+ # The detailed description of the EMR Studio.
7117
+ # @return [String]
7118
+ #
7119
+ # @!attribute [rw] auth_mode
7120
+ # Specifies whether the Studio authenticates users using single
7121
+ # sign-on (SSO) or IAM.
7122
+ # @return [String]
7123
+ #
7124
+ # @!attribute [rw] vpc_id
7125
+ # The ID of the VPC associated with the EMR Studio.
7126
+ # @return [String]
7127
+ #
7128
+ # @!attribute [rw] subnet_ids
7129
+ # The list of IDs of the subnets associated with the Amazon EMR
7130
+ # Studio.
7131
+ # @return [Array<String>]
7132
+ #
7133
+ # @!attribute [rw] service_role
7134
+ # The name of the IAM role assumed by the Amazon EMR Studio.
7135
+ # @return [String]
7136
+ #
7137
+ # @!attribute [rw] user_role
7138
+ # The name of the IAM role assumed by users logged in to the Amazon
7139
+ # EMR Studio.
7140
+ # @return [String]
7141
+ #
7142
+ # @!attribute [rw] workspace_security_group_id
7143
+ # The ID of the Workspace security group associated with the Amazon
7144
+ # EMR Studio. The Workspace security group allows outbound network
7145
+ # traffic to resources in the Engine security group and to the
7146
+ # internet.
7147
+ # @return [String]
7148
+ #
7149
+ # @!attribute [rw] engine_security_group_id
7150
+ # The ID of the Engine security group associated with the Amazon EMR
7151
+ # Studio. The Engine security group allows inbound network traffic
7152
+ # from resources in the Workspace security group.
7153
+ # @return [String]
7154
+ #
7155
+ # @!attribute [rw] url
7156
+ # The unique access URL of the Amazon EMR Studio.
7157
+ # @return [String]
7158
+ #
7159
+ # @!attribute [rw] creation_time
7160
+ # The time the Amazon EMR Studio was created.
7161
+ # @return [Time]
7162
+ #
7163
+ # @!attribute [rw] default_s3_location
7164
+ # The default Amazon S3 location to back up Amazon EMR Studio
7165
+ # Workspaces and notebook files.
7166
+ # @return [String]
7167
+ #
7168
+ # @!attribute [rw] tags
7169
+ # A list of tags associated with the Amazon EMR Studio.
7170
+ # @return [Array<Types::Tag>]
7171
+ #
7172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Studio AWS API Documentation
7173
+ #
7174
+ class Studio < Struct.new(
7175
+ :studio_id,
7176
+ :studio_arn,
7177
+ :name,
7178
+ :description,
7179
+ :auth_mode,
7180
+ :vpc_id,
7181
+ :subnet_ids,
7182
+ :service_role,
7183
+ :user_role,
7184
+ :workspace_security_group_id,
7185
+ :engine_security_group_id,
7186
+ :url,
7187
+ :creation_time,
7188
+ :default_s3_location,
7189
+ :tags)
7190
+ SENSITIVE = []
7191
+ include Aws::Structure
7192
+ end
7193
+
7194
+ # Details for an Amazon EMR Studio, including ID, Name, VPC, and
7195
+ # Description. The details do not include subnets, IAM roles, security
7196
+ # groups, or tags associated with the Studio.
7197
+ #
7198
+ # @!attribute [rw] studio_id
7199
+ # The ID of the Amazon EMR Studio.
7200
+ # @return [String]
7201
+ #
7202
+ # @!attribute [rw] name
7203
+ # The name of the Amazon EMR Studio.
7204
+ # @return [String]
7205
+ #
7206
+ # @!attribute [rw] vpc_id
7207
+ # The ID of the Virtual Private Cloud (Amazon VPC) associated with the
7208
+ # Amazon EMR Studio.
7209
+ # @return [String]
7210
+ #
7211
+ # @!attribute [rw] description
7212
+ # The detailed description of the EMR Studio.
7213
+ # @return [String]
7214
+ #
7215
+ # @!attribute [rw] url
7216
+ # The unique access URL of the Amazon EMR Studio.
7217
+ # @return [String]
7218
+ #
7219
+ # @!attribute [rw] creation_time
7220
+ # The time when the Amazon EMR Studio was created.
7221
+ # @return [Time]
7222
+ #
7223
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StudioSummary AWS API Documentation
7224
+ #
7225
+ class StudioSummary < Struct.new(
7226
+ :studio_id,
7227
+ :name,
7228
+ :vpc_id,
7229
+ :description,
7230
+ :url,
7231
+ :creation_time)
7232
+ SENSITIVE = []
7233
+ include Aws::Structure
7234
+ end
7235
+
6551
7236
  # The list of supported product configurations which allow user-supplied
6552
7237
  # arguments. EMR accepts these arguments and forwards them to the
6553
7238
  # corresponding installation script as bootstrap action arguments.
@@ -6577,7 +7262,7 @@ module Aws::EMR
6577
7262
  include Aws::Structure
6578
7263
  end
6579
7264
 
6580
- # A key/value pair containing user-defined metadata that you can
7265
+ # A key-value pair containing user-defined metadata that you can
6581
7266
  # associate with an Amazon EMR resource. Tags make it easier to
6582
7267
  # associate clusters in various ways, such as grouping clusters to track
6583
7268
  # your Amazon EMR resource allocation costs. For more information, see
@@ -6632,7 +7317,7 @@ module Aws::EMR
6632
7317
  # }
6633
7318
  #
6634
7319
  # @!attribute [rw] job_flow_ids
6635
- # A list of job flows to be shutdown.
7320
+ # A list of job flows to be shut down.
6636
7321
  # @return [Array<String>]
6637
7322
  #
6638
7323
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlowsInput AWS API Documentation
@@ -6643,6 +7328,66 @@ module Aws::EMR
6643
7328
  include Aws::Structure
6644
7329
  end
6645
7330
 
7331
+ # @note When making an API call, you may pass UpdateStudioSessionMappingInput
7332
+ # data as a hash:
7333
+ #
7334
+ # {
7335
+ # studio_id: "XmlStringMaxLen256", # required
7336
+ # identity_id: "XmlStringMaxLen256",
7337
+ # identity_name: "XmlStringMaxLen256",
7338
+ # identity_type: "USER", # required, accepts USER, GROUP
7339
+ # session_policy_arn: "XmlStringMaxLen256", # required
7340
+ # }
7341
+ #
7342
+ # @!attribute [rw] studio_id
7343
+ # The ID of the EMR Studio.
7344
+ # @return [String]
7345
+ #
7346
+ # @!attribute [rw] identity_id
7347
+ # The globally unique identifier (GUID) of the user or group. For more
7348
+ # information, see [UserId][1] and [GroupId][2] in the *AWS SSO
7349
+ # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
7350
+ # must be specified.
7351
+ #
7352
+ #
7353
+ #
7354
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
7355
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
7356
+ # @return [String]
7357
+ #
7358
+ # @!attribute [rw] identity_name
7359
+ # The name of the user or group to update. For more information, see
7360
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
7361
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
7362
+ # specified.
7363
+ #
7364
+ #
7365
+ #
7366
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
7367
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
7368
+ # @return [String]
7369
+ #
7370
+ # @!attribute [rw] identity_type
7371
+ # Specifies whether the identity to update is a user or a group.
7372
+ # @return [String]
7373
+ #
7374
+ # @!attribute [rw] session_policy_arn
7375
+ # The Amazon Resource Name (ARN) of the session policy to associate
7376
+ # with the specified user or group.
7377
+ # @return [String]
7378
+ #
7379
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioSessionMappingInput AWS API Documentation
7380
+ #
7381
+ class UpdateStudioSessionMappingInput < Struct.new(
7382
+ :studio_id,
7383
+ :identity_id,
7384
+ :identity_name,
7385
+ :identity_type,
7386
+ :session_policy_arn)
7387
+ SENSITIVE = []
7388
+ include Aws::Structure
7389
+ end
7390
+
6646
7391
  # EBS volume specifications such as volume type, IOPS, and size (GiB)
6647
7392
  # that will be requested for the EBS volume attached to an EC2 instance
6648
7393
  # in the cluster.