-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathassumerole.tf
37 lines (28 loc) · 1.04 KB
/
assumerole.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
locals {
external_id = coalesce(var.assumerole_role_external_id, random_password.external_id.result)
}
resource "local_file" "assumerole_addrole" {
count = var.create_assumerole_template ? 1 : 0
filename = "assumerole/addrole.sh"
content = templatefile("${path.module}/template/addrole.sh.tftpl", {
stack_name = var.assumerole_stack_name
assumerole_template_name = var.assumerole_template_name
})
}
resource "local_sensitive_file" "assumerole_tfassumerole" {
count = var.create_assumerole_template ? 1 : 0
filename = var.assumerole_template_name
content = templatefile("${path.module}/template/tfassumerole.cfn.yml.tftpl", {
external_id = local.external_id
parent_account_id = local.account_id
partition = local.partition
policy_arns = var.assumerole_role_attach_policies
role_name = var.assumerole_role_name
})
}
# not used if an external id is specified
resource "random_password" "external_id" {
length = 16
special = true
override_special = "-_=+"
}