-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathvariables.tf
177 lines (148 loc) · 4.88 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
// EKS CLUSTER IAM ROLE VARIABLES
variable "cluster_role_description" {
description = "Description of the role."
type = string
default = null
}
variable "cluster_role_force_detach_policies" {
description = "Whether to force detaching any policies the role has before destroying it."
type = bool
default = false
}
variable "cluster_role_managed_policy_arns" {
description = "Set of exclusive IAM managed policy ARNs to attach to the IAM role."
type = list(string)
default = []
}
variable "cluster_role_max_session_duration" {
description = "Maximum session duration (in seconds) that you want to set for the specified role."
type = number
default = null
}
variable "cluster_role_name" {
description = "Friendly name of the role. If omitted, Terraform will assign a random, unique name."
type = string
default = null
}
variable "cluster_role_path" {
description = "Path to the role."
type = string
default = null
}
variable "cluster_role_permissions_boundary" {
description = "ARN of the policy that is used to set the permissions boundary for the role."
type = string
default = null
}
// EKS CLUSTER VARIABLES
variable "cluster_name" {
description = "Name of the cluster."
type = string
}
variable "vpc_id" {
description = "The VPC associated with your cluster."
type = string
}
variable "enabled_cluster_log_types" {
description = "A list of the desired control plane logging to enable."
type = list(string)
default = []
}
variable "endpoint_private_access" {
description = "Indicates whether or not the Amazon EKS private API server endpoint is enabled."
type = bool
default = false
}
variable "endpoint_public_access" {
description = "Indicates whether or not the Amazon EKS public API server endpoint is enabled."
type = bool
default = false
}
variable "public_access_cidrs" {
description = "List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled."
type = list(string)
default = ["0.0.0.0/0"]
}
variable "security_group_ids" {
description = "List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane."
type = list(string)
default = []
}
variable "eks_version" {
description = "Desired Kubernetes master version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except those automatically triggered by EKS."
type = string
default = null
}
// EKS CLUSTER NODE GROUP IAM ROLE VARIABLES
variable "nodegroup_role_description" {
description = "Description of the role."
type = string
default = null
}
variable "nodegroup_role_force_detach_policies" {
description = "Whether to force detaching any policies the role has before destroying it."
type = bool
default = false
}
variable "nodegroup_role_managed_policy_arns" {
description = "Set of exclusive IAM managed policy ARNs to attach to the IAM role."
type = list(string)
default = []
}
variable "nodegroup_role_max_session_duration" {
description = "Maximum session duration (in seconds) that you want to set for the specified role."
type = number
default = null
}
variable "nodegroup_role_name" {
description = "Friendly name of the role. If omitted, Terraform will assign a random, unique name."
type = string
default = null
}
variable "nodegroup_role_path" {
description = "Path to the role."
type = string
default = null
}
variable "nodegroup_role_permissions_boundary" {
description = "ARN of the policy that is used to set the permissions boundary for the role."
type = string
default = null
}
// EKS CLUSTER NODE GROUP VARIABLES
variable "ami_type" {
description = "Type of Amazon Machine Image (AMI) associated with the EKS Node Group."
type = string
default = "AL2_x86_64"
}
variable "disk_size" {
description = "Disk size in GiB for worker nodes."
type = string
default = "20"
}
variable "instance_types" {
description = "List of instance types associated with the EKS Node Group."
type = list(string)
default = ["t3.medium"]
}
variable "nodegroup_name" {
description = "Name of the EKS Node Group."
type = string
}
variable "desired_size" {
description = "Desired number of worker nodes."
type = string
}
variable "max_size" {
description = "Maximum number of worker nodes."
type = string
}
variable "min_size" {
description = "Minimum number of worker nodes."
type = string
}
variable "tags" {
description = "Key-value mapping of resource tags."
type = map(any)
default = {}
}