@@ -247,7 +247,7 @@ resource "aws_launch_template" "gitlab_runner_instance" {
247
247
}
248
248
}
249
249
iam_instance_profile {
250
- name = aws_iam_instance_profile . instance . name
250
+ name = local . aws_iam_role_instance_name
251
251
}
252
252
dynamic "block_device_mappings" {
253
253
for_each = [var . runner_root_block_device ]
@@ -330,14 +330,16 @@ module "cache" {
330
330
# ## Trust policy
331
331
# ###############################################################################
332
332
resource "aws_iam_instance_profile" "instance" {
333
- name = " ${ local . name_iam_objects } -instance"
333
+ count = var. create_runner_iam_role ? 1 : 0
334
+
335
+ name = local. aws_iam_role_instance_name
334
336
role = local. aws_iam_role_instance_name
335
337
tags = local. tags
336
338
}
337
339
338
340
resource "aws_iam_role" "instance" {
339
341
count = var. create_runner_iam_role ? 1 : 0
340
- name = " ${ local . name_iam_objects } -instance "
342
+ name = local. aws_iam_role_instance_name
341
343
assume_role_policy = length (var. instance_role_json ) > 0 ? var. instance_role_json : templatefile (" ${ path . module } /policies/instance-role-trust-policy.json" , {})
342
344
permissions_boundary = var. permissions_boundary == " " ? null : " arn:${ data . aws_partition . current . partition } :iam::${ data . aws_caller_identity . current . account_id } :policy/${ var . permissions_boundary } "
343
345
tags = merge (local. tags , var. role_tags )
@@ -349,6 +351,7 @@ resource "aws_iam_role" "instance" {
349
351
# ## iam:PassRole To pass the role from the agent to the docker machine runners
350
352
# ###############################################################################
351
353
resource "aws_iam_policy" "instance_docker_machine_policy" {
354
+ count = var. create_runner_iam_role ? 1 : 0
352
355
name = " ${ local . name_iam_objects } -docker-machine"
353
356
path = " /"
354
357
description = " Policy for docker machine."
@@ -360,8 +363,10 @@ resource "aws_iam_policy" "instance_docker_machine_policy" {
360
363
}
361
364
362
365
resource "aws_iam_role_policy_attachment" "instance_docker_machine_policy" {
366
+ count = var. create_runner_iam_role ? 1 : 0
367
+
363
368
role = local. aws_iam_role_instance_name
364
- policy_arn = aws_iam_policy. instance_docker_machine_policy . arn
369
+ policy_arn = aws_iam_policy. instance_docker_machine_policy [ count . index ] . arn
365
370
}
366
371
367
372
# ###############################################################################
@@ -395,7 +400,8 @@ resource "aws_iam_role_policy_attachment" "instance_session_manager_aws_managed"
395
400
# ## Add user defined policies
396
401
# ###############################################################################
397
402
resource "aws_iam_role_policy_attachment" "user_defined_policies" {
398
- count = length (var. runner_iam_policy_arns )
403
+ count = length (var. runner_iam_policy_arns )
404
+
399
405
role = local. aws_iam_role_instance_name
400
406
policy_arn = var. runner_iam_policy_arns [count . index ]
401
407
}
0 commit comments