@@ -243,7 +243,7 @@ resource "aws_launch_template" "gitlab_runner_instance" {
243
243
}
244
244
}
245
245
iam_instance_profile {
246
- name = aws_iam_instance_profile . instance . name
246
+ name = local . aws_iam_instance_profile_instance_name
247
247
}
248
248
dynamic "block_device_mappings" {
249
249
for_each = [var . runner_root_block_device ]
@@ -322,14 +322,16 @@ module "cache" {
322
322
# ## Trust policy
323
323
# ###############################################################################
324
324
resource "aws_iam_instance_profile" "instance" {
325
- name = " ${ local . name_iam_objects } -instance"
325
+ count = var. create_runner_iam_role ? 1 : 0
326
+
327
+ name = local. aws_iam_role_instance_name
326
328
role = local. aws_iam_role_instance_name
327
329
tags = local. tags
328
330
}
329
331
330
332
resource "aws_iam_role" "instance" {
331
333
count = var. create_runner_iam_role ? 1 : 0
332
- name = " ${ local . name_iam_objects } -instance "
334
+ name = local. aws_iam_role_instance_name
333
335
assume_role_policy = length (var. instance_role_json ) > 0 ? var. instance_role_json : templatefile (" ${ path . module } /policies/instance-role-trust-policy.json" , {})
334
336
permissions_boundary = var. permissions_boundary == " " ? null : " arn:${ data . aws_partition . current . partition } :iam::${ data . aws_caller_identity . current . account_id } :policy/${ var . permissions_boundary } "
335
337
tags = merge (local. tags , var. role_tags )
@@ -341,6 +343,7 @@ resource "aws_iam_role" "instance" {
341
343
# ## iam:PassRole To pass the role from the agent to the docker machine runners
342
344
# ###############################################################################
343
345
resource "aws_iam_policy" "instance_docker_machine_policy" {
346
+ count = var. create_runner_iam_role ? 1 : 0
344
347
name = " ${ local . name_iam_objects } -docker-machine"
345
348
path = " /"
346
349
description = " Policy for docker machine."
@@ -352,8 +355,10 @@ resource "aws_iam_policy" "instance_docker_machine_policy" {
352
355
}
353
356
354
357
resource "aws_iam_role_policy_attachment" "instance_docker_machine_policy" {
358
+ count = var. create_runner_iam_role ? 1 : 0
359
+
355
360
role = local. aws_iam_role_instance_name
356
- policy_arn = aws_iam_policy. instance_docker_machine_policy . arn
361
+ policy_arn = aws_iam_policy. instance_docker_machine_policy [ count . index ] . arn
357
362
}
358
363
359
364
# ###############################################################################
@@ -387,7 +392,8 @@ resource "aws_iam_role_policy_attachment" "instance_session_manager_aws_managed"
387
392
# ## Add user defined policies
388
393
# ###############################################################################
389
394
resource "aws_iam_role_policy_attachment" "user_defined_policies" {
390
- count = length (var. runner_iam_policy_arns )
395
+ count = length (var. runner_iam_policy_arns )
396
+
391
397
role = local. aws_iam_role_instance_name
392
398
policy_arn = var. runner_iam_policy_arns [count . index ]
393
399
}
0 commit comments