diff --git a/local-app/aws-account-setup/ansible/roles/inf-common/files/service-linked-roles.tf b/local-app/aws-account-setup/ansible/roles/inf-common/files/service-linked-roles.tf new file mode 100644 index 00000000..928658b8 --- /dev/null +++ b/local-app/aws-account-setup/ansible/roles/inf-common/files/service-linked-roles.tf @@ -0,0 +1,10 @@ +resource "aws_iam_service_linked_role" "roles" { + for_each = toset(var.service_linked_roles) + aws_service_name = each.key + + tags = merge( + local.base_tags, +# module.tags.tags, +# module.tags.finops_roles["servicelinkedrole"], + ) +} diff --git a/local-app/aws-account-setup/ansible/roles/inf-common/files/variables.service-linked-roles.auto.tfvars b/local-app/aws-account-setup/ansible/roles/inf-common/files/variables.service-linked-roles.auto.tfvars new file mode 100644 index 00000000..56bfb11a --- /dev/null +++ b/local-app/aws-account-setup/ansible/roles/inf-common/files/variables.service-linked-roles.auto.tfvars @@ -0,0 +1,13 @@ +service_linked_roles = [ + "autoscaling.amazonaws.com", + "dynamodb.application-autoscaling.amazonaws.com", + "ecs.amazonaws.com", + "trustedadvisor.amazonaws.com", + "support.amazonaws.com", + "spot.amazonaws.com", + "elasticache.amazonaws.com", + "eks-nodegroup.amazonaws.com", + "ecs.application-autoscaling.amazonaws.com", + "rds.amazonaws.com", + "rds.application-autoscaling.amazonaws.com", +] diff --git a/local-app/aws-account-setup/ansible/roles/inf-common/files/variables.service-linked-roles.tf b/local-app/aws-account-setup/ansible/roles/inf-common/files/variables.service-linked-roles.tf new file mode 100644 index 00000000..f1236a1e --- /dev/null +++ b/local-app/aws-account-setup/ansible/roles/inf-common/files/variables.service-linked-roles.tf @@ -0,0 +1,5 @@ +variable "service_linked_roles" { + description = "List of service linked role service name" + type = list(string) + default = [] +} diff --git a/local-app/aws-account-setup/ansible/roles/inf-common/vars/main.yml b/local-app/aws-account-setup/ansible/roles/inf-common/vars/main.yml index db8930f2..9e3938dd 100644 --- a/local-app/aws-account-setup/ansible/roles/inf-common/vars/main.yml +++ b/local-app/aws-account-setup/ansible/roles/inf-common/vars/main.yml @@ -12,6 +12,10 @@ main_files: - INF.group.inf-cloud-admin.tf - INF.group.inf-ip-restriction.tf - inf-cloud-admin.users.tf +# for service linked roles + - service-linked-roles.tf + - variables.service-linked-roles.auto.tfvars + - variables.service-linked-roles.tf main_files_ew: - INF.role.billing.tf