aws-sdk-emr 1.37.0 → 1.42.0

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