1
1
locals {
2
2
enabled = module. this . enabled
3
3
4
- aws_partition = join (" " , data. aws_partition . current . * . partition )
4
+ aws_partition = join (" " , data. aws_partition . current [ * ] . partition )
5
5
6
6
# This dummy bootstrap action is needed because of terraform bug https://github.com/terraform-providers/terraform-provider-aws/issues/12683
7
7
# When javax.jdo.option.ConnectionPassword is used in configuration_json then every plan will result in force recreation of EMR cluster.
@@ -151,7 +151,7 @@ resource "aws_security_group_rule" "managed_master_egress" {
151
151
protocol = " -1"
152
152
cidr_blocks = [" 0.0.0.0/0" ]
153
153
ipv6_cidr_blocks = [" ::/0" ]
154
- security_group_id = join (" " , aws_security_group. managed_master . * . id )
154
+ security_group_id = join (" " , aws_security_group. managed_master [ * ] . id )
155
155
}
156
156
157
157
resource "aws_security_group" "managed_slave" {
@@ -179,7 +179,7 @@ resource "aws_security_group_rule" "managed_slave_egress" {
179
179
protocol = " -1"
180
180
cidr_blocks = [" 0.0.0.0/0" ]
181
181
ipv6_cidr_blocks = [" ::/0" ]
182
- security_group_id = join (" " , aws_security_group. managed_slave . * . id )
182
+ security_group_id = join (" " , aws_security_group. managed_slave [ * ] . id )
183
183
}
184
184
185
185
resource "aws_security_group" "managed_service_access" {
@@ -205,8 +205,8 @@ resource "aws_security_group_rule" "managed_master_service_access_ingress" {
205
205
from_port = 9443
206
206
to_port = 9443
207
207
protocol = " tcp"
208
- source_security_group_id = join (" " , aws_security_group. managed_master . * . id )
209
- security_group_id = join (" " , aws_security_group. managed_service_access . * . id )
208
+ source_security_group_id = join (" " , aws_security_group. managed_master [ * ] . id )
209
+ security_group_id = join (" " , aws_security_group. managed_service_access [ * ] . id )
210
210
}
211
211
212
212
resource "aws_security_group_rule" "managed_service_access_egress" {
@@ -219,7 +219,7 @@ resource "aws_security_group_rule" "managed_service_access_egress" {
219
219
protocol = " -1"
220
220
cidr_blocks = [" 0.0.0.0/0" ]
221
221
ipv6_cidr_blocks = [" ::/0" ]
222
- security_group_id = join (" " , aws_security_group. managed_service_access . * . id )
222
+ security_group_id = join (" " , aws_security_group. managed_service_access [ * ] . id )
223
223
}
224
224
225
225
# Specify additional master and slave security groups
@@ -242,7 +242,7 @@ resource "aws_security_group_rule" "master_ingress_security_groups" {
242
242
to_port = 65535
243
243
protocol = " tcp"
244
244
source_security_group_id = var. master_allowed_security_groups [count . index ]
245
- security_group_id = join (" " , aws_security_group. master . * . id )
245
+ security_group_id = join (" " , aws_security_group. master [ * ] . id )
246
246
}
247
247
248
248
resource "aws_security_group_rule" "master_ingress_cidr_blocks" {
@@ -254,7 +254,7 @@ resource "aws_security_group_rule" "master_ingress_cidr_blocks" {
254
254
to_port = 65535
255
255
protocol = " tcp"
256
256
cidr_blocks = var. master_allowed_cidr_blocks
257
- security_group_id = join (" " , aws_security_group. master . * . id )
257
+ security_group_id = join (" " , aws_security_group. master [ * ] . id )
258
258
}
259
259
260
260
resource "aws_security_group_rule" "master_egress" {
@@ -266,7 +266,7 @@ resource "aws_security_group_rule" "master_egress" {
266
266
to_port = 65535
267
267
protocol = " tcp"
268
268
cidr_blocks = [" 0.0.0.0/0" ]
269
- security_group_id = join (" " , aws_security_group. master . * . id )
269
+ security_group_id = join (" " , aws_security_group. master [ * ] . id )
270
270
}
271
271
272
272
resource "aws_security_group" "slave" {
@@ -288,7 +288,7 @@ resource "aws_security_group_rule" "slave_ingress_security_groups" {
288
288
to_port = 65535
289
289
protocol = " tcp"
290
290
source_security_group_id = var. slave_allowed_security_groups [count . index ]
291
- security_group_id = join (" " , aws_security_group. slave . * . id )
291
+ security_group_id = join (" " , aws_security_group. slave [ * ] . id )
292
292
}
293
293
294
294
resource "aws_security_group_rule" "slave_ingress_cidr_blocks" {
@@ -300,7 +300,7 @@ resource "aws_security_group_rule" "slave_ingress_cidr_blocks" {
300
300
to_port = 65535
301
301
protocol = " tcp"
302
302
cidr_blocks = var. slave_allowed_cidr_blocks
303
- security_group_id = join (" " , aws_security_group. slave . * . id )
303
+ security_group_id = join (" " , aws_security_group. slave [ * ] . id )
304
304
}
305
305
306
306
resource "aws_security_group_rule" "slave_egress" {
@@ -312,7 +312,7 @@ resource "aws_security_group_rule" "slave_egress" {
312
312
to_port = 65535
313
313
protocol = " tcp"
314
314
cidr_blocks = [" 0.0.0.0/0" ]
315
- security_group_id = join (" " , aws_security_group. slave . * . id )
315
+ security_group_id = join (" " , aws_security_group. slave [ * ] . id )
316
316
}
317
317
318
318
/*
@@ -339,7 +339,7 @@ resource "aws_iam_role" "emr" {
339
339
count = local. enabled && var. service_role_enabled ? 1 : 0
340
340
341
341
name = module. label_emr . id
342
- assume_role_policy = join (" " , data. aws_iam_policy_document . assume_role_emr . * . json )
342
+ assume_role_policy = join (" " , data. aws_iam_policy_document . assume_role_emr [ * ] . json )
343
343
permissions_boundary = var. emr_role_permissions_boundary
344
344
345
345
tags = module. this . tags
@@ -349,7 +349,7 @@ resource "aws_iam_role" "emr" {
349
349
resource "aws_iam_role_policy_attachment" "emr" {
350
350
count = local. enabled && var. service_role_enabled ? 1 : 0
351
351
352
- role = join (" " , aws_iam_role. emr . * . name )
352
+ role = join (" " , aws_iam_role. emr [ * ] . name )
353
353
policy_arn = " arn:${ local . aws_partition } :iam::aws:policy/service-role/AmazonElasticMapReduceRole"
354
354
}
355
355
@@ -379,7 +379,7 @@ resource "aws_iam_role" "ec2" {
379
379
count = local. enabled && var. ec2_role_enabled ? 1 : 0
380
380
381
381
name = module. label_ec2 . id
382
- assume_role_policy = join (" " , data. aws_iam_policy_document . assume_role_ec2 . * . json )
382
+ assume_role_policy = join (" " , data. aws_iam_policy_document . assume_role_ec2 [ * ] . json )
383
383
permissions_boundary = var. ec2_role_permissions_boundary
384
384
385
385
tags = module. this . tags
@@ -389,7 +389,7 @@ resource "aws_iam_role" "ec2" {
389
389
resource "aws_iam_role_policy_attachment" "ec2" {
390
390
count = local. enabled && var. ec2_role_enabled ? 1 : 0
391
391
392
- role = join (" " , aws_iam_role. ec2 . * . name )
392
+ role = join (" " , aws_iam_role. ec2 [ * ] . name )
393
393
policy_arn = " arn:${ local . aws_partition } :iam::aws:policy/service-role/AmazonElasticMapReduceforEC2Role"
394
394
}
395
395
@@ -400,15 +400,15 @@ https://aws.amazon.com/blogs/big-data/securing-access-to-emr-clusters-using-aws-
400
400
resource "aws_iam_role_policy_attachment" "emr_ssm_access" {
401
401
count = local. enabled && var. ec2_role_enabled && var. enable_ssm_access ? 1 : 0
402
402
403
- role = join (" " , aws_iam_role. ec2 . * . name )
403
+ role = join (" " , aws_iam_role. ec2 [ * ] . name )
404
404
policy_arn = " arn:${ local . aws_partition } :iam::aws:policy/AmazonSSMManagedInstanceCore"
405
405
}
406
406
407
407
resource "aws_iam_instance_profile" "ec2" {
408
408
count = local. enabled && var. ec2_role_enabled ? 1 : 0
409
409
410
- name = join (" " , aws_iam_role. ec2 . * . name )
411
- role = join (" " , aws_iam_role. ec2 . * . name )
410
+ name = join (" " , aws_iam_role. ec2 [ * ] . name )
411
+ role = join (" " , aws_iam_role. ec2 [ * ] . name )
412
412
tags = module. this . tags
413
413
}
414
414
@@ -421,7 +421,7 @@ resource "aws_iam_role" "ec2_autoscaling" {
421
421
count = local. enabled && var. ec2_autoscaling_role_enabled ? 1 : 0
422
422
423
423
name = module. label_ec2_autoscaling . id
424
- assume_role_policy = join (" " , data. aws_iam_policy_document . assume_role_emr . * . json )
424
+ assume_role_policy = join (" " , data. aws_iam_policy_document . assume_role_emr [ * ] . json )
425
425
permissions_boundary = var. ec2_autoscaling_role_permissions_boundary
426
426
427
427
tags = module. this . tags
@@ -431,7 +431,7 @@ resource "aws_iam_role" "ec2_autoscaling" {
431
431
resource "aws_iam_role_policy_attachment" "ec2_autoscaling" {
432
432
count = local. enabled && var. ec2_autoscaling_role_enabled ? 1 : 0
433
433
434
- role = join (" " , aws_iam_role. ec2_autoscaling . * . name )
434
+ role = join (" " , aws_iam_role. ec2_autoscaling [ * ] . name )
435
435
policy_arn = " arn:${ local . aws_partition } :iam::aws:policy/service-role/AmazonElasticMapReduceforAutoScalingRole"
436
436
}
437
437
@@ -445,12 +445,12 @@ resource "aws_emr_cluster" "default" {
445
445
ec2_attributes {
446
446
key_name = var. key_name
447
447
subnet_id = var. subnet_id
448
- emr_managed_master_security_group = var. use_existing_managed_master_security_group == false ? join (" " , aws_security_group. managed_master . * . id ) : var. managed_master_security_group
449
- emr_managed_slave_security_group = var. use_existing_managed_slave_security_group == false ? join (" " , aws_security_group. managed_slave . * . id ) : var. managed_slave_security_group
450
- service_access_security_group = var. use_existing_service_access_security_group == false && var. subnet_type == " private" ? join (" " , aws_security_group. managed_service_access . * . id ) : var. service_access_security_group
451
- instance_profile = var. ec2_role_enabled ? join (" " , aws_iam_instance_profile. ec2 . * . arn ) : var. existing_ec2_instance_profile_arn
452
- additional_master_security_groups = var. use_existing_additional_master_security_group == false ? join (" " , aws_security_group. master . * . id ) : var. additional_master_security_group
453
- additional_slave_security_groups = var. use_existing_additional_slave_security_group == false ? join (" " , aws_security_group. slave . * . id ) : var. additional_slave_security_group
448
+ emr_managed_master_security_group = var. use_existing_managed_master_security_group == false ? join (" " , aws_security_group. managed_master [ * ] . id ) : var. managed_master_security_group
449
+ emr_managed_slave_security_group = var. use_existing_managed_slave_security_group == false ? join (" " , aws_security_group. managed_slave [ * ] . id ) : var. managed_slave_security_group
450
+ service_access_security_group = var. use_existing_service_access_security_group == false && var. subnet_type == " private" ? join (" " , aws_security_group. managed_service_access [ * ] . id ) : var. service_access_security_group
451
+ instance_profile = var. ec2_role_enabled ? join (" " , aws_iam_instance_profile. ec2 [ * ] . arn ) : var. existing_ec2_instance_profile_arn
452
+ additional_master_security_groups = var. use_existing_additional_master_security_group == false ? join (" " , aws_security_group. master [ * ] . id ) : var. additional_master_security_group
453
+ additional_slave_security_groups = var. use_existing_additional_slave_security_group == false ? join (" " , aws_security_group. slave [ * ] . id ) : var. additional_slave_security_group
454
454
}
455
455
456
456
termination_protection = var. termination_protection
@@ -542,8 +542,8 @@ resource "aws_emr_cluster" "default" {
542
542
543
543
log_uri = var. log_uri
544
544
545
- service_role = var. service_role_enabled ? join (" " , aws_iam_role. emr . * . arn ) : var. existing_service_role_arn
546
- autoscaling_role = var. ec2_autoscaling_role_enabled ? join (" " , aws_iam_role. ec2_autoscaling . * . arn ) : var. existing_ec2_autoscaling_role_arn
545
+ service_role = var. service_role_enabled ? join (" " , aws_iam_role. emr [ * ] . arn ) : var. existing_service_role_arn
546
+ autoscaling_role = var. ec2_autoscaling_role_enabled ? join (" " , aws_iam_role. ec2_autoscaling [ * ] . arn ) : var. existing_ec2_autoscaling_role_arn
547
547
548
548
# configurations_json changes are ignored because of terraform bug. Configuration changes are applied via local.bootstrap_action.
549
549
lifecycle {
@@ -559,7 +559,7 @@ resource "aws_emr_instance_group" "task" {
559
559
count = local. enabled && var. create_task_instance_group ? 1 : 0
560
560
561
561
name = module. label_task . id
562
- cluster_id = join (" " , aws_emr_cluster. default . * . id )
562
+ cluster_id = join (" " , aws_emr_cluster. default [ * ] . id )
563
563
564
564
instance_type = var. task_instance_group_instance_type
565
565
instance_count = var. task_instance_group_instance_count
@@ -584,7 +584,7 @@ module "dns_master" {
584
584
585
585
dns_name = var. master_dns_name != null && var. master_dns_name != " " ? var. master_dns_name : " emr-master-${ module . this . name } "
586
586
zone_id = var. zone_id
587
- records = coalescelist (aws_emr_cluster. default . * . master_public_dns , [" " ])
587
+ records = coalescelist (aws_emr_cluster. default [ * ] . master_public_dns , [" " ])
588
588
589
589
context = module. this . context
590
590
}
0 commit comments