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
|
variable "name" {
description = "IAM role name"
type = string
}
variable "description" {
description = "IAM role description"
type = string
default = ""
}
variable "path" {
description = "IAM role path"
type = string
default = "/"
}
variable "assume_role_policy" {
description = "JSON trust policy document for the role"
type = string
}
variable "max_session_duration" {
description = "Maximum session duration in seconds (3600–43200)"
type = number
default = 3600
}
variable "force_detach_policies" {
description = "Force-detach policies when destroying the role"
type = bool
default = false
}
variable "permissions_boundary" {
description = "ARN of the permissions boundary policy (optional)"
type = string
default = null
}
variable "managed_policy_arns" {
description = "List of managed policy ARNs to attach"
type = list(string)
default = []
}
variable "inline_policies" {
description = "Map of inline policy name to JSON policy document"
type = map(string)
default = {}
}
variable "instance_profile" {
description = "Create an EC2 instance profile for this role"
type = bool
default = false
}
variable "instance_profile_name" {
description = "Name for the instance profile (defaults to role name)"
type = string
default = null
}
variable "tags" {
description = "Resource tags to apply to all resources"
type = map(string)
default = {}
}
|