aws-sdk-emr 1.37.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -26,6 +26,7 @@ module Aws::EMR
26
26
  Application = Shapes::StructureShape.new(name: 'Application')
27
27
  ApplicationList = Shapes::ListShape.new(name: 'ApplicationList')
28
28
  ArnType = Shapes::StringShape.new(name: 'ArnType')
29
+ AuthMode = Shapes::StringShape.new(name: 'AuthMode')
29
30
  AutoScalingPolicy = Shapes::StructureShape.new(name: 'AutoScalingPolicy')
30
31
  AutoScalingPolicyDescription = Shapes::StructureShape.new(name: 'AutoScalingPolicyDescription')
31
32
  AutoScalingPolicyState = Shapes::StringShape.new(name: 'AutoScalingPolicyState')
@@ -65,9 +66,14 @@ module Aws::EMR
65
66
  ConfigurationList = Shapes::ListShape.new(name: 'ConfigurationList')
66
67
  CreateSecurityConfigurationInput = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationInput')
67
68
  CreateSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'CreateSecurityConfigurationOutput')
69
+ CreateStudioInput = Shapes::StructureShape.new(name: 'CreateStudioInput')
70
+ CreateStudioOutput = Shapes::StructureShape.new(name: 'CreateStudioOutput')
71
+ CreateStudioSessionMappingInput = Shapes::StructureShape.new(name: 'CreateStudioSessionMappingInput')
68
72
  Date = Shapes::TimestampShape.new(name: 'Date')
69
73
  DeleteSecurityConfigurationInput = Shapes::StructureShape.new(name: 'DeleteSecurityConfigurationInput')
70
74
  DeleteSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'DeleteSecurityConfigurationOutput')
75
+ DeleteStudioInput = Shapes::StructureShape.new(name: 'DeleteStudioInput')
76
+ DeleteStudioSessionMappingInput = Shapes::StructureShape.new(name: 'DeleteStudioSessionMappingInput')
71
77
  DescribeClusterInput = Shapes::StructureShape.new(name: 'DescribeClusterInput')
72
78
  DescribeClusterOutput = Shapes::StructureShape.new(name: 'DescribeClusterOutput')
73
79
  DescribeJobFlowsInput = Shapes::StructureShape.new(name: 'DescribeJobFlowsInput')
@@ -78,6 +84,8 @@ module Aws::EMR
78
84
  DescribeSecurityConfigurationOutput = Shapes::StructureShape.new(name: 'DescribeSecurityConfigurationOutput')
79
85
  DescribeStepInput = Shapes::StructureShape.new(name: 'DescribeStepInput')
80
86
  DescribeStepOutput = Shapes::StructureShape.new(name: 'DescribeStepOutput')
87
+ DescribeStudioInput = Shapes::StructureShape.new(name: 'DescribeStudioInput')
88
+ DescribeStudioOutput = Shapes::StructureShape.new(name: 'DescribeStudioOutput')
81
89
  EC2InstanceIdsList = Shapes::ListShape.new(name: 'EC2InstanceIdsList')
82
90
  EC2InstanceIdsToTerminateList = Shapes::ListShape.new(name: 'EC2InstanceIdsToTerminateList')
83
91
  EbsBlockDevice = Shapes::StructureShape.new(name: 'EbsBlockDevice')
@@ -97,8 +105,11 @@ module Aws::EMR
97
105
  GetBlockPublicAccessConfigurationOutput = Shapes::StructureShape.new(name: 'GetBlockPublicAccessConfigurationOutput')
98
106
  GetManagedScalingPolicyInput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyInput')
99
107
  GetManagedScalingPolicyOutput = Shapes::StructureShape.new(name: 'GetManagedScalingPolicyOutput')
108
+ GetStudioSessionMappingInput = Shapes::StructureShape.new(name: 'GetStudioSessionMappingInput')
109
+ GetStudioSessionMappingOutput = Shapes::StructureShape.new(name: 'GetStudioSessionMappingOutput')
100
110
  HadoopJarStepConfig = Shapes::StructureShape.new(name: 'HadoopJarStepConfig')
101
111
  HadoopStepConfig = Shapes::StructureShape.new(name: 'HadoopStepConfig')
112
+ IdentityType = Shapes::StringShape.new(name: 'IdentityType')
102
113
  Instance = Shapes::StructureShape.new(name: 'Instance')
103
114
  InstanceCollectionType = Shapes::StringShape.new(name: 'InstanceCollectionType')
104
115
  InstanceFleet = Shapes::StructureShape.new(name: 'InstanceFleet')
@@ -176,6 +187,10 @@ module Aws::EMR
176
187
  ListSecurityConfigurationsOutput = Shapes::StructureShape.new(name: 'ListSecurityConfigurationsOutput')
177
188
  ListStepsInput = Shapes::StructureShape.new(name: 'ListStepsInput')
178
189
  ListStepsOutput = Shapes::StructureShape.new(name: 'ListStepsOutput')
190
+ ListStudioSessionMappingsInput = Shapes::StructureShape.new(name: 'ListStudioSessionMappingsInput')
191
+ ListStudioSessionMappingsOutput = Shapes::StructureShape.new(name: 'ListStudioSessionMappingsOutput')
192
+ ListStudiosInput = Shapes::StructureShape.new(name: 'ListStudiosInput')
193
+ ListStudiosOutput = Shapes::StructureShape.new(name: 'ListStudiosOutput')
179
194
  Long = Shapes::IntegerShape.new(name: 'Long')
180
195
  ManagedScalingPolicy = Shapes::StructureShape.new(name: 'ManagedScalingPolicy')
181
196
  Marker = Shapes::StringShape.new(name: 'Marker')
@@ -195,6 +210,9 @@ module Aws::EMR
195
210
  OnDemandProvisioningAllocationStrategy = Shapes::StringShape.new(name: 'OnDemandProvisioningAllocationStrategy')
196
211
  OnDemandProvisioningSpecification = Shapes::StructureShape.new(name: 'OnDemandProvisioningSpecification')
197
212
  OptionalArnType = Shapes::StringShape.new(name: 'OptionalArnType')
213
+ PlacementGroupConfig = Shapes::StructureShape.new(name: 'PlacementGroupConfig')
214
+ PlacementGroupConfigList = Shapes::ListShape.new(name: 'PlacementGroupConfigList')
215
+ PlacementGroupStrategy = Shapes::StringShape.new(name: 'PlacementGroupStrategy')
198
216
  PlacementType = Shapes::StructureShape.new(name: 'PlacementType')
199
217
  Port = Shapes::IntegerShape.new(name: 'Port')
200
218
  PortRange = Shapes::StructureShape.new(name: 'PortRange')
@@ -225,6 +243,9 @@ module Aws::EMR
225
243
  SecurityConfigurationList = Shapes::ListShape.new(name: 'SecurityConfigurationList')
226
244
  SecurityConfigurationSummary = Shapes::StructureShape.new(name: 'SecurityConfigurationSummary')
227
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')
228
249
  SetTerminationProtectionInput = Shapes::StructureShape.new(name: 'SetTerminationProtectionInput')
229
250
  SetVisibleToAllUsersInput = Shapes::StructureShape.new(name: 'SetVisibleToAllUsersInput')
230
251
  ShrinkPolicy = Shapes::StructureShape.new(name: 'ShrinkPolicy')
@@ -257,12 +278,18 @@ module Aws::EMR
257
278
  String = Shapes::StringShape.new(name: 'String')
258
279
  StringList = Shapes::ListShape.new(name: 'StringList')
259
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')
260
285
  SupportedProductConfig = Shapes::StructureShape.new(name: 'SupportedProductConfig')
261
286
  SupportedProductsList = Shapes::ListShape.new(name: 'SupportedProductsList')
262
287
  Tag = Shapes::StructureShape.new(name: 'Tag')
263
288
  TagList = Shapes::ListShape.new(name: 'TagList')
264
289
  TerminateJobFlowsInput = Shapes::StructureShape.new(name: 'TerminateJobFlowsInput')
265
290
  Unit = Shapes::StringShape.new(name: 'Unit')
291
+ UpdateStudioInput = Shapes::StructureShape.new(name: 'UpdateStudioInput')
292
+ UpdateStudioSessionMappingInput = Shapes::StructureShape.new(name: 'UpdateStudioSessionMappingInput')
266
293
  VolumeSpecification = Shapes::StructureShape.new(name: 'VolumeSpecification')
267
294
  WholeNumber = Shapes::IntegerShape.new(name: 'WholeNumber')
268
295
  XmlString = Shapes::StringShape.new(name: 'XmlString')
@@ -400,6 +427,7 @@ module Aws::EMR
400
427
  Cluster.add_member(:cluster_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "ClusterArn"))
401
428
  Cluster.add_member(:outpost_arn, Shapes::ShapeRef.new(shape: OptionalArnType, location_name: "OutpostArn"))
402
429
  Cluster.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
430
+ Cluster.add_member(:placement_groups, Shapes::ShapeRef.new(shape: PlacementGroupConfigList, location_name: "PlacementGroups"))
403
431
  Cluster.struct_class = Types::Cluster
404
432
 
405
433
  ClusterStateChangeReason.add_member(:code, Shapes::ShapeRef.new(shape: ClusterStateChangeReasonCode, location_name: "Code"))
@@ -457,11 +485,44 @@ module Aws::EMR
457
485
  CreateSecurityConfigurationOutput.add_member(:creation_date_time, Shapes::ShapeRef.new(shape: Date, required: true, location_name: "CreationDateTime"))
458
486
  CreateSecurityConfigurationOutput.struct_class = Types::CreateSecurityConfigurationOutput
459
487
 
488
+ CreateStudioInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "Name"))
489
+ CreateStudioInput.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
490
+ CreateStudioInput.add_member(:auth_mode, Shapes::ShapeRef.new(shape: AuthMode, required: true, location_name: "AuthMode"))
491
+ CreateStudioInput.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "VpcId"))
492
+ CreateStudioInput.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, required: true, location_name: "SubnetIds"))
493
+ CreateStudioInput.add_member(:service_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "ServiceRole"))
494
+ CreateStudioInput.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "UserRole"))
495
+ CreateStudioInput.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "WorkspaceSecurityGroupId"))
496
+ CreateStudioInput.add_member(:engine_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "EngineSecurityGroupId"))
497
+ CreateStudioInput.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "DefaultS3Location"))
498
+ CreateStudioInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
499
+ CreateStudioInput.struct_class = Types::CreateStudioInput
500
+
501
+ CreateStudioOutput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
502
+ CreateStudioOutput.add_member(:url, Shapes::ShapeRef.new(shape: XmlString, location_name: "Url"))
503
+ CreateStudioOutput.struct_class = Types::CreateStudioOutput
504
+
505
+ CreateStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
506
+ CreateStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
507
+ CreateStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
508
+ CreateStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
509
+ CreateStudioSessionMappingInput.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "SessionPolicyArn"))
510
+ CreateStudioSessionMappingInput.struct_class = Types::CreateStudioSessionMappingInput
511
+
460
512
  DeleteSecurityConfigurationInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Name"))
461
513
  DeleteSecurityConfigurationInput.struct_class = Types::DeleteSecurityConfigurationInput
462
514
 
463
515
  DeleteSecurityConfigurationOutput.struct_class = Types::DeleteSecurityConfigurationOutput
464
516
 
517
+ DeleteStudioInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
518
+ DeleteStudioInput.struct_class = Types::DeleteStudioInput
519
+
520
+ DeleteStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
521
+ DeleteStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
522
+ DeleteStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
523
+ DeleteStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
524
+ DeleteStudioSessionMappingInput.struct_class = Types::DeleteStudioSessionMappingInput
525
+
465
526
  DescribeClusterInput.add_member(:cluster_id, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "ClusterId"))
466
527
  DescribeClusterInput.struct_class = Types::DescribeClusterInput
467
528
 
@@ -498,6 +559,12 @@ module Aws::EMR
498
559
  DescribeStepOutput.add_member(:step, Shapes::ShapeRef.new(shape: Step, location_name: "Step"))
499
560
  DescribeStepOutput.struct_class = Types::DescribeStepOutput
500
561
 
562
+ DescribeStudioInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
563
+ DescribeStudioInput.struct_class = Types::DescribeStudioInput
564
+
565
+ DescribeStudioOutput.add_member(:studio, Shapes::ShapeRef.new(shape: Studio, location_name: "Studio"))
566
+ DescribeStudioOutput.struct_class = Types::DescribeStudioOutput
567
+
501
568
  EC2InstanceIdsList.member = Shapes::ShapeRef.new(shape: InstanceId)
502
569
 
503
570
  EC2InstanceIdsToTerminateList.member = Shapes::ShapeRef.new(shape: InstanceId)
@@ -559,6 +626,15 @@ module Aws::EMR
559
626
  GetManagedScalingPolicyOutput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
560
627
  GetManagedScalingPolicyOutput.struct_class = Types::GetManagedScalingPolicyOutput
561
628
 
629
+ GetStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
630
+ GetStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
631
+ GetStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
632
+ GetStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
633
+ GetStudioSessionMappingInput.struct_class = Types::GetStudioSessionMappingInput
634
+
635
+ GetStudioSessionMappingOutput.add_member(:session_mapping, Shapes::ShapeRef.new(shape: SessionMappingDetail, location_name: "SessionMapping"))
636
+ GetStudioSessionMappingOutput.struct_class = Types::GetStudioSessionMappingOutput
637
+
562
638
  HadoopJarStepConfig.add_member(:properties, Shapes::ShapeRef.new(shape: KeyValueList, location_name: "Properties"))
563
639
  HadoopJarStepConfig.add_member(:jar, Shapes::ShapeRef.new(shape: XmlString, required: true, location_name: "Jar"))
564
640
  HadoopJarStepConfig.add_member(:main_class, Shapes::ShapeRef.new(shape: XmlString, location_name: "MainClass"))
@@ -915,6 +991,22 @@ module Aws::EMR
915
991
  ListStepsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
916
992
  ListStepsOutput.struct_class = Types::ListStepsOutput
917
993
 
994
+ ListStudioSessionMappingsInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
995
+ ListStudioSessionMappingsInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
996
+ ListStudioSessionMappingsInput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
997
+ ListStudioSessionMappingsInput.struct_class = Types::ListStudioSessionMappingsInput
998
+
999
+ ListStudioSessionMappingsOutput.add_member(:session_mappings, Shapes::ShapeRef.new(shape: SessionMappingSummaryList, location_name: "SessionMappings"))
1000
+ ListStudioSessionMappingsOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1001
+ ListStudioSessionMappingsOutput.struct_class = Types::ListStudioSessionMappingsOutput
1002
+
1003
+ ListStudiosInput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1004
+ ListStudiosInput.struct_class = Types::ListStudiosInput
1005
+
1006
+ ListStudiosOutput.add_member(:studios, Shapes::ShapeRef.new(shape: StudioSummaryList, location_name: "Studios"))
1007
+ ListStudiosOutput.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location_name: "Marker"))
1008
+ ListStudiosOutput.struct_class = Types::ListStudiosOutput
1009
+
918
1010
  ManagedScalingPolicy.add_member(:compute_limits, Shapes::ShapeRef.new(shape: ComputeLimits, location_name: "ComputeLimits"))
919
1011
  ManagedScalingPolicy.struct_class = Types::ManagedScalingPolicy
920
1012
 
@@ -969,6 +1061,12 @@ module Aws::EMR
969
1061
  OnDemandProvisioningSpecification.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: OnDemandProvisioningAllocationStrategy, required: true, location_name: "AllocationStrategy"))
970
1062
  OnDemandProvisioningSpecification.struct_class = Types::OnDemandProvisioningSpecification
971
1063
 
1064
+ PlacementGroupConfig.add_member(:instance_role, Shapes::ShapeRef.new(shape: InstanceRoleType, required: true, location_name: "InstanceRole"))
1065
+ PlacementGroupConfig.add_member(:placement_strategy, Shapes::ShapeRef.new(shape: PlacementGroupStrategy, location_name: "PlacementStrategy"))
1066
+ PlacementGroupConfig.struct_class = Types::PlacementGroupConfig
1067
+
1068
+ PlacementGroupConfigList.member = Shapes::ShapeRef.new(shape: PlacementGroupConfig)
1069
+
972
1070
  PlacementType.add_member(:availability_zone, Shapes::ShapeRef.new(shape: XmlString, location_name: "AvailabilityZone"))
973
1071
  PlacementType.add_member(:availability_zones, Shapes::ShapeRef.new(shape: XmlStringMaxLen256List, location_name: "AvailabilityZones"))
974
1072
  PlacementType.struct_class = Types::PlacementType
@@ -1044,6 +1142,7 @@ module Aws::EMR
1044
1142
  RunJobFlowInput.add_member(:kerberos_attributes, Shapes::ShapeRef.new(shape: KerberosAttributes, location_name: "KerberosAttributes"))
1045
1143
  RunJobFlowInput.add_member(:step_concurrency_level, Shapes::ShapeRef.new(shape: Integer, location_name: "StepConcurrencyLevel"))
1046
1144
  RunJobFlowInput.add_member(:managed_scaling_policy, Shapes::ShapeRef.new(shape: ManagedScalingPolicy, location_name: "ManagedScalingPolicy"))
1145
+ RunJobFlowInput.add_member(:placement_group_configs, Shapes::ShapeRef.new(shape: PlacementGroupConfigList, location_name: "PlacementGroupConfigs"))
1047
1146
  RunJobFlowInput.struct_class = Types::RunJobFlowInput
1048
1147
 
1049
1148
  RunJobFlowOutput.add_member(:job_flow_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "JobFlowId"))
@@ -1081,6 +1180,25 @@ module Aws::EMR
1081
1180
 
1082
1181
  SecurityGroupsList.member = Shapes::ShapeRef.new(shape: XmlStringMaxLen256)
1083
1182
 
1183
+ SessionMappingDetail.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1184
+ SessionMappingDetail.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1185
+ SessionMappingDetail.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1186
+ SessionMappingDetail.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
1187
+ SessionMappingDetail.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "SessionPolicyArn"))
1188
+ SessionMappingDetail.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1189
+ SessionMappingDetail.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: Date, location_name: "LastModifiedTime"))
1190
+ SessionMappingDetail.struct_class = Types::SessionMappingDetail
1191
+
1192
+ SessionMappingSummary.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1193
+ SessionMappingSummary.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1194
+ SessionMappingSummary.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1195
+ SessionMappingSummary.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, location_name: "IdentityType"))
1196
+ SessionMappingSummary.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "SessionPolicyArn"))
1197
+ SessionMappingSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1198
+ SessionMappingSummary.struct_class = Types::SessionMappingSummary
1199
+
1200
+ SessionMappingSummaryList.member = Shapes::ShapeRef.new(shape: SessionMappingSummary)
1201
+
1084
1202
  SetTerminationProtectionInput.add_member(:job_flow_ids, Shapes::ShapeRef.new(shape: XmlStringList, required: true, location_name: "JobFlowIds"))
1085
1203
  SetTerminationProtectionInput.add_member(:termination_protected, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "TerminationProtected"))
1086
1204
  SetTerminationProtectionInput.struct_class = Types::SetTerminationProtectionInput
@@ -1180,6 +1298,35 @@ module Aws::EMR
1180
1298
  StringMap.key = Shapes::ShapeRef.new(shape: String)
1181
1299
  StringMap.value = Shapes::ShapeRef.new(shape: String)
1182
1300
 
1301
+ Studio.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1302
+ Studio.add_member(:studio_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioArn"))
1303
+ Studio.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1304
+ Studio.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1305
+ Studio.add_member(:auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "AuthMode"))
1306
+ Studio.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "VpcId"))
1307
+ Studio.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "SubnetIds"))
1308
+ Studio.add_member(:service_role, Shapes::ShapeRef.new(shape: XmlString, location_name: "ServiceRole"))
1309
+ Studio.add_member(:user_role, Shapes::ShapeRef.new(shape: XmlString, location_name: "UserRole"))
1310
+ Studio.add_member(:workspace_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "WorkspaceSecurityGroupId"))
1311
+ Studio.add_member(:engine_security_group_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "EngineSecurityGroupId"))
1312
+ Studio.add_member(:url, Shapes::ShapeRef.new(shape: XmlString, location_name: "Url"))
1313
+ Studio.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1314
+ Studio.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, location_name: "DefaultS3Location"))
1315
+ Studio.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
1316
+ Studio.struct_class = Types::Studio
1317
+
1318
+ StudioSummary.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "StudioId"))
1319
+ StudioSummary.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1320
+ StudioSummary.add_member(:vpc_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "VpcId"))
1321
+ StudioSummary.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1322
+ StudioSummary.add_member(:url, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Url"))
1323
+ StudioSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: Date, location_name: "CreationTime"))
1324
+ StudioSummary.struct_class = Types::StudioSummary
1325
+
1326
+ StudioSummaryList.member = Shapes::ShapeRef.new(shape: StudioSummary)
1327
+
1328
+ SubnetIdList.member = Shapes::ShapeRef.new(shape: String)
1329
+
1183
1330
  SupportedProductConfig.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1184
1331
  SupportedProductConfig.add_member(:args, Shapes::ShapeRef.new(shape: XmlStringList, location_name: "Args"))
1185
1332
  SupportedProductConfig.struct_class = Types::SupportedProductConfig
@@ -1195,6 +1342,20 @@ module Aws::EMR
1195
1342
  TerminateJobFlowsInput.add_member(:job_flow_ids, Shapes::ShapeRef.new(shape: XmlStringList, required: true, location_name: "JobFlowIds"))
1196
1343
  TerminateJobFlowsInput.struct_class = Types::TerminateJobFlowsInput
1197
1344
 
1345
+ UpdateStudioInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
1346
+ UpdateStudioInput.add_member(:name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Name"))
1347
+ UpdateStudioInput.add_member(:description, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "Description"))
1348
+ UpdateStudioInput.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIdList, location_name: "SubnetIds"))
1349
+ UpdateStudioInput.add_member(:default_s3_location, Shapes::ShapeRef.new(shape: XmlString, location_name: "DefaultS3Location"))
1350
+ UpdateStudioInput.struct_class = Types::UpdateStudioInput
1351
+
1352
+ UpdateStudioSessionMappingInput.add_member(:studio_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "StudioId"))
1353
+ UpdateStudioSessionMappingInput.add_member(:identity_id, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityId"))
1354
+ UpdateStudioSessionMappingInput.add_member(:identity_name, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, location_name: "IdentityName"))
1355
+ UpdateStudioSessionMappingInput.add_member(:identity_type, Shapes::ShapeRef.new(shape: IdentityType, required: true, location_name: "IdentityType"))
1356
+ UpdateStudioSessionMappingInput.add_member(:session_policy_arn, Shapes::ShapeRef.new(shape: XmlStringMaxLen256, required: true, location_name: "SessionPolicyArn"))
1357
+ UpdateStudioSessionMappingInput.struct_class = Types::UpdateStudioSessionMappingInput
1358
+
1198
1359
  VolumeSpecification.add_member(:volume_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VolumeType"))
1199
1360
  VolumeSpecification.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "Iops"))
1200
1361
  VolumeSpecification.add_member(:size_in_gb, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "SizeInGB"))
@@ -1281,6 +1442,26 @@ module Aws::EMR
1281
1442
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1282
1443
  end)
1283
1444
 
1445
+ api.add_operation(:create_studio, Seahorse::Model::Operation.new.tap do |o|
1446
+ o.name = "CreateStudio"
1447
+ o.http_method = "POST"
1448
+ o.http_request_uri = "/"
1449
+ o.input = Shapes::ShapeRef.new(shape: CreateStudioInput)
1450
+ o.output = Shapes::ShapeRef.new(shape: CreateStudioOutput)
1451
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1452
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1453
+ end)
1454
+
1455
+ api.add_operation(:create_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1456
+ o.name = "CreateStudioSessionMapping"
1457
+ o.http_method = "POST"
1458
+ o.http_request_uri = "/"
1459
+ o.input = Shapes::ShapeRef.new(shape: CreateStudioSessionMappingInput)
1460
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1461
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1462
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1463
+ end)
1464
+
1284
1465
  api.add_operation(:delete_security_configuration, Seahorse::Model::Operation.new.tap do |o|
1285
1466
  o.name = "DeleteSecurityConfiguration"
1286
1467
  o.http_method = "POST"
@@ -1291,6 +1472,26 @@ module Aws::EMR
1291
1472
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1292
1473
  end)
1293
1474
 
1475
+ api.add_operation(:delete_studio, Seahorse::Model::Operation.new.tap do |o|
1476
+ o.name = "DeleteStudio"
1477
+ o.http_method = "POST"
1478
+ o.http_request_uri = "/"
1479
+ o.input = Shapes::ShapeRef.new(shape: DeleteStudioInput)
1480
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1481
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1482
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1483
+ end)
1484
+
1485
+ api.add_operation(:delete_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1486
+ o.name = "DeleteStudioSessionMapping"
1487
+ o.http_method = "POST"
1488
+ o.http_request_uri = "/"
1489
+ o.input = Shapes::ShapeRef.new(shape: DeleteStudioSessionMappingInput)
1490
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1491
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1492
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1493
+ end)
1494
+
1294
1495
  api.add_operation(:describe_cluster, Seahorse::Model::Operation.new.tap do |o|
1295
1496
  o.name = "DescribeCluster"
1296
1497
  o.http_method = "POST"
@@ -1341,6 +1542,16 @@ module Aws::EMR
1341
1542
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1342
1543
  end)
1343
1544
 
1545
+ api.add_operation(:describe_studio, Seahorse::Model::Operation.new.tap do |o|
1546
+ o.name = "DescribeStudio"
1547
+ o.http_method = "POST"
1548
+ o.http_request_uri = "/"
1549
+ o.input = Shapes::ShapeRef.new(shape: DescribeStudioInput)
1550
+ o.output = Shapes::ShapeRef.new(shape: DescribeStudioOutput)
1551
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1552
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1553
+ end)
1554
+
1344
1555
  api.add_operation(:get_block_public_access_configuration, Seahorse::Model::Operation.new.tap do |o|
1345
1556
  o.name = "GetBlockPublicAccessConfiguration"
1346
1557
  o.http_method = "POST"
@@ -1359,6 +1570,16 @@ module Aws::EMR
1359
1570
  o.output = Shapes::ShapeRef.new(shape: GetManagedScalingPolicyOutput)
1360
1571
  end)
1361
1572
 
1573
+ api.add_operation(:get_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1574
+ o.name = "GetStudioSessionMapping"
1575
+ o.http_method = "POST"
1576
+ o.http_request_uri = "/"
1577
+ o.input = Shapes::ShapeRef.new(shape: GetStudioSessionMappingInput)
1578
+ o.output = Shapes::ShapeRef.new(shape: GetStudioSessionMappingOutput)
1579
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1580
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1581
+ end)
1582
+
1362
1583
  api.add_operation(:list_bootstrap_actions, Seahorse::Model::Operation.new.tap do |o|
1363
1584
  o.name = "ListBootstrapActions"
1364
1585
  o.http_method = "POST"
@@ -1479,6 +1700,36 @@ module Aws::EMR
1479
1700
  )
1480
1701
  end)
1481
1702
 
1703
+ api.add_operation(:list_studio_session_mappings, Seahorse::Model::Operation.new.tap do |o|
1704
+ o.name = "ListStudioSessionMappings"
1705
+ o.http_method = "POST"
1706
+ o.http_request_uri = "/"
1707
+ o.input = Shapes::ShapeRef.new(shape: ListStudioSessionMappingsInput)
1708
+ o.output = Shapes::ShapeRef.new(shape: ListStudioSessionMappingsOutput)
1709
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1710
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1711
+ o[:pager] = Aws::Pager.new(
1712
+ tokens: {
1713
+ "marker" => "marker"
1714
+ }
1715
+ )
1716
+ end)
1717
+
1718
+ api.add_operation(:list_studios, Seahorse::Model::Operation.new.tap do |o|
1719
+ o.name = "ListStudios"
1720
+ o.http_method = "POST"
1721
+ o.http_request_uri = "/"
1722
+ o.input = Shapes::ShapeRef.new(shape: ListStudiosInput)
1723
+ o.output = Shapes::ShapeRef.new(shape: ListStudiosOutput)
1724
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1725
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1726
+ o[:pager] = Aws::Pager.new(
1727
+ tokens: {
1728
+ "marker" => "marker"
1729
+ }
1730
+ )
1731
+ end)
1732
+
1482
1733
  api.add_operation(:modify_cluster, Seahorse::Model::Operation.new.tap do |o|
1483
1734
  o.name = "ModifyCluster"
1484
1735
  o.http_method = "POST"
@@ -1615,6 +1866,26 @@ module Aws::EMR
1615
1866
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1616
1867
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1617
1868
  end)
1869
+
1870
+ api.add_operation(:update_studio, Seahorse::Model::Operation.new.tap do |o|
1871
+ o.name = "UpdateStudio"
1872
+ o.http_method = "POST"
1873
+ o.http_request_uri = "/"
1874
+ o.input = Shapes::ShapeRef.new(shape: UpdateStudioInput)
1875
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1876
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
1877
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1878
+ end)
1879
+
1880
+ api.add_operation(:update_studio_session_mapping, Seahorse::Model::Operation.new.tap do |o|
1881
+ o.name = "UpdateStudioSessionMapping"
1882
+ o.http_method = "POST"
1883
+ o.http_request_uri = "/"
1884
+ o.input = Shapes::ShapeRef.new(shape: UpdateStudioSessionMappingInput)
1885
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1886
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
1887
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1888
+ end)
1618
1889
  end
1619
1890
 
1620
1891
  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
  #
@@ -1000,6 +1001,10 @@ module Aws::EMR
1000
1001
  # Specifies the number of steps that can be executed concurrently.
1001
1002
  # @return [Integer]
1002
1003
  #
1004
+ # @!attribute [rw] placement_groups
1005
+ # Placement group configured for an Amazon EMR cluster.
1006
+ # @return [Array<Types::PlacementGroupConfig>]
1007
+ #
1003
1008
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Cluster AWS API Documentation
1004
1009
  #
1005
1010
  class Cluster < Struct.new(
@@ -1031,7 +1036,8 @@ module Aws::EMR
1031
1036
  :kerberos_attributes,
1032
1037
  :cluster_arn,
1033
1038
  :outpost_arn,
1034
- :step_concurrency_level)
1039
+ :step_concurrency_level,
1040
+ :placement_groups)
1035
1041
  SENSITIVE = []
1036
1042
  include Aws::Structure
1037
1043
  end
@@ -1133,7 +1139,7 @@ module Aws::EMR
1133
1139
  # @return [Time]
1134
1140
  #
1135
1141
  # @!attribute [rw] ready_date_time
1136
- # 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.
1137
1143
  # @return [Time]
1138
1144
  #
1139
1145
  # @!attribute [rw] end_date_time
@@ -1195,7 +1201,7 @@ module Aws::EMR
1195
1201
  # @return [String]
1196
1202
  #
1197
1203
  # @!attribute [rw] minimum_capacity_units
1198
- # 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
1199
1205
  # or instances for instance groups and measured through units for
1200
1206
  # instance fleets. Managed scaling activities are not allowed beyond
1201
1207
  # this boundary. The limit only applies to the core and task nodes.
@@ -1203,7 +1209,7 @@ module Aws::EMR
1203
1209
  # @return [Integer]
1204
1210
  #
1205
1211
  # @!attribute [rw] maximum_capacity_units
1206
- # 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
1207
1213
  # or instances for instance groups and measured through units for
1208
1214
  # instance fleets. Managed scaling activities are not allowed beyond
1209
1215
  # this boundary. The limit only applies to the core and task nodes.
@@ -1212,15 +1218,15 @@ module Aws::EMR
1212
1218
  #
1213
1219
  # @!attribute [rw] maximum_on_demand_capacity_units
1214
1220
  # The upper boundary of On-Demand EC2 units. It is measured through
1215
- # VCPU cores or instances for instance groups and measured through
1221
+ # vCPU cores or instances for instance groups and measured through
1216
1222
  # units for instance fleets. The On-Demand units are not allowed to
1217
1223
  # scale beyond this boundary. The parameter is used to split capacity
1218
- # allocation between On-Demand and Spot instances.
1224
+ # allocation between On-Demand and Spot Instances.
1219
1225
  # @return [Integer]
1220
1226
  #
1221
1227
  # @!attribute [rw] maximum_core_capacity_units
1222
1228
  # The upper boundary of EC2 units for core node type in a cluster. It
1223
- # is measured through VCPU cores or instances for instance groups and
1229
+ # is measured through vCPU cores or instances for instance groups and
1224
1230
  # measured through units for instance fleets. The core units are not
1225
1231
  # allowed to scale beyond this boundary. The parameter is used to
1226
1232
  # split capacity allocation between core and task nodes.
@@ -1346,6 +1352,190 @@ module Aws::EMR
1346
1352
  include Aws::Structure
1347
1353
  end
1348
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", # required
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 Amazon EMR 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 Amazon EMR Studio. A
1398
+ # Studio can have a maximum of 5 subnets. The subnets must belong to
1399
+ # the VPC specified by `VpcId`. Studio users can create a Workspace in
1400
+ # any of the specified subnets.
1401
+ # @return [Array<String>]
1402
+ #
1403
+ # @!attribute [rw] service_role
1404
+ # The IAM role that will be assumed by the Amazon EMR Studio. The
1405
+ # service role provides a way for Amazon EMR Studio to interoperate
1406
+ # with other AWS services.
1407
+ # @return [String]
1408
+ #
1409
+ # @!attribute [rw] user_role
1410
+ # The IAM user role that will be assumed by users and groups logged in
1411
+ # to an Amazon EMR Studio. The permissions attached to this IAM role
1412
+ # can be scoped down for each user or group using session policies.
1413
+ # @return [String]
1414
+ #
1415
+ # @!attribute [rw] workspace_security_group_id
1416
+ # The ID of the Amazon EMR Studio Workspace security group. The
1417
+ # Workspace security group allows outbound network traffic to
1418
+ # resources in the Engine security group, and it must be in the same
1419
+ # VPC specified by `VpcId`.
1420
+ # @return [String]
1421
+ #
1422
+ # @!attribute [rw] engine_security_group_id
1423
+ # The ID of the Amazon EMR Studio Engine security group. The Engine
1424
+ # security group allows inbound network traffic from the Workspace
1425
+ # security group, and it must be in the same VPC specified by `VpcId`.
1426
+ # @return [String]
1427
+ #
1428
+ # @!attribute [rw] default_s3_location
1429
+ # The default Amazon S3 location to back up Amazon EMR Studio
1430
+ # Workspaces and notebook files. A Studio user can select an
1431
+ # alternative Amazon S3 location when creating a Workspace.
1432
+ # @return [String]
1433
+ #
1434
+ # @!attribute [rw] tags
1435
+ # A list of tags to associate with the Amazon EMR Studio. Tags are
1436
+ # user-defined key-value pairs that consist of a required key string
1437
+ # with a maximum of 128 characters, and an optional value string with
1438
+ # a maximum of 256 characters.
1439
+ # @return [Array<Types::Tag>]
1440
+ #
1441
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioInput AWS API Documentation
1442
+ #
1443
+ class CreateStudioInput < Struct.new(
1444
+ :name,
1445
+ :description,
1446
+ :auth_mode,
1447
+ :vpc_id,
1448
+ :subnet_ids,
1449
+ :service_role,
1450
+ :user_role,
1451
+ :workspace_security_group_id,
1452
+ :engine_security_group_id,
1453
+ :default_s3_location,
1454
+ :tags)
1455
+ SENSITIVE = []
1456
+ include Aws::Structure
1457
+ end
1458
+
1459
+ # @!attribute [rw] studio_id
1460
+ # The ID of the Amazon EMR Studio.
1461
+ # @return [String]
1462
+ #
1463
+ # @!attribute [rw] url
1464
+ # The unique Studio access URL.
1465
+ # @return [String]
1466
+ #
1467
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioOutput AWS API Documentation
1468
+ #
1469
+ class CreateStudioOutput < Struct.new(
1470
+ :studio_id,
1471
+ :url)
1472
+ SENSITIVE = []
1473
+ include Aws::Structure
1474
+ end
1475
+
1476
+ # @note When making an API call, you may pass CreateStudioSessionMappingInput
1477
+ # data as a hash:
1478
+ #
1479
+ # {
1480
+ # studio_id: "XmlStringMaxLen256", # required
1481
+ # identity_id: "XmlStringMaxLen256",
1482
+ # identity_name: "XmlStringMaxLen256",
1483
+ # identity_type: "USER", # required, accepts USER, GROUP
1484
+ # session_policy_arn: "XmlStringMaxLen256", # required
1485
+ # }
1486
+ #
1487
+ # @!attribute [rw] studio_id
1488
+ # The ID of the Amazon EMR Studio to which the user or group will be
1489
+ # mapped.
1490
+ # @return [String]
1491
+ #
1492
+ # @!attribute [rw] identity_id
1493
+ # The globally unique identifier (GUID) of the user or group from the
1494
+ # AWS SSO Identity Store. For more information, see [UserId][1] and
1495
+ # [GroupId][2] in the *AWS SSO Identity Store API Reference*. Either
1496
+ # `IdentityName` or `IdentityId` must be specified.
1497
+ #
1498
+ #
1499
+ #
1500
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1501
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
1502
+ # @return [String]
1503
+ #
1504
+ # @!attribute [rw] identity_name
1505
+ # The name of the user or group. For more information, see
1506
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
1507
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
1508
+ # specified.
1509
+ #
1510
+ #
1511
+ #
1512
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
1513
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
1514
+ # @return [String]
1515
+ #
1516
+ # @!attribute [rw] identity_type
1517
+ # Specifies whether the identity to map to the Amazon EMR Studio is a
1518
+ # user or a group.
1519
+ # @return [String]
1520
+ #
1521
+ # @!attribute [rw] session_policy_arn
1522
+ # The Amazon Resource Name (ARN) for the session policy that will be
1523
+ # applied to the user or group. Session policies refine Studio user
1524
+ # permissions without the need to use multiple IAM user roles.
1525
+ # @return [String]
1526
+ #
1527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioSessionMappingInput AWS API Documentation
1528
+ #
1529
+ class CreateStudioSessionMappingInput < Struct.new(
1530
+ :studio_id,
1531
+ :identity_id,
1532
+ :identity_name,
1533
+ :identity_type,
1534
+ :session_policy_arn)
1535
+ SENSITIVE = []
1536
+ include Aws::Structure
1537
+ end
1538
+
1349
1539
  # @note When making an API call, you may pass DeleteSecurityConfigurationInput
1350
1540
  # data as a hash:
1351
1541
  #
@@ -1369,6 +1559,79 @@ module Aws::EMR
1369
1559
  #
1370
1560
  class DeleteSecurityConfigurationOutput < Aws::EmptyStructure; end
1371
1561
 
1562
+ # @note When making an API call, you may pass DeleteStudioInput
1563
+ # data as a hash:
1564
+ #
1565
+ # {
1566
+ # studio_id: "XmlStringMaxLen256", # required
1567
+ # }
1568
+ #
1569
+ # @!attribute [rw] studio_id
1570
+ # The ID of the Amazon EMR Studio.
1571
+ # @return [String]
1572
+ #
1573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioInput AWS API Documentation
1574
+ #
1575
+ class DeleteStudioInput < Struct.new(
1576
+ :studio_id)
1577
+ SENSITIVE = []
1578
+ include Aws::Structure
1579
+ end
1580
+
1581
+ # @note When making an API call, you may pass DeleteStudioSessionMappingInput
1582
+ # data as a hash:
1583
+ #
1584
+ # {
1585
+ # studio_id: "XmlStringMaxLen256", # required
1586
+ # identity_id: "XmlStringMaxLen256",
1587
+ # identity_name: "XmlStringMaxLen256",
1588
+ # identity_type: "USER", # required, accepts USER, GROUP
1589
+ # }
1590
+ #
1591
+ # @!attribute [rw] studio_id
1592
+ # The ID of the Amazon EMR Studio.
1593
+ # @return [String]
1594
+ #
1595
+ # @!attribute [rw] identity_id
1596
+ # The globally unique identifier (GUID) of the user or group to remove
1597
+ # from the Amazon EMR Studio. For more information, see [UserId][1]
1598
+ # and [GroupId][2] in the *AWS SSO Identity Store API Reference*.
1599
+ # Either `IdentityName` or `IdentityId` must be specified.
1600
+ #
1601
+ #
1602
+ #
1603
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
1604
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
1605
+ # @return [String]
1606
+ #
1607
+ # @!attribute [rw] identity_name
1608
+ # The name of the user name or group to remove from the Amazon EMR
1609
+ # Studio. For more information, see [UserName][1] and [DisplayName][2]
1610
+ # in the *AWS SSO Identity Store API Reference*. Either `IdentityName`
1611
+ # or `IdentityId` must be specified.
1612
+ #
1613
+ #
1614
+ #
1615
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
1616
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
1617
+ # @return [String]
1618
+ #
1619
+ # @!attribute [rw] identity_type
1620
+ # Specifies whether the identity to delete from the Amazon EMR Studio
1621
+ # is a user or a group.
1622
+ # @return [String]
1623
+ #
1624
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioSessionMappingInput AWS API Documentation
1625
+ #
1626
+ class DeleteStudioSessionMappingInput < Struct.new(
1627
+ :studio_id,
1628
+ :identity_id,
1629
+ :identity_name,
1630
+ :identity_type)
1631
+ SENSITIVE = []
1632
+ include Aws::Structure
1633
+ end
1634
+
1372
1635
  # This input determines which cluster to describe.
1373
1636
  #
1374
1637
  # @note When making an API call, you may pass DescribeClusterInput
@@ -1570,6 +1833,37 @@ module Aws::EMR
1570
1833
  include Aws::Structure
1571
1834
  end
1572
1835
 
1836
+ # @note When making an API call, you may pass DescribeStudioInput
1837
+ # data as a hash:
1838
+ #
1839
+ # {
1840
+ # studio_id: "XmlStringMaxLen256", # required
1841
+ # }
1842
+ #
1843
+ # @!attribute [rw] studio_id
1844
+ # The Amazon EMR Studio ID.
1845
+ # @return [String]
1846
+ #
1847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudioInput AWS API Documentation
1848
+ #
1849
+ class DescribeStudioInput < Struct.new(
1850
+ :studio_id)
1851
+ SENSITIVE = []
1852
+ include Aws::Structure
1853
+ end
1854
+
1855
+ # @!attribute [rw] studio
1856
+ # The Amazon EMR Studio details.
1857
+ # @return [Types::Studio]
1858
+ #
1859
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudioOutput AWS API Documentation
1860
+ #
1861
+ class DescribeStudioOutput < Struct.new(
1862
+ :studio)
1863
+ SENSITIVE = []
1864
+ include Aws::Structure
1865
+ end
1866
+
1573
1867
  # Configuration of requested EBS block device associated with the
1574
1868
  # instance group.
1575
1869
  #
@@ -1831,9 +2125,9 @@ module Aws::EMR
1831
2125
  # @return [String]
1832
2126
  #
1833
2127
  # @!attribute [rw] message
1834
- # The descriptive message including the error the EMR service has
1835
- # identified as the cause of step failure. This is text from an error
1836
- # log that describes the root cause of the failure.
2128
+ # The descriptive message including the error the Amazon EMR service
2129
+ # has identified as the cause of step failure. This is text from an
2130
+ # error log that describes the root cause of the failure.
1837
2131
  # @return [String]
1838
2132
  #
1839
2133
  # @!attribute [rw] log_file
@@ -1931,6 +2225,72 @@ module Aws::EMR
1931
2225
  include Aws::Structure
1932
2226
  end
1933
2227
 
2228
+ # @note When making an API call, you may pass GetStudioSessionMappingInput
2229
+ # data as a hash:
2230
+ #
2231
+ # {
2232
+ # studio_id: "XmlStringMaxLen256", # required
2233
+ # identity_id: "XmlStringMaxLen256",
2234
+ # identity_name: "XmlStringMaxLen256",
2235
+ # identity_type: "USER", # required, accepts USER, GROUP
2236
+ # }
2237
+ #
2238
+ # @!attribute [rw] studio_id
2239
+ # The ID of the Amazon EMR Studio.
2240
+ # @return [String]
2241
+ #
2242
+ # @!attribute [rw] identity_id
2243
+ # The globally unique identifier (GUID) of the user or group. For more
2244
+ # information, see [UserId][1] and [GroupId][2] in the *AWS SSO
2245
+ # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
2246
+ # must be specified.
2247
+ #
2248
+ #
2249
+ #
2250
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
2251
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
2252
+ # @return [String]
2253
+ #
2254
+ # @!attribute [rw] identity_name
2255
+ # The name of the user or group to fetch. For more information, see
2256
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
2257
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
2258
+ # specified.
2259
+ #
2260
+ #
2261
+ #
2262
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
2263
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
2264
+ # @return [String]
2265
+ #
2266
+ # @!attribute [rw] identity_type
2267
+ # Specifies whether the identity to fetch is a user or a group.
2268
+ # @return [String]
2269
+ #
2270
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMappingInput AWS API Documentation
2271
+ #
2272
+ class GetStudioSessionMappingInput < Struct.new(
2273
+ :studio_id,
2274
+ :identity_id,
2275
+ :identity_name,
2276
+ :identity_type)
2277
+ SENSITIVE = []
2278
+ include Aws::Structure
2279
+ end
2280
+
2281
+ # @!attribute [rw] session_mapping
2282
+ # The session mapping details for the specified Amazon EMR Studio and
2283
+ # identity, including session policy ARN and creation time.
2284
+ # @return [Types::SessionMappingDetail]
2285
+ #
2286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMappingOutput AWS API Documentation
2287
+ #
2288
+ class GetStudioSessionMappingOutput < Struct.new(
2289
+ :session_mapping)
2290
+ SENSITIVE = []
2291
+ include Aws::Structure
2292
+ end
2293
+
1934
2294
  # A job flow step consisting of a JAR file whose main function will be
1935
2295
  # executed. The main function submits a job for Hadoop to execute and
1936
2296
  # waits for the job to finish or fail.
@@ -1952,7 +2312,7 @@ module Aws::EMR
1952
2312
  #
1953
2313
  # @!attribute [rw] properties
1954
2314
  # A list of Java properties that are set when the step runs. You can
1955
- # use these properties to pass key value pairs to your main function.
2315
+ # use these properties to pass key-value pairs to your main function.
1956
2316
  # @return [Array<Types::KeyValue>]
1957
2317
  #
1958
2318
  # @!attribute [rw] jar
@@ -1991,7 +2351,7 @@ module Aws::EMR
1991
2351
  #
1992
2352
  # @!attribute [rw] properties
1993
2353
  # The list of Java properties that are set when the step runs. You can
1994
- # use these properties to pass key value pairs to your main function.
2354
+ # use these properties to pass key-value pairs to your main function.
1995
2355
  # @return [Hash<String,String>]
1996
2356
  #
1997
2357
  # @!attribute [rw] main_class
@@ -2090,7 +2450,7 @@ module Aws::EMR
2090
2450
  # Describes an instance fleet, which is a group of EC2 instances that
2091
2451
  # host a particular node type (master, core, or task) in an Amazon EMR
2092
2452
  # cluster. Instance fleets can consist of a mix of instance types and
2093
- # On-Demand and Spot instances, which are provisioned to meet a defined
2453
+ # On-Demand and Spot Instances, which are provisioned to meet a defined
2094
2454
  # target capacity.
2095
2455
  #
2096
2456
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
@@ -2117,11 +2477,11 @@ module Aws::EMR
2117
2477
  #
2118
2478
  # @!attribute [rw] target_on_demand_capacity
2119
2479
  # The target capacity of On-Demand units for the instance fleet, which
2120
- # determines how many On-Demand instances to provision. When the
2480
+ # determines how many On-Demand Instances to provision. When the
2121
2481
  # instance fleet launches, Amazon EMR tries to provision On-Demand
2122
- # instances as specified by InstanceTypeConfig. Each instance
2482
+ # Instances as specified by InstanceTypeConfig. Each instance
2123
2483
  # configuration has a specified `WeightedCapacity`. When an On-Demand
2124
- # instance is provisioned, the `WeightedCapacity` units count toward
2484
+ # Instance is provisioned, the `WeightedCapacity` units count toward
2125
2485
  # the target capacity. Amazon EMR provisions instances until the
2126
2486
  # target capacity is totally fulfilled, even if this results in an
2127
2487
  # overage. For example, if there are 2 units remaining to fulfill
@@ -2131,7 +2491,7 @@ module Aws::EMR
2131
2491
  # InstanceFleet$ProvisionedOnDemandCapacity to determine the Spot
2132
2492
  # capacity units that have been provisioned for the instance fleet.
2133
2493
  #
2134
- # <note markdown="1"> If not specified or set to 0, only Spot instances are provisioned
2494
+ # <note markdown="1"> If not specified or set to 0, only Spot Instances are provisioned
2135
2495
  # for the instance fleet using `TargetSpotCapacity`. At least one of
2136
2496
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2137
2497
  # than 0. For a master instance fleet, only one of
@@ -2143,8 +2503,8 @@ module Aws::EMR
2143
2503
  #
2144
2504
  # @!attribute [rw] target_spot_capacity
2145
2505
  # The target capacity of Spot units for the instance fleet, which
2146
- # determines how many Spot instances to provision. When the instance
2147
- # fleet launches, Amazon EMR tries to provision Spot instances as
2506
+ # determines how many Spot Instances to provision. When the instance
2507
+ # fleet launches, Amazon EMR tries to provision Spot Instances as
2148
2508
  # specified by InstanceTypeConfig. Each instance configuration has a
2149
2509
  # specified `WeightedCapacity`. When a Spot instance is provisioned,
2150
2510
  # the `WeightedCapacity` units count toward the target capacity.
@@ -2157,7 +2517,7 @@ module Aws::EMR
2157
2517
  # determine the Spot capacity units that have been provisioned for the
2158
2518
  # instance fleet.
2159
2519
  #
2160
- # <note markdown="1"> If not specified or set to 0, only On-Demand instances are
2520
+ # <note markdown="1"> If not specified or set to 0, only On-Demand Instances are
2161
2521
  # provisioned for the instance fleet. At least one of
2162
2522
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2163
2523
  # than 0. For a master instance fleet, only one of
@@ -2273,16 +2633,16 @@ module Aws::EMR
2273
2633
  #
2274
2634
  # @!attribute [rw] instance_fleet_type
2275
2635
  # The node type that the instance fleet hosts. Valid values are
2276
- # MASTER,CORE,and TASK.
2636
+ # MASTER, CORE, and TASK.
2277
2637
  # @return [String]
2278
2638
  #
2279
2639
  # @!attribute [rw] target_on_demand_capacity
2280
2640
  # The target capacity of On-Demand units for the instance fleet, which
2281
- # determines how many On-Demand instances to provision. When the
2641
+ # determines how many On-Demand Instances to provision. When the
2282
2642
  # instance fleet launches, Amazon EMR tries to provision On-Demand
2283
- # instances as specified by InstanceTypeConfig. Each instance
2643
+ # Instances as specified by InstanceTypeConfig. Each instance
2284
2644
  # configuration has a specified `WeightedCapacity`. When an On-Demand
2285
- # instance is provisioned, the `WeightedCapacity` units count toward
2645
+ # Instance is provisioned, the `WeightedCapacity` units count toward
2286
2646
  # the target capacity. Amazon EMR provisions instances until the
2287
2647
  # target capacity is totally fulfilled, even if this results in an
2288
2648
  # overage. For example, if there are 2 units remaining to fulfill
@@ -2290,7 +2650,7 @@ module Aws::EMR
2290
2650
  # `WeightedCapacity` of 5 units, the instance is provisioned, and the
2291
2651
  # target capacity is exceeded by 3 units.
2292
2652
  #
2293
- # <note markdown="1"> If not specified or set to 0, only Spot instances are provisioned
2653
+ # <note markdown="1"> If not specified or set to 0, only Spot Instances are provisioned
2294
2654
  # for the instance fleet using `TargetSpotCapacity`. At least one of
2295
2655
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2296
2656
  # than 0. For a master instance fleet, only one of
@@ -2302,10 +2662,10 @@ module Aws::EMR
2302
2662
  #
2303
2663
  # @!attribute [rw] target_spot_capacity
2304
2664
  # The target capacity of Spot units for the instance fleet, which
2305
- # determines how many Spot instances to provision. When the instance
2306
- # fleet launches, Amazon EMR tries to provision Spot instances as
2665
+ # determines how many Spot Instances to provision. When the instance
2666
+ # fleet launches, Amazon EMR tries to provision Spot Instances as
2307
2667
  # specified by InstanceTypeConfig. Each instance configuration has a
2308
- # specified `WeightedCapacity`. When a Spot instance is provisioned,
2668
+ # specified `WeightedCapacity`. When a Spot Instance is provisioned,
2309
2669
  # the `WeightedCapacity` units count toward the target capacity.
2310
2670
  # Amazon EMR provisions instances until the target capacity is totally
2311
2671
  # fulfilled, even if this results in an overage. For example, if there
@@ -2314,7 +2674,7 @@ module Aws::EMR
2314
2674
  # instance is provisioned, and the target capacity is exceeded by 3
2315
2675
  # units.
2316
2676
  #
2317
- # <note markdown="1"> If not specified or set to 0, only On-Demand instances are
2677
+ # <note markdown="1"> If not specified or set to 0, only On-Demand Instances are
2318
2678
  # provisioned for the instance fleet. At least one of
2319
2679
  # `TargetSpotCapacity` and `TargetOnDemandCapacity` should be greater
2320
2680
  # than 0. For a master instance fleet, only one of
@@ -2386,13 +2746,13 @@ module Aws::EMR
2386
2746
  include Aws::Structure
2387
2747
  end
2388
2748
 
2389
- # The launch specification for Spot instances in the fleet, which
2749
+ # The launch specification for Spot Instances in the fleet, which
2390
2750
  # determines the defined duration, provisioning timeout behavior, and
2391
2751
  # allocation strategy.
2392
2752
  #
2393
2753
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2394
2754
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot
2395
- # instance allocation strategies are available in Amazon EMR version
2755
+ # Instance allocation strategies are available in Amazon EMR version
2396
2756
  # 5.12.1 and later.
2397
2757
  #
2398
2758
  # </note>
@@ -2413,18 +2773,18 @@ module Aws::EMR
2413
2773
  # }
2414
2774
  #
2415
2775
  # @!attribute [rw] spot_specification
2416
- # The launch specification for Spot instances in the fleet, which
2776
+ # The launch specification for Spot Instances in the fleet, which
2417
2777
  # determines the defined duration, provisioning timeout behavior, and
2418
2778
  # allocation strategy.
2419
2779
  # @return [Types::SpotProvisioningSpecification]
2420
2780
  #
2421
2781
  # @!attribute [rw] on_demand_specification
2422
- # The launch specification for On-Demand instances in the instance
2782
+ # The launch specification for On-Demand Instances in the instance
2423
2783
  # fleet, which determines the allocation strategy.
2424
2784
  #
2425
2785
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
2426
2786
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand
2427
- # instances allocation strategy is available in Amazon EMR version
2787
+ # Instances allocation strategy is available in Amazon EMR version
2428
2788
  # 5.12.1 and later.
2429
2789
  #
2430
2790
  # </note>
@@ -2569,7 +2929,7 @@ module Aws::EMR
2569
2929
  # @return [String]
2570
2930
  #
2571
2931
  # @!attribute [rw] bid_price
2572
- # The bid price for each EC2 Spot instance type as defined by
2932
+ # The bid price for each EC2 Spot Instance type as defined by
2573
2933
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2574
2934
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2575
2935
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -2751,7 +3111,7 @@ module Aws::EMR
2751
3111
  # @return [String]
2752
3112
  #
2753
3113
  # @!attribute [rw] bid_price
2754
- # The bid price for each EC2 Spot instance type as defined by
3114
+ # The bid price for each EC2 Spot Instance as defined by
2755
3115
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2756
3116
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2757
3117
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -2823,7 +3183,7 @@ module Aws::EMR
2823
3183
  # @return [String]
2824
3184
  #
2825
3185
  # @!attribute [rw] bid_price
2826
- # The bid price for each EC2 Spot instance type as defined by
3186
+ # The bid price for each EC2 Spot Instance as defined by
2827
3187
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
2828
3188
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
2829
3189
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -2918,7 +3278,7 @@ module Aws::EMR
2918
3278
  # }
2919
3279
  #
2920
3280
  # @!attribute [rw] instance_group_id
2921
- # Unique ID of the instance group to expand or shrink.
3281
+ # Unique ID of the instance group to modify.
2922
3282
  # @return [String]
2923
3283
  #
2924
3284
  # @!attribute [rw] instance_count
@@ -3126,7 +3486,7 @@ module Aws::EMR
3126
3486
  # An instance type configuration for each instance type in an instance
3127
3487
  # fleet, which determines the EC2 instances Amazon EMR attempts to
3128
3488
  # provision to fulfill On-Demand and Spot target capacities. There can
3129
- # be a maximum of 5 instance type configurations in a fleet.
3489
+ # be a maximum of five instance type configurations in a fleet.
3130
3490
  #
3131
3491
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
3132
3492
  # versions 4.8.0 and later, excluding 5.0.x versions.
@@ -3180,7 +3540,7 @@ module Aws::EMR
3180
3540
  # @return [Integer]
3181
3541
  #
3182
3542
  # @!attribute [rw] bid_price
3183
- # The bid price for each EC2 Spot instance type as defined by
3543
+ # The bid price for each EC2 Spot Instance type as defined by
3184
3544
  # `InstanceType`. Expressed in USD. If neither `BidPrice` nor
3185
3545
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
3186
3546
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
@@ -3188,15 +3548,15 @@ module Aws::EMR
3188
3548
  #
3189
3549
  # @!attribute [rw] bid_price_as_percentage_of_on_demand_price
3190
3550
  # The bid price, as a percentage of On-Demand price, for each EC2 Spot
3191
- # instance as defined by `InstanceType`. Expressed as a number (for
3551
+ # Instance as defined by `InstanceType`. Expressed as a number (for
3192
3552
  # example, 20 specifies 20%). If neither `BidPrice` nor
3193
3553
  # `BidPriceAsPercentageOfOnDemandPrice` is provided,
3194
3554
  # `BidPriceAsPercentageOfOnDemandPrice` defaults to 100%.
3195
3555
  # @return [Float]
3196
3556
  #
3197
3557
  # @!attribute [rw] ebs_configuration
3198
- # The configuration of Amazon Elastic Block Storage (EBS) attached to
3199
- # each instance as defined by `InstanceType`.
3558
+ # The configuration of Amazon Elastic Block Storage (Amazon EBS)
3559
+ # attached to each instance as defined by `InstanceType`.
3200
3560
  # @return [Types::EbsConfiguration]
3201
3561
  #
3202
3562
  # @!attribute [rw] configurations
@@ -3239,13 +3599,13 @@ module Aws::EMR
3239
3599
  # @return [Integer]
3240
3600
  #
3241
3601
  # @!attribute [rw] bid_price
3242
- # The bid price for each EC2 Spot instance type as defined by
3602
+ # The bid price for each EC2 Spot Instance type as defined by
3243
3603
  # `InstanceType`. Expressed in USD.
3244
3604
  # @return [String]
3245
3605
  #
3246
3606
  # @!attribute [rw] bid_price_as_percentage_of_on_demand_price
3247
3607
  # The bid price, as a percentage of On-Demand price, for each EC2 Spot
3248
- # instance as defined by `InstanceType`. Expressed as a number (for
3608
+ # Instance as defined by `InstanceType`. Expressed as a number (for
3249
3609
  # example, 20 specifies 20%).
3250
3610
  # @return [Float]
3251
3611
  #
@@ -3256,8 +3616,8 @@ module Aws::EMR
3256
3616
  # @return [Array<Types::Configuration>]
3257
3617
  #
3258
3618
  # @!attribute [rw] ebs_block_devices
3259
- # The configuration of Amazon Elastic Block Storage (EBS) attached to
3260
- # each instance as defined by `InstanceType`.
3619
+ # The configuration of Amazon Elastic Block Storage (Amazon EBS)
3620
+ # attached to each instance as defined by `InstanceType`.
3261
3621
  # @return [Array<Types::EbsBlockDevice>]
3262
3622
  #
3263
3623
  # @!attribute [rw] ebs_optimized
@@ -3286,8 +3646,8 @@ module Aws::EMR
3286
3646
  #
3287
3647
  class InternalServerError < Aws::EmptyStructure; end
3288
3648
 
3289
- # This exception occurs when there is an internal failure in the EMR
3290
- # service.
3649
+ # This exception occurs when there is an internal failure in the Amazon
3650
+ # EMR service.
3291
3651
  #
3292
3652
  # @!attribute [rw] message
3293
3653
  # The message associated with the exception.
@@ -3363,9 +3723,9 @@ module Aws::EMR
3363
3723
  # @return [Array<Types::BootstrapActionDetail>]
3364
3724
  #
3365
3725
  # @!attribute [rw] supported_products
3366
- # A list of strings set by third party software when the job flow is
3367
- # launched. If you are not using third party software to manage the
3368
- # job flow this value is empty.
3726
+ # A list of strings set by third-party software when the job flow is
3727
+ # launched. If you are not using third-party software to manage the
3728
+ # job flow, this value is empty.
3369
3729
  # @return [Array<String>]
3370
3730
  #
3371
3731
  # @!attribute [rw] visible_to_all_users
@@ -3386,8 +3746,8 @@ module Aws::EMR
3386
3746
  # @return [String]
3387
3747
  #
3388
3748
  # @!attribute [rw] service_role
3389
- # The IAM role that will be assumed by the Amazon EMR service to
3390
- # access AWS resources on your behalf.
3749
+ # The IAM role that is assumed by the Amazon EMR service to access AWS
3750
+ # resources on your behalf.
3391
3751
  # @return [String]
3392
3752
  #
3393
3753
  # @!attribute [rw] auto_scaling_role
@@ -3405,13 +3765,13 @@ module Aws::EMR
3405
3765
  # to terminate the instance was submitted. This option is only
3406
3766
  # available with Amazon EMR 5.1.0 and later and is the default for
3407
3767
  # clusters created using that version. `TERMINATE_AT_TASK_COMPLETION`
3408
- # indicates that Amazon EMR blacklists and drains tasks from nodes
3409
- # before terminating the Amazon EC2 instances, regardless of the
3410
- # instance-hour boundary. With either behavior, Amazon EMR removes the
3411
- # least active nodes first and blocks instance termination if it could
3412
- # lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION` available
3413
- # only in Amazon EMR version 4.1.0 and later, and is the default for
3414
- # versions of Amazon EMR earlier than 5.1.0.
3768
+ # indicates that Amazon EMR adds nodes to a deny list and drains tasks
3769
+ # from nodes before terminating the Amazon EC2 instances, regardless
3770
+ # of the instance-hour boundary. With either behavior, Amazon EMR
3771
+ # removes the least active nodes first and blocks instance termination
3772
+ # if it could lead to HDFS corruption. `TERMINATE_AT_TASK_COMPLETION`
3773
+ # available only in Amazon EMR version 4.1.0 and later, and is the
3774
+ # default for versions of Amazon EMR earlier than 5.1.0.
3415
3775
  # @return [String]
3416
3776
  #
3417
3777
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/JobFlowDetail AWS API Documentation
@@ -3478,10 +3838,10 @@ module Aws::EMR
3478
3838
 
3479
3839
  # A description of the Amazon EC2 instance on which the cluster (job
3480
3840
  # flow) runs. A valid JobFlowInstancesConfig must contain either
3481
- # InstanceGroups or InstanceFleets, which is the recommended
3482
- # configuration. They cannot be used together. You may also have
3483
- # MasterInstanceType, SlaveInstanceType, and InstanceCount (all three
3484
- # must be present), but we don't recommend this configuration.
3841
+ # InstanceGroups or InstanceFleets. They cannot be used together. You
3842
+ # may also have MasterInstanceType, SlaveInstanceType, and InstanceCount
3843
+ # (all three must be present), but we don't recommend this
3844
+ # configuration.
3485
3845
  #
3486
3846
  # @note When making an API call, you may pass JobFlowInstancesConfig
3487
3847
  # data as a hash:
@@ -3657,8 +4017,8 @@ module Aws::EMR
3657
4017
  # @return [Array<Types::InstanceFleetConfig>]
3658
4018
  #
3659
4019
  # @!attribute [rw] ec2_key_name
3660
- # The name of the EC2 key pair that can be used to ssh to the master
3661
- # node as the user called "hadoop."
4020
+ # The name of the EC2 key pair that can be used to connect to the
4021
+ # master node using SSH as the user called "hadoop."
3662
4022
  # @return [String]
3663
4023
  #
3664
4024
  # @!attribute [rw] placement
@@ -3678,12 +4038,12 @@ module Aws::EMR
3678
4038
  #
3679
4039
  # @!attribute [rw] hadoop_version
3680
4040
  # Applies only to Amazon EMR release versions earlier than 4.0. The
3681
- # Hadoop version for the cluster. Valid inputs are "0.18"
3682
- # (deprecated), "0.20" (deprecated), "0.20.205" (deprecated),
3683
- # "1.0.3", "2.2.0", or "2.4.0". If you do not set this value,
3684
- # the default of 0.18 is used, unless the `AmiVersion` parameter is
3685
- # set in the RunJobFlow call, in which case the default version of
3686
- # Hadoop for that AMI version is used.
4041
+ # Hadoop version for the cluster. Valid inputs are "0.18" (no longer
4042
+ # maintained), "0.20" (no longer maintained), "0.20.205" (no
4043
+ # longer maintained), "1.0.3", "2.2.0", or "2.4.0". If you do
4044
+ # not set this value, the default of 0.18 is used, unless the
4045
+ # `AmiVersion` parameter is set in the RunJobFlow call, in which case
4046
+ # the default version of Hadoop for that AMI version is used.
3687
4047
  # @return [String]
3688
4048
  #
3689
4049
  # @!attribute [rw] ec2_subnet_id
@@ -3788,17 +4148,17 @@ module Aws::EMR
3788
4148
  #
3789
4149
  # @!attribute [rw] normalized_instance_hours
3790
4150
  # An approximation of the cost of the cluster, represented in
3791
- # m1.small/hours. This value is incremented one time for every hour
3792
- # that an m1.small runs. Larger instances are weighted more, so an
3793
- # Amazon EC2 instance that is roughly four times more expensive would
3794
- # result in the normalized instance hours being incremented by four.
3795
- # This result is only an approximation and does not reflect the actual
3796
- # billing rate.
4151
+ # m1.small/hours. This value is increased one time for every hour that
4152
+ # an m1.small instance runs. Larger instances are weighted more
4153
+ # heavily, so an Amazon EC2 instance that is roughly four times more
4154
+ # expensive would result in the normalized instance hours being
4155
+ # increased incrementally four times. This result is only an
4156
+ # approximation and does not reflect the actual billing rate.
3797
4157
  # @return [Integer]
3798
4158
  #
3799
4159
  # @!attribute [rw] ec2_key_name
3800
- # The name of an Amazon EC2 key pair that can be used to ssh to the
3801
- # master node.
4160
+ # The name of an Amazon EC2 key pair that can be used to connect to
4161
+ # the master node using SSH.
3802
4162
  # @return [String]
3803
4163
  #
3804
4164
  # @!attribute [rw] ec2_subnet_id
@@ -3847,7 +4207,7 @@ module Aws::EMR
3847
4207
 
3848
4208
  # Attributes for Kerberos configuration when Kerberos authentication is
3849
4209
  # enabled using a security configuration. For more information see [Use
3850
- # Kerberos Authentication][1] in the *EMR Management Guide*.
4210
+ # Kerberos Authentication][1] in the *Amazon EMR Management Guide*.
3851
4211
  #
3852
4212
  #
3853
4213
  #
@@ -3903,7 +4263,7 @@ module Aws::EMR
3903
4263
  include Aws::Structure
3904
4264
  end
3905
4265
 
3906
- # A key value pair.
4266
+ # A key-value pair.
3907
4267
  #
3908
4268
  # @note When making an API call, you may pass KeyValue
3909
4269
  # data as a hash:
@@ -3914,7 +4274,7 @@ module Aws::EMR
3914
4274
  # }
3915
4275
  #
3916
4276
  # @!attribute [rw] key
3917
- # The unique identifier of a key value pair.
4277
+ # The unique identifier of a key-value pair.
3918
4278
  # @return [String]
3919
4279
  #
3920
4280
  # @!attribute [rw] value
@@ -4411,6 +4771,96 @@ module Aws::EMR
4411
4771
  include Aws::Structure
4412
4772
  end
4413
4773
 
4774
+ # @note When making an API call, you may pass ListStudioSessionMappingsInput
4775
+ # data as a hash:
4776
+ #
4777
+ # {
4778
+ # studio_id: "XmlStringMaxLen256",
4779
+ # identity_type: "USER", # accepts USER, GROUP
4780
+ # marker: "Marker",
4781
+ # }
4782
+ #
4783
+ # @!attribute [rw] studio_id
4784
+ # The ID of the Amazon EMR Studio.
4785
+ # @return [String]
4786
+ #
4787
+ # @!attribute [rw] identity_type
4788
+ # Specifies whether to return session mappings for users or groups. If
4789
+ # not specified, the results include session mapping details for both
4790
+ # users and groups.
4791
+ # @return [String]
4792
+ #
4793
+ # @!attribute [rw] marker
4794
+ # The pagination token that indicates the set of results to retrieve.
4795
+ # @return [String]
4796
+ #
4797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappingsInput AWS API Documentation
4798
+ #
4799
+ class ListStudioSessionMappingsInput < Struct.new(
4800
+ :studio_id,
4801
+ :identity_type,
4802
+ :marker)
4803
+ SENSITIVE = []
4804
+ include Aws::Structure
4805
+ end
4806
+
4807
+ # @!attribute [rw] session_mappings
4808
+ # A list of session mapping summary objects. Each object includes
4809
+ # session mapping details such as creation time, identity type (user
4810
+ # or group), and Amazon EMR Studio ID.
4811
+ # @return [Array<Types::SessionMappingSummary>]
4812
+ #
4813
+ # @!attribute [rw] marker
4814
+ # The pagination token that indicates the next set of results to
4815
+ # retrieve.
4816
+ # @return [String]
4817
+ #
4818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappingsOutput AWS API Documentation
4819
+ #
4820
+ class ListStudioSessionMappingsOutput < Struct.new(
4821
+ :session_mappings,
4822
+ :marker)
4823
+ SENSITIVE = []
4824
+ include Aws::Structure
4825
+ end
4826
+
4827
+ # @note When making an API call, you may pass ListStudiosInput
4828
+ # data as a hash:
4829
+ #
4830
+ # {
4831
+ # marker: "Marker",
4832
+ # }
4833
+ #
4834
+ # @!attribute [rw] marker
4835
+ # The pagination token that indicates the set of results to retrieve.
4836
+ # @return [String]
4837
+ #
4838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudiosInput AWS API Documentation
4839
+ #
4840
+ class ListStudiosInput < Struct.new(
4841
+ :marker)
4842
+ SENSITIVE = []
4843
+ include Aws::Structure
4844
+ end
4845
+
4846
+ # @!attribute [rw] studios
4847
+ # The list of Studio summary objects.
4848
+ # @return [Array<Types::StudioSummary>]
4849
+ #
4850
+ # @!attribute [rw] marker
4851
+ # The pagination token that indicates the next set of results to
4852
+ # retrieve.
4853
+ # @return [String]
4854
+ #
4855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudiosOutput AWS API Documentation
4856
+ #
4857
+ class ListStudiosOutput < Struct.new(
4858
+ :studios,
4859
+ :marker)
4860
+ SENSITIVE = []
4861
+ include Aws::Structure
4862
+ end
4863
+
4414
4864
  # Managed scaling policy for an Amazon EMR cluster. The policy specifies
4415
4865
  # the limits for resources that can be added or terminated from a
4416
4866
  # cluster. The policy only applies to the core and task nodes. The
@@ -4686,7 +5136,7 @@ module Aws::EMR
4686
5136
  #
4687
5137
  # @!attribute [rw] tags
4688
5138
  # A list of tags associated with a notebook execution. Tags are
4689
- # user-defined key value pairs that consist of a required key string
5139
+ # user-defined key-value pairs that consist of a required key string
4690
5140
  # with a maximum of 128 characters and an optional value string with a
4691
5141
  # maximum of 256 characters.
4692
5142
  # @return [Array<Types::Tag>]
@@ -4779,12 +5229,12 @@ module Aws::EMR
4779
5229
  include Aws::Structure
4780
5230
  end
4781
5231
 
4782
- # The launch specification for On-Demand instances in the instance
5232
+ # The launch specification for On-Demand Instances in the instance
4783
5233
  # fleet, which determines the allocation strategy.
4784
5234
  #
4785
5235
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
4786
5236
  # versions 4.8.0 and later, excluding 5.0.x versions. On-Demand
4787
- # instances allocation strategy is available in Amazon EMR version
5237
+ # Instances allocation strategy is available in Amazon EMR version
4788
5238
  # 5.12.1 and later.
4789
5239
  #
4790
5240
  # </note>
@@ -4797,7 +5247,7 @@ module Aws::EMR
4797
5247
  # }
4798
5248
  #
4799
5249
  # @!attribute [rw] allocation_strategy
4800
- # Specifies the strategy to use in launching On-Demand instance
5250
+ # Specifies the strategy to use in launching On-Demand Instance
4801
5251
  # fleets. Currently, the only option is lowest-price (the default),
4802
5252
  # which launches the lowest price first.
4803
5253
  # @return [String]
@@ -4810,6 +5260,44 @@ module Aws::EMR
4810
5260
  include Aws::Structure
4811
5261
  end
4812
5262
 
5263
+ # Placement group configuration for an Amazon EMR cluster. The
5264
+ # configuration specifies the placement strategy that can be applied to
5265
+ # instance roles during cluster creation.
5266
+ #
5267
+ # To use this configuration, consider attaching managed policy
5268
+ # AmazonElasticMapReducePlacementGroupPolicy to the EMR role.
5269
+ #
5270
+ # @note When making an API call, you may pass PlacementGroupConfig
5271
+ # data as a hash:
5272
+ #
5273
+ # {
5274
+ # instance_role: "MASTER", # required, accepts MASTER, CORE, TASK
5275
+ # placement_strategy: "SPREAD", # accepts SPREAD, PARTITION, CLUSTER, NONE
5276
+ # }
5277
+ #
5278
+ # @!attribute [rw] instance_role
5279
+ # Role of the instance in the cluster.
5280
+ #
5281
+ # Starting with Amazon EMR version 5.23.0, the only supported instance
5282
+ # role is `MASTER`.
5283
+ # @return [String]
5284
+ #
5285
+ # @!attribute [rw] placement_strategy
5286
+ # EC2 Placement Group strategy associated with instance role.
5287
+ #
5288
+ # Starting with Amazon EMR version 5.23.0, the only supported
5289
+ # placement strategy is `SPREAD` for the `MASTER` instance role.
5290
+ # @return [String]
5291
+ #
5292
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PlacementGroupConfig AWS API Documentation
5293
+ #
5294
+ class PlacementGroupConfig < Struct.new(
5295
+ :instance_role,
5296
+ :placement_strategy)
5297
+ SENSITIVE = []
5298
+ include Aws::Structure
5299
+ end
5300
+
4813
5301
  # The Amazon EC2 Availability Zone configuration of the cluster (job
4814
5302
  # flow).
4815
5303
  #
@@ -4962,7 +5450,7 @@ module Aws::EMR
4962
5450
  # @return [Types::AutoScalingPolicyDescription]
4963
5451
  #
4964
5452
  # @!attribute [rw] cluster_arn
4965
- # The Amazon Resource Name of the cluster.
5453
+ # The Amazon Resource Name (ARN) of the cluster.
4966
5454
  # @return [String]
4967
5455
  #
4968
5456
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicyOutput AWS API Documentation
@@ -5394,6 +5882,12 @@ module Aws::EMR
5394
5882
  # maximum_core_capacity_units: 1,
5395
5883
  # },
5396
5884
  # },
5885
+ # placement_group_configs: [
5886
+ # {
5887
+ # instance_role: "MASTER", # required, accepts MASTER, CORE, TASK
5888
+ # placement_strategy: "SPREAD", # accepts SPREAD, PARTITION, CLUSTER, NONE
5889
+ # },
5890
+ # ],
5397
5891
  # }
5398
5892
  #
5399
5893
  # @!attribute [rw] name
@@ -5407,9 +5901,9 @@ module Aws::EMR
5407
5901
  #
5408
5902
  # @!attribute [rw] log_encryption_kms_key_id
5409
5903
  # The AWS KMS customer master key (CMK) used for encrypting log files.
5410
- # If a value is not provided, the logs will remain encrypted by
5411
- # AES-256. This attribute is only available with EMR version 5.30.0
5412
- # and later, excluding EMR 6.0.0.
5904
+ # If a value is not provided, the logs remain encrypted by AES-256.
5905
+ # This attribute is only available with Amazon EMR version 5.30.0 and
5906
+ # later, excluding Amazon EMR 6.0.0.
5413
5907
  # @return [String]
5414
5908
  #
5415
5909
  # @!attribute [rw] additional_info
@@ -5493,7 +5987,7 @@ module Aws::EMR
5493
5987
  #
5494
5988
  # * "mapr-m7" - launch the cluster using MapR M7 Edition.
5495
5989
  #
5496
- # * "hunk" - launch the cluster with the Hunk Big Data Analtics
5990
+ # * "hunk" - launch the cluster with the Hunk Big Data Analytics
5497
5991
  # Platform.
5498
5992
  #
5499
5993
  # * "hue"- launch the cluster with Hue installed.
@@ -5567,11 +6061,11 @@ module Aws::EMR
5567
6061
  # the request to terminate the instance was submitted. This option is
5568
6062
  # only available with Amazon EMR 5.1.0 and later and is the default
5569
6063
  # for clusters created using that version.
5570
- # `TERMINATE_AT_TASK_COMPLETION` indicates that Amazon EMR blacklists
5571
- # and drains tasks from nodes before terminating the Amazon EC2
5572
- # instances, regardless of the instance-hour boundary. With either
5573
- # behavior, Amazon EMR removes the least active nodes first and blocks
5574
- # instance termination if it could lead to HDFS corruption.
6064
+ # `TERMINATE_AT_TASK_COMPLETION` indicates that Amazon EMR adds nodes
6065
+ # to a deny list and drains tasks from nodes before terminating the
6066
+ # Amazon EC2 instances, regardless of the instance-hour boundary. With
6067
+ # either behavior, Amazon EMR removes the least active nodes first and
6068
+ # blocks instance termination if it could lead to HDFS corruption.
5575
6069
  # `TERMINATE_AT_TASK_COMPLETION` available only in Amazon EMR version
5576
6070
  # 4.1.0 and later, and is the default for versions of Amazon EMR
5577
6071
  # earlier than 5.1.0.
@@ -5599,9 +6093,9 @@ module Aws::EMR
5599
6093
  # @return [String]
5600
6094
  #
5601
6095
  # @!attribute [rw] ebs_root_volume_size
5602
- # The size, in GiB, of the EBS root device volume of the Linux AMI
5603
- # that is used for each EC2 instance. Available in Amazon EMR version
5604
- # 4.x and later.
6096
+ # The size, in GiB, of the Amazon EBS root device volume of the Linux
6097
+ # AMI that is used for each EC2 instance. Available in Amazon EMR
6098
+ # version 4.x and later.
5605
6099
  # @return [Integer]
5606
6100
  #
5607
6101
  # @!attribute [rw] repo_upgrade_on_boot
@@ -5616,7 +6110,8 @@ module Aws::EMR
5616
6110
  # @!attribute [rw] kerberos_attributes
5617
6111
  # Attributes for Kerberos configuration when Kerberos authentication
5618
6112
  # is enabled using a security configuration. For more information see
5619
- # [Use Kerberos Authentication][1] in the *EMR Management Guide*.
6113
+ # [Use Kerberos Authentication][1] in the *Amazon EMR Management
6114
+ # Guide*.
5620
6115
  #
5621
6116
  #
5622
6117
  #
@@ -5632,6 +6127,11 @@ module Aws::EMR
5632
6127
  # The specified managed scaling policy for an Amazon EMR cluster.
5633
6128
  # @return [Types::ManagedScalingPolicy]
5634
6129
  #
6130
+ # @!attribute [rw] placement_group_configs
6131
+ # The specified placement group configuration for an Amazon EMR
6132
+ # cluster.
6133
+ # @return [Array<Types::PlacementGroupConfig>]
6134
+ #
5635
6135
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowInput AWS API Documentation
5636
6136
  #
5637
6137
  class RunJobFlowInput < Struct.new(
@@ -5660,7 +6160,8 @@ module Aws::EMR
5660
6160
  :repo_upgrade_on_boot,
5661
6161
  :kerberos_attributes,
5662
6162
  :step_concurrency_level,
5663
- :managed_scaling_policy)
6163
+ :managed_scaling_policy,
6164
+ :placement_group_configs)
5664
6165
  SENSITIVE = []
5665
6166
  include Aws::Structure
5666
6167
  end
@@ -5668,11 +6169,11 @@ module Aws::EMR
5668
6169
  # The result of the RunJobFlow operation.
5669
6170
  #
5670
6171
  # @!attribute [rw] job_flow_id
5671
- # An unique identifier for the job flow.
6172
+ # A unique identifier for the job flow.
5672
6173
  # @return [String]
5673
6174
  #
5674
6175
  # @!attribute [rw] cluster_arn
5675
- # The Amazon Resource Name of the cluster.
6176
+ # The Amazon Resource Name (ARN) of the cluster.
5676
6177
  # @return [String]
5677
6178
  #
5678
6179
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlowOutput AWS API Documentation
@@ -5907,6 +6408,110 @@ module Aws::EMR
5907
6408
  include Aws::Structure
5908
6409
  end
5909
6410
 
6411
+ # Details for an Amazon EMR Studio session mapping including creation
6412
+ # time, user or group ID, Studio ID, and so on.
6413
+ #
6414
+ # @!attribute [rw] studio_id
6415
+ # The ID of the Amazon EMR Studio.
6416
+ # @return [String]
6417
+ #
6418
+ # @!attribute [rw] identity_id
6419
+ # The globally unique identifier (GUID) of the user or group.
6420
+ # @return [String]
6421
+ #
6422
+ # @!attribute [rw] identity_name
6423
+ # The name of the user or group. For more information, see
6424
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
6425
+ # API Reference*.
6426
+ #
6427
+ #
6428
+ #
6429
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
6430
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
6431
+ # @return [String]
6432
+ #
6433
+ # @!attribute [rw] identity_type
6434
+ # Specifies whether the identity mapped to the Amazon EMR Studio is a
6435
+ # user or a group.
6436
+ # @return [String]
6437
+ #
6438
+ # @!attribute [rw] session_policy_arn
6439
+ # The Amazon Resource Name (ARN) of the session policy associated with
6440
+ # the user or group.
6441
+ # @return [String]
6442
+ #
6443
+ # @!attribute [rw] creation_time
6444
+ # The time the session mapping was created.
6445
+ # @return [Time]
6446
+ #
6447
+ # @!attribute [rw] last_modified_time
6448
+ # The time the session mapping was last modified.
6449
+ # @return [Time]
6450
+ #
6451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SessionMappingDetail AWS API Documentation
6452
+ #
6453
+ class SessionMappingDetail < Struct.new(
6454
+ :studio_id,
6455
+ :identity_id,
6456
+ :identity_name,
6457
+ :identity_type,
6458
+ :session_policy_arn,
6459
+ :creation_time,
6460
+ :last_modified_time)
6461
+ SENSITIVE = []
6462
+ include Aws::Structure
6463
+ end
6464
+
6465
+ # Details for an Amazon EMR Studio session mapping. The details do not
6466
+ # include the time the session mapping was last modified.
6467
+ #
6468
+ # @!attribute [rw] studio_id
6469
+ # The ID of the Amazon EMR Studio.
6470
+ # @return [String]
6471
+ #
6472
+ # @!attribute [rw] identity_id
6473
+ # The globally unique identifier (GUID) of the user or group from the
6474
+ # AWS SSO Identity Store.
6475
+ # @return [String]
6476
+ #
6477
+ # @!attribute [rw] identity_name
6478
+ # The name of the user or group. For more information, see
6479
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
6480
+ # API Reference*.
6481
+ #
6482
+ #
6483
+ #
6484
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
6485
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
6486
+ # @return [String]
6487
+ #
6488
+ # @!attribute [rw] identity_type
6489
+ # Specifies whether the identity mapped to the Amazon EMR Studio is a
6490
+ # user or a group.
6491
+ # @return [String]
6492
+ #
6493
+ # @!attribute [rw] session_policy_arn
6494
+ # The Amazon Resource Name (ARN) of the session policy associated with
6495
+ # the user or group.
6496
+ # @return [String]
6497
+ #
6498
+ # @!attribute [rw] creation_time
6499
+ # The time the session mapping was created.
6500
+ # @return [Time]
6501
+ #
6502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SessionMappingSummary AWS API Documentation
6503
+ #
6504
+ class SessionMappingSummary < Struct.new(
6505
+ :studio_id,
6506
+ :identity_id,
6507
+ :identity_name,
6508
+ :identity_type,
6509
+ :session_policy_arn,
6510
+ :creation_time)
6511
+ SENSITIVE = []
6512
+ include Aws::Structure
6513
+ end
6514
+
5910
6515
  # The input argument to the TerminationProtection operation.
5911
6516
  #
5912
6517
  # @note When making an API call, you may pass SetTerminationProtectionInput
@@ -6059,12 +6664,12 @@ module Aws::EMR
6059
6664
  include Aws::Structure
6060
6665
  end
6061
6666
 
6062
- # The launch specification for Spot instances in the instance fleet,
6667
+ # The launch specification for Spot Instances in the instance fleet,
6063
6668
  # which determines the defined duration, provisioning timeout behavior,
6064
6669
  # and allocation strategy.
6065
6670
  #
6066
6671
  # <note markdown="1"> The instance fleet configuration is available only in Amazon EMR
6067
- # versions 4.8.0 and later, excluding 5.0.x versions. Spot instance
6672
+ # versions 4.8.0 and later, excluding 5.0.x versions. Spot Instance
6068
6673
  # allocation strategy is available in Amazon EMR version 5.12.1 and
6069
6674
  # later.
6070
6675
  #
@@ -6081,7 +6686,7 @@ module Aws::EMR
6081
6686
  # }
6082
6687
  #
6083
6688
  # @!attribute [rw] timeout_duration_minutes
6084
- # The spot provisioning timeout period in minutes. If Spot instances
6689
+ # The spot provisioning timeout period in minutes. If Spot Instances
6085
6690
  # are not provisioned within this time period, the `TimeOutAction` is
6086
6691
  # taken. Minimum value is 5 and maximum value is 1440. The timeout
6087
6692
  # applies only during initial provisioning, when the cluster is first
@@ -6091,29 +6696,29 @@ module Aws::EMR
6091
6696
  # @!attribute [rw] timeout_action
6092
6697
  # The action to take when `TargetSpotCapacity` has not been fulfilled
6093
6698
  # when the `TimeoutDurationMinutes` has expired; that is, when all
6094
- # Spot instances could not be provisioned within the Spot provisioning
6699
+ # Spot Instances could not be provisioned within the Spot provisioning
6095
6700
  # timeout. Valid values are `TERMINATE_CLUSTER` and
6096
6701
  # `SWITCH_TO_ON_DEMAND`. SWITCH\_TO\_ON\_DEMAND specifies that if no
6097
- # Spot instances are available, On-Demand Instances should be
6702
+ # Spot Instances are available, On-Demand Instances should be
6098
6703
  # provisioned to fulfill any remaining Spot capacity.
6099
6704
  # @return [String]
6100
6705
  #
6101
6706
  # @!attribute [rw] block_duration_minutes
6102
- # The defined duration for Spot instances (also known as Spot blocks)
6103
- # in minutes. When specified, the Spot instance does not terminate
6707
+ # The defined duration for Spot Instances (also known as Spot blocks)
6708
+ # in minutes. When specified, the Spot Instance does not terminate
6104
6709
  # before the defined duration expires, and defined duration pricing
6105
- # for Spot instances applies. Valid values are 60, 120, 180, 240, 300,
6106
- # or 360. The duration period starts as soon as a Spot instance
6710
+ # for Spot Instances applies. Valid values are 60, 120, 180, 240, 300,
6711
+ # or 360. The duration period starts as soon as a Spot Instance
6107
6712
  # receives its instance ID. At the end of the duration, Amazon EC2
6108
- # marks the Spot instance for termination and provides a Spot instance
6713
+ # marks the Spot Instance for termination and provides a Spot Instance
6109
6714
  # termination notice, which gives the instance a two-minute warning
6110
6715
  # before it terminates.
6111
6716
  # @return [Integer]
6112
6717
  #
6113
6718
  # @!attribute [rw] allocation_strategy
6114
- # Specifies the strategy to use in launching Spot instance fleets.
6719
+ # Specifies the strategy to use in launching Spot Instance fleets.
6115
6720
  # Currently, the only option is capacity-optimized (the default),
6116
- # which launches instances from Spot instance pools with optimal
6721
+ # which launches instances from Spot Instance pools with optimal
6117
6722
  # capacity for the number of instances that are launching.
6118
6723
  # @return [String]
6119
6724
  #
@@ -6194,7 +6799,7 @@ module Aws::EMR
6194
6799
  #
6195
6800
  # @!attribute [rw] tags
6196
6801
  # A list of tags associated with a notebook execution. Tags are
6197
- # user-defined key value pairs that consist of a required key string
6802
+ # user-defined key-value pairs that consist of a required key string
6198
6803
  # with a maximum of 128 characters and an optional value string with a
6199
6804
  # maximum of 256 characters.
6200
6805
  # @return [Array<Types::Tag>]
@@ -6493,7 +7098,143 @@ module Aws::EMR
6493
7098
  include Aws::Structure
6494
7099
  end
6495
7100
 
6496
- # The list of supported product configurations which allow user-supplied
7101
+ # Details for an Amazon EMR Studio including ID, creation time, name,
7102
+ # and so on.
7103
+ #
7104
+ # @!attribute [rw] studio_id
7105
+ # The ID of the Amazon EMR Studio.
7106
+ # @return [String]
7107
+ #
7108
+ # @!attribute [rw] studio_arn
7109
+ # The Amazon Resource Name (ARN) of the Amazon EMR Studio.
7110
+ # @return [String]
7111
+ #
7112
+ # @!attribute [rw] name
7113
+ # The name of the Amazon EMR Studio.
7114
+ # @return [String]
7115
+ #
7116
+ # @!attribute [rw] description
7117
+ # The detailed description of the Amazon EMR Studio.
7118
+ # @return [String]
7119
+ #
7120
+ # @!attribute [rw] auth_mode
7121
+ # Specifies whether the Amazon EMR Studio authenticates users using
7122
+ # single sign-on (SSO) or IAM.
7123
+ # @return [String]
7124
+ #
7125
+ # @!attribute [rw] vpc_id
7126
+ # The ID of the VPC associated with the Amazon EMR Studio.
7127
+ # @return [String]
7128
+ #
7129
+ # @!attribute [rw] subnet_ids
7130
+ # The list of IDs of the subnets associated with the Amazon EMR
7131
+ # Studio.
7132
+ # @return [Array<String>]
7133
+ #
7134
+ # @!attribute [rw] service_role
7135
+ # The name of the IAM role assumed by the Amazon EMR Studio.
7136
+ # @return [String]
7137
+ #
7138
+ # @!attribute [rw] user_role
7139
+ # The name of the IAM role assumed by users logged in to the Amazon
7140
+ # EMR Studio.
7141
+ # @return [String]
7142
+ #
7143
+ # @!attribute [rw] workspace_security_group_id
7144
+ # The ID of the Workspace security group associated with the Amazon
7145
+ # EMR Studio. The Workspace security group allows outbound network
7146
+ # traffic to resources in the Engine security group and to the
7147
+ # internet.
7148
+ # @return [String]
7149
+ #
7150
+ # @!attribute [rw] engine_security_group_id
7151
+ # The ID of the Engine security group associated with the Amazon EMR
7152
+ # Studio. The Engine security group allows inbound network traffic
7153
+ # from resources in the Workspace security group.
7154
+ # @return [String]
7155
+ #
7156
+ # @!attribute [rw] url
7157
+ # The unique access URL of the Amazon EMR Studio.
7158
+ # @return [String]
7159
+ #
7160
+ # @!attribute [rw] creation_time
7161
+ # The time the Amazon EMR Studio was created.
7162
+ # @return [Time]
7163
+ #
7164
+ # @!attribute [rw] default_s3_location
7165
+ # The default Amazon S3 location to back up Amazon EMR Studio
7166
+ # Workspaces and notebook files.
7167
+ # @return [String]
7168
+ #
7169
+ # @!attribute [rw] tags
7170
+ # A list of tags associated with the Amazon EMR Studio.
7171
+ # @return [Array<Types::Tag>]
7172
+ #
7173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/Studio AWS API Documentation
7174
+ #
7175
+ class Studio < Struct.new(
7176
+ :studio_id,
7177
+ :studio_arn,
7178
+ :name,
7179
+ :description,
7180
+ :auth_mode,
7181
+ :vpc_id,
7182
+ :subnet_ids,
7183
+ :service_role,
7184
+ :user_role,
7185
+ :workspace_security_group_id,
7186
+ :engine_security_group_id,
7187
+ :url,
7188
+ :creation_time,
7189
+ :default_s3_location,
7190
+ :tags)
7191
+ SENSITIVE = []
7192
+ include Aws::Structure
7193
+ end
7194
+
7195
+ # Details for an Amazon EMR Studio, including ID, Name, VPC, and
7196
+ # Description. The details do not include subnets, IAM roles, security
7197
+ # groups, or tags associated with the Studio.
7198
+ #
7199
+ # @!attribute [rw] studio_id
7200
+ # The ID of the Amazon EMR Studio.
7201
+ # @return [String]
7202
+ #
7203
+ # @!attribute [rw] name
7204
+ # The name of the Amazon EMR Studio.
7205
+ # @return [String]
7206
+ #
7207
+ # @!attribute [rw] vpc_id
7208
+ # The ID of the Virtual Private Cloud (Amazon VPC) associated with the
7209
+ # Amazon EMR Studio.
7210
+ # @return [String]
7211
+ #
7212
+ # @!attribute [rw] description
7213
+ # The detailed description of the Amazon EMR Studio.
7214
+ # @return [String]
7215
+ #
7216
+ # @!attribute [rw] url
7217
+ # The unique access URL of the Amazon EMR Studio.
7218
+ # @return [String]
7219
+ #
7220
+ # @!attribute [rw] creation_time
7221
+ # The time when the Amazon EMR Studio was created.
7222
+ # @return [Time]
7223
+ #
7224
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StudioSummary AWS API Documentation
7225
+ #
7226
+ class StudioSummary < Struct.new(
7227
+ :studio_id,
7228
+ :name,
7229
+ :vpc_id,
7230
+ :description,
7231
+ :url,
7232
+ :creation_time)
7233
+ SENSITIVE = []
7234
+ include Aws::Structure
7235
+ end
7236
+
7237
+ # The list of supported product configurations that allow user-supplied
6497
7238
  # arguments. EMR accepts these arguments and forwards them to the
6498
7239
  # corresponding installation script as bootstrap action arguments.
6499
7240
  #
@@ -6522,7 +7263,7 @@ module Aws::EMR
6522
7263
  include Aws::Structure
6523
7264
  end
6524
7265
 
6525
- # A key/value pair containing user-defined metadata that you can
7266
+ # A key-value pair containing user-defined metadata that you can
6526
7267
  # associate with an Amazon EMR resource. Tags make it easier to
6527
7268
  # associate clusters in various ways, such as grouping clusters to track
6528
7269
  # your Amazon EMR resource allocation costs. For more information, see
@@ -6577,7 +7318,7 @@ module Aws::EMR
6577
7318
  # }
6578
7319
  #
6579
7320
  # @!attribute [rw] job_flow_ids
6580
- # A list of job flows to be shutdown.
7321
+ # A list of job flows to be shut down.
6581
7322
  # @return [Array<String>]
6582
7323
  #
6583
7324
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlowsInput AWS API Documentation
@@ -6588,6 +7329,115 @@ module Aws::EMR
6588
7329
  include Aws::Structure
6589
7330
  end
6590
7331
 
7332
+ # @note When making an API call, you may pass UpdateStudioInput
7333
+ # data as a hash:
7334
+ #
7335
+ # {
7336
+ # studio_id: "XmlStringMaxLen256", # required
7337
+ # name: "XmlStringMaxLen256",
7338
+ # description: "XmlStringMaxLen256",
7339
+ # subnet_ids: ["String"],
7340
+ # default_s3_location: "XmlString",
7341
+ # }
7342
+ #
7343
+ # @!attribute [rw] studio_id
7344
+ # The ID of the Amazon EMR Studio to update.
7345
+ # @return [String]
7346
+ #
7347
+ # @!attribute [rw] name
7348
+ # A descriptive name for the Amazon EMR Studio.
7349
+ # @return [String]
7350
+ #
7351
+ # @!attribute [rw] description
7352
+ # A detailed description to assign to the Amazon EMR Studio.
7353
+ # @return [String]
7354
+ #
7355
+ # @!attribute [rw] subnet_ids
7356
+ # A list of subnet IDs to associate with the Amazon EMR Studio. The
7357
+ # list can include new subnet IDs, but must also include all of the
7358
+ # subnet IDs previously associated with the Studio. The list order
7359
+ # does not matter. A Studio can have a maximum of 5 subnets. The
7360
+ # subnets must belong to the same VPC as the Studio.
7361
+ # @return [Array<String>]
7362
+ #
7363
+ # @!attribute [rw] default_s3_location
7364
+ # A default Amazon S3 location to back up Workspaces and notebook
7365
+ # files for the Amazon EMR Studio. A Studio user can select an
7366
+ # alternative Amazon S3 location when creating a Workspace.
7367
+ # @return [String]
7368
+ #
7369
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioInput AWS API Documentation
7370
+ #
7371
+ class UpdateStudioInput < Struct.new(
7372
+ :studio_id,
7373
+ :name,
7374
+ :description,
7375
+ :subnet_ids,
7376
+ :default_s3_location)
7377
+ SENSITIVE = []
7378
+ include Aws::Structure
7379
+ end
7380
+
7381
+ # @note When making an API call, you may pass UpdateStudioSessionMappingInput
7382
+ # data as a hash:
7383
+ #
7384
+ # {
7385
+ # studio_id: "XmlStringMaxLen256", # required
7386
+ # identity_id: "XmlStringMaxLen256",
7387
+ # identity_name: "XmlStringMaxLen256",
7388
+ # identity_type: "USER", # required, accepts USER, GROUP
7389
+ # session_policy_arn: "XmlStringMaxLen256", # required
7390
+ # }
7391
+ #
7392
+ # @!attribute [rw] studio_id
7393
+ # The ID of the Amazon EMR Studio.
7394
+ # @return [String]
7395
+ #
7396
+ # @!attribute [rw] identity_id
7397
+ # The globally unique identifier (GUID) of the user or group. For more
7398
+ # information, see [UserId][1] and [GroupId][2] in the *AWS SSO
7399
+ # Identity Store API Reference*. Either `IdentityName` or `IdentityId`
7400
+ # must be specified.
7401
+ #
7402
+ #
7403
+ #
7404
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId
7405
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId
7406
+ # @return [String]
7407
+ #
7408
+ # @!attribute [rw] identity_name
7409
+ # The name of the user or group to update. For more information, see
7410
+ # [UserName][1] and [DisplayName][2] in the *AWS SSO Identity Store
7411
+ # API Reference*. Either `IdentityName` or `IdentityId` must be
7412
+ # specified.
7413
+ #
7414
+ #
7415
+ #
7416
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName
7417
+ # [2]: https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName
7418
+ # @return [String]
7419
+ #
7420
+ # @!attribute [rw] identity_type
7421
+ # Specifies whether the identity to update is a user or a group.
7422
+ # @return [String]
7423
+ #
7424
+ # @!attribute [rw] session_policy_arn
7425
+ # The Amazon Resource Name (ARN) of the session policy to associate
7426
+ # with the specified user or group.
7427
+ # @return [String]
7428
+ #
7429
+ # @see http://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioSessionMappingInput AWS API Documentation
7430
+ #
7431
+ class UpdateStudioSessionMappingInput < Struct.new(
7432
+ :studio_id,
7433
+ :identity_id,
7434
+ :identity_name,
7435
+ :identity_type,
7436
+ :session_policy_arn)
7437
+ SENSITIVE = []
7438
+ include Aws::Structure
7439
+ end
7440
+
6591
7441
  # EBS volume specifications such as volume type, IOPS, and size (GiB)
6592
7442
  # that will be requested for the EBS volume attached to an EC2 instance
6593
7443
  # in the cluster.