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
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     = {}
}