aws-sdk-emr 1.39.0 → 1.40.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -26,6 +26,7 @@ module Aws::EMR
26
26
  Application = Shapes::StructureShape.new(name: 'Application')
27
27
  ApplicationList = Shapes::ListShape.new(name: 'ApplicationList')
28
28
  ArnType = Shapes::StringShape.new(name: 'ArnType')
29
+ AuthMode = Shapes::StringShape.new(name: 'AuthMode')
29
30
  AutoScalingPolicy = Shapes::StructureShape.new(name: 'AutoScalingPolicy')
30
31
  AutoScalingPolicyDescription = Shapes::StructureShape.new(name: 'AutoScalingPolicyDescription')
31
32
  AutoScalingPolicyState = Shapes::StringShape.new(name: 'AutoScalingPolicyState')
@@ -65,9 +66,14 @@ module Aws::EMR
65
66
  ConfigurationList = Shapes::ListShape.new(name: 'ConfigurationList')
66
67
  CreateSecurityConfigurationInput = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationInput')
67
68
  CreateSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationOutput')
69
+ CreateStudioInput = Shapes::StructureShape.new(name: 'CreateStudioInput')
70
+ CreateStudioOutput = Shapes::StructureShape.new(name: 'CreateStudioOutput')
71
+ CreateStudioSessionMappingInput = Shapes::StructureShape.new(name: 'CreateStudioSessionMappingInput')
68
72
  Date = Shapes::TimestampShape.new(name: 'Date')
69
73
  DeleteSecurityConfigurationInput = Shapes::StructureShape.new(name: 'DeleteSecurityConfigurationInput')
70
74
  DeleteSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'DeleteSecurityConfigurationOutput')
75
+ DeleteStudioInput = Shapes::StructureShape.new(name: 'DeleteStudioInput')
76
+ DeleteStudioSessionMappingInput = Shapes::StructureShape.new(name: 'DeleteStudioSessionMappingInput')
71
77
  DescribeClusterInput = Shapes::StructureShape.new(name: 'DescribeClusterInput')
72
78
  DescribeClusterOutput = Shapes::StructureShape.new(name: 'DescribeClusterOutput')
73
79
  DescribeJobFlowsInput = Shapes::StructureShape.new(name: 'DescribeJobFlowsInput')
@@ -78,6 +84,8 @@ module Aws::EMR
78
84
  DescribeSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'DescribeSecurityConfigurationOutput')
79
85
  DescribeStepInput = Shapes::StructureShape.new(name: 'DescribeStepInput')
80
86
  DescribeStepOutput = Shapes::StructureShape.new(name: 'DescribeStepOutput')
87
+ DescribeStudioInput = Shapes::StructureShape.new(name: 'DescribeStudioInput')
88
+ DescribeStudioOutput = Shapes::StructureShape.new(name: 'DescribeStudioOutput')
81
89
  EC2InstanceIdsList = Shapes::ListShape.new(name: 'EC2InstanceIdsList')
82
90
  EC2InstanceIdsToTerminateList = Shapes::ListShape.new(name: 'EC2InstanceIdsToTerminateList')
83
91
  EbsBlockDevice = Shapes::StructureShape.new(name: 'EbsBlockDevice')
@@ -97,8 +105,11 @@ module Aws::EMR
97
105
  GetBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationOutput')
98
106
  GetManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyInput')
99
107
  GetManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyOutput')
108
+ GetStudioSessionMappingInput = Shapes::StructureShape.new(name: 'GetStudioSessionMappingInput')
109
+ GetStudioSessionMappingOutput = Shapes::StructureShape.new(name: 'GetStudioSessionMappingOutput')
100
110
  HadoopJarStepConfig = Shapes::StructureShape.new(name: 'HadoopJarStepConfig')
101
111
  HadoopStepConfig = Shapes::StructureShape.new(name: 'HadoopStepConfig')
112
+ IdentityType = Shapes::StringShape.new(name: 'IdentityType')
102
113
  Instance = Shapes::StructureShape.new(name: 'Instance')
103
114
  InstanceCollectionType = Shapes::StringShape.new(name: 'InstanceCollectionType')
104
115
  InstanceFleet = Shapes::StructureShape.new(name: 'InstanceFleet')
@@ -176,6 +187,10 @@ module Aws::EMR
176
187
  ListSecurityConfigurationsOutput = Shapes::StructureShape.new(name: 'ListSecurityConfigurationsOutput')
177
188
  ListStepsInput = Shapes::StructureShape.new(name: 'ListStepsInput')
178
189
  ListStepsOutput = Shapes::StructureShape.new(name: 'ListStepsOutput')
190
+ ListStudioSessionMappingsInput = Shapes::StructureShape.new(name: 'ListStudioSessionMappingsInput')
191
+ ListStudioSessionMappingsOutput = Shapes::StructureShape.new(name: 'ListStudioSessionMappingsOutput')
192
+ ListStudiosInput = Shapes::StructureShape.new(name: 'ListStudiosInput')
193
+ ListStudiosOutput = Shapes::StructureShape.new(name: 'ListStudiosOutput')
179
194
  Long = Shapes::IntegerShape.new(name: 'Long')
180
195
  ManagedScalingPolicy = Shapes::StructureShape.new(name: 'ManagedScalingPolicy')
181
196
  Marker = Shapes::StringShape.new(name: 'Marker')
@@ -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.