-
-
Notifications
You must be signed in to change notification settings - Fork 78
/
variables.tf
96 lines (81 loc) · 2.67 KB
/
variables.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
variable "use_fullname" {
type = bool
default = true
description = <<-EOT
If set to 'true' then the full ID for the IAM role name (e.g. `[var.namespace]-[var.environment]-[var.stage]`) will be used.
Otherwise, `var.name` will be used for the IAM role name.
EOT
}
variable "principals" {
type = map(list(string))
description = "Map of service name as key and a list of ARNs to allow assuming the role as value (e.g. map(`AWS`, list(`arn:aws:iam:::role/admin`)))"
default = {}
}
variable "policy_documents" {
type = list(string)
description = "List of JSON IAM policy documents"
default = []
}
variable "policy_document_count" {
type = number
description = "Number of policy documents (length of policy_documents list)"
default = 1
}
variable "managed_policy_arns" {
type = set(string)
description = "List of managed policies to attach to created role"
default = []
}
variable "max_session_duration" {
type = number
default = 3600
description = "The maximum session duration (in seconds) for the role. Can have a value from 1 hour to 12 hours"
}
variable "permissions_boundary" {
type = string
default = ""
description = "ARN of the policy that is used to set the permissions boundary for the role"
}
variable "role_description" {
type = string
description = "The description of the IAM role that is visible in the IAM role manager"
}
variable "policy_name" {
type = string
description = "The name of the IAM policy that is visible in the IAM policy manager"
default = null
}
variable "policy_description" {
type = string
default = ""
description = "The description of the IAM policy that is visible in the IAM policy manager"
}
variable "assume_role_actions" {
type = list(string)
default = ["sts:AssumeRole", "sts:TagSession"]
description = "The IAM action to be granted by the AssumeRole policy"
}
variable "assume_role_conditions" {
type = list(object({
test = string
variable = string
values = list(string)
}))
description = "List of conditions for the assume role policy"
default = []
}
variable "instance_profile_enabled" {
type = bool
default = false
description = "Create EC2 Instance Profile for the role"
}
variable "path" {
type = string
description = "Path to the role and policy. See [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) for more information."
default = "/"
}
variable "tags_enabled" {
type = string
description = "Enable/disable tags on IAM roles and policies"
default = true
}