You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/_user_data/variables.tf
+18-2Lines changed: 18 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2,84 +2,98 @@ variable "create" {
2
2
description="Determines whether to create user-data or not"
3
3
type=bool
4
4
default=true
5
+
nullable=false
5
6
}
6
7
7
8
variable"ami_type" {
8
9
description="Type of Amazon Machine Image (AMI) associated with the EKS Node Group. See the [AWS documentation](https://docs.aws.amazon.com/eks/latest/APIReference/API_Nodegroup.html#AmazonEKS-Type-Nodegroup-amiType) for valid values"
9
10
type=string
10
11
default="AL2023_x86_64_STANDARD"
12
+
nullable=false
11
13
}
12
14
13
15
variable"enable_bootstrap_user_data" {
14
16
description="Determines whether the bootstrap configurations are populated within the user data template"
15
17
type=bool
16
18
default=false
19
+
nullable=false
17
20
}
18
21
19
22
variable"is_eks_managed_node_group" {
20
23
description="Determines whether the user data is used on nodes in an EKS managed node group. Used to determine if user data will be appended or not"
21
24
type=bool
22
25
default=true
26
+
nullable=false
23
27
}
24
28
25
29
variable"cluster_name" {
26
30
description="Name of the EKS cluster"
27
31
type=string
28
32
default=""
33
+
nullable=false
29
34
}
30
35
31
36
variable"cluster_endpoint" {
32
37
description="Endpoint of associated EKS cluster"
33
38
type=string
34
39
default=""
40
+
nullable=false
35
41
}
36
42
37
43
variable"cluster_auth_base64" {
38
44
description="Base64 encoded CA of associated EKS cluster"
39
45
type=string
40
46
default=""
47
+
nullable=false
41
48
}
42
49
43
50
variable"cluster_service_cidr" {
44
51
description="The CIDR block (IPv4 or IPv6) used by the cluster to assign Kubernetes service IP addresses. This is derived from the cluster itself"
45
52
type=string
46
53
default=""
54
+
nullable=false
47
55
}
48
56
49
57
variable"cluster_ip_family" {
50
58
description="The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`"
51
59
type=string
52
60
default="ipv4"
61
+
nullable=false
53
62
}
54
63
55
64
variable"additional_cluster_dns_ips" {
56
65
description="Additional DNS IP addresses to use for the cluster. Only used when `ami_type` = `BOTTLEROCKET_*`"
57
66
type=list(string)
58
67
default=[]
68
+
nullable=false
59
69
}
60
70
61
71
variable"pre_bootstrap_user_data" {
62
72
description="User data that is injected into the user data script ahead of the EKS bootstrap script. Not used when `ami_type` = `BOTTLEROCKET_*`"
63
73
type=string
64
74
default=""
75
+
nullable=false
65
76
}
66
77
67
78
variable"post_bootstrap_user_data" {
68
79
description="User data that is appended to the user data script after of the EKS bootstrap script. Not used when `ami_type` = `BOTTLEROCKET_*`"
69
80
type=string
70
81
default=""
82
+
nullable=false
71
83
}
72
84
73
85
variable"bootstrap_extra_args" {
74
86
description="Additional arguments passed to the bootstrap script. When `ami_type` = `BOTTLEROCKET_*`; these are additional [settings](https://github.com/bottlerocket-os/bottlerocket#settings) that are provided to the Bottlerocket user data"
75
87
type=string
76
88
default=""
89
+
nullable=false
77
90
}
78
91
79
92
variable"user_data_template_path" {
80
93
description="Path to a local, custom user data template file to use when rendering user data"
| <aname="input_ami_release_version"></a> [ami\_release\_version](#input\_ami\_release\_version)| The AMI version. Defaults to latest AMI release version for the given Kubernetes version and AMI type |`string`|`null`| no |
111
111
| <aname="input_ami_type"></a> [ami\_type](#input\_ami\_type)| Type of Amazon Machine Image (AMI) associated with the EKS Node Group. See the [AWS documentation](https://docs.aws.amazon.com/eks/latest/APIReference/API_Nodegroup.html#AmazonEKS-Type-Nodegroup-amiType) for valid values |`string`|`"AL2023_x86_64_STANDARD"`| no |
112
112
| <aname="input_block_device_mappings"></a> [block\_device\_mappings](#input\_block\_device\_mappings)| Specify volumes to attach to the instance besides the volumes specified by the AMI | <pre>map(object({<br/> device_name = optional(string)<br/> ebs = optional(object({<br/> delete_on_termination = optional(bool)<br/> encrypted = optional(bool)<br/> iops = optional(number)<br/> kms_key_id = optional(string)<br/> snapshot_id = optional(string)<br/> throughput = optional(number)<br/> volume_initialization_rate = optional(number)<br/> volume_size = optional(number)<br/> volume_type = optional(string)<br/> }))<br/> no_device = optional(string)<br/> virtual_name = optional(string)<br/> }))</pre> |`null`| no |
113
-
| <aname="input_bootstrap_extra_args"></a> [bootstrap\_extra\_args](#input\_bootstrap\_extra\_args)| Additional arguments passed to the bootstrap script. When `ami_type` = `BOTTLEROCKET_*`; these are additional [settings](https://github.com/bottlerocket-os/bottlerocket#settings) that are provided to the Bottlerocket user data |`string`|`""`| no |
113
+
| <aname="input_bootstrap_extra_args"></a> [bootstrap\_extra\_args](#input\_bootstrap\_extra\_args)| Additional arguments passed to the bootstrap script. When `ami_type` = `BOTTLEROCKET_*`; these are additional [settings](https://github.com/bottlerocket-os/bottlerocket#settings) that are provided to the Bottlerocket user data |`string`|`null`| no |
| <aname="input_capacity_type"></a> [capacity\_type](#input\_capacity\_type)| Type of capacity associated with the EKS Node Group. Valid values: `ON_DEMAND`, `SPOT`|`string`|`"ON_DEMAND"`| no |
116
-
| <aname="input_cloudinit_post_nodeadm"></a> [cloudinit\_post\_nodeadm](#input\_cloudinit\_post\_nodeadm)| Array of cloud-init document parts that are created after the nodeadm document part | <pre>list(object({<br/> content = string<br/> content_type = optional(string)<br/> filename = optional(string)<br/> merge_type = optional(string)<br/> }))</pre> |`[]`| no |
117
-
| <aname="input_cloudinit_pre_nodeadm"></a> [cloudinit\_pre\_nodeadm](#input\_cloudinit\_pre\_nodeadm)| Array of cloud-init document parts that are created before the nodeadm document part | <pre>list(object({<br/> content = string<br/> content_type = optional(string)<br/> filename = optional(string)<br/> merge_type = optional(string)<br/> }))</pre> |`[]`| no |
118
-
| <aname="input_cluster_auth_base64"></a> [cluster\_auth\_base64](#input\_cluster\_auth\_base64)| Base64 encoded CA of associated EKS cluster |`string`|`""`| no |
119
-
| <aname="input_cluster_endpoint"></a> [cluster\_endpoint](#input\_cluster\_endpoint)| Endpoint of associated EKS cluster |`string`|`""`| no |
116
+
| <aname="input_cloudinit_post_nodeadm"></a> [cloudinit\_post\_nodeadm](#input\_cloudinit\_post\_nodeadm)| Array of cloud-init document parts that are created after the nodeadm document part | <pre>list(object({<br/> content = string<br/> content_type = optional(string)<br/> filename = optional(string)<br/> merge_type = optional(string)<br/> }))</pre> |`null`| no |
117
+
| <aname="input_cloudinit_pre_nodeadm"></a> [cloudinit\_pre\_nodeadm](#input\_cloudinit\_pre\_nodeadm)| Array of cloud-init document parts that are created before the nodeadm document part | <pre>list(object({<br/> content = string<br/> content_type = optional(string)<br/> filename = optional(string)<br/> merge_type = optional(string)<br/> }))</pre> |`null`| no |
118
+
| <aname="input_cluster_auth_base64"></a> [cluster\_auth\_base64](#input\_cluster\_auth\_base64)| Base64 encoded CA of associated EKS cluster |`string`|`null`| no |
119
+
| <aname="input_cluster_endpoint"></a> [cluster\_endpoint](#input\_cluster\_endpoint)| Endpoint of associated EKS cluster |`string`|`null`| no |
120
120
| <aname="input_cluster_ip_family"></a> [cluster\_ip\_family](#input\_cluster\_ip\_family)| The IP family used to assign Kubernetes pod and service addresses. Valid values are `ipv4` (default) and `ipv6`|`string`|`"ipv4"`| no |
121
121
| <aname="input_cluster_name"></a> [cluster\_name](#input\_cluster\_name)| Name of associated EKS cluster |`string`|`""`| no |
122
122
| <aname="input_cluster_primary_security_group_id"></a> [cluster\_primary\_security\_group\_id](#input\_cluster\_primary\_security\_group\_id)| The ID of the EKS cluster primary security group to associate with the instance(s). This is the security group that is automatically created by the EKS service |`string`|`null`| no |
123
-
| <aname="input_cluster_service_cidr"></a> [cluster\_service\_cidr](#input\_cluster\_service\_cidr)| The CIDR block (IPv4 or IPv6) used by the cluster to assign Kubernetes service IP addresses. This is derived from the cluster itself |`string`|`""`| no |
123
+
| <aname="input_cluster_service_cidr"></a> [cluster\_service\_cidr](#input\_cluster\_service\_cidr)| The CIDR block (IPv4 or IPv6) used by the cluster to assign Kubernetes service IP addresses. This is derived from the cluster itself |`string`|`null`| no |
124
124
| <aname="input_cpu_options"></a> [cpu\_options](#input\_cpu\_options)| The CPU options for the instance | <pre>object({<br/> amd_sev_snp = optional(string)<br/> core_count = optional(number)<br/> threads_per_core = optional(number)<br/> })</pre> |`null`| no |
125
125
| <aname="input_create"></a> [create](#input\_create)| Determines whether to create EKS managed node group or not |`bool`|`true`| no |
126
126
| <aname="input_create_iam_role"></a> [create\_iam\_role](#input\_create\_iam\_role)| Determines whether an IAM role is created or to use an existing IAM role |`bool`|`true`| no |
| <aname="input_iam_role_additional_policies"></a> [iam\_role\_additional\_policies](#input\_iam\_role\_additional\_policies)| Additional policies to be added to the IAM role |`map(string)`|`{}`| no |
144
144
| <aname="input_iam_role_arn"></a> [iam\_role\_arn](#input\_iam\_role\_arn)| Existing IAM role ARN for the node group. Required if `create_iam_role` is set to `false`|`string`|`null`| no |
145
145
| <aname="input_iam_role_attach_cni_policy"></a> [iam\_role\_attach\_cni\_policy](#input\_iam\_role\_attach\_cni\_policy)| Whether to attach the `AmazonEKS_CNI_Policy`/`AmazonEKS_CNI_IPv6_Policy` IAM policy to the IAM IAM role. WARNING: If set `false` the permissions must be assigned to the `aws-node` DaemonSet pods via another method or nodes will not be able to join the cluster |`bool`|`true`| no |
146
-
| <aname="input_iam_role_description"></a> [iam\_role\_description](#input\_iam\_role\_description)| Description of the role |`string`|`null`| no |
146
+
| <aname="input_iam_role_description"></a> [iam\_role\_description](#input\_iam\_role\_description)| Description of the role |`string`|`"EKS managed node group IAM role"`| no |
147
147
| <aname="input_iam_role_name"></a> [iam\_role\_name](#input\_iam\_role\_name)| Name to use on IAM role created |`string`|`null`| no |
148
148
| <aname="input_iam_role_path"></a> [iam\_role\_path](#input\_iam\_role\_path)| IAM role path |`string`|`null`| no |
149
149
| <aname="input_iam_role_permissions_boundary"></a> [iam\_role\_permissions\_boundary](#input\_iam\_role\_permissions\_boundary)| ARN of the policy that is used to set the permissions boundary for the IAM role |`string`|`null`| no |
| <aname="input_node_repair_config"></a> [node\_repair\_config](#input\_node\_repair\_config)| The node auto repair configuration for the node group | <pre>object({<br/> enabled = optional(bool, true)<br/> })</pre> |`null`| no |
174
174
| <aname="input_partition"></a> [partition](#input\_partition)| The AWS partition - pass through value to reduce number of GET requests from data sources |`string`|`""`| no |
175
175
| <aname="input_placement"></a> [placement](#input\_placement)| The placement of the instance | <pre>object({<br/> affinity = optional(string)<br/> availability_zone = optional(string)<br/> group_name = optional(string)<br/> host_id = optional(string)<br/> host_resource_group_arn = optional(string)<br/> partition_number = optional(number)<br/> spread_domain = optional(string)<br/> tenancy = optional(string)<br/> })</pre> |`null`| no |
176
-
| <aname="input_post_bootstrap_user_data"></a> [post\_bootstrap\_user\_data](#input\_post\_bootstrap\_user\_data)| User data that is appended to the user data script after of the EKS bootstrap script. Not used when `ami_type` = `BOTTLEROCKET_*`|`string`|`""`| no |
177
-
| <aname="input_pre_bootstrap_user_data"></a> [pre\_bootstrap\_user\_data](#input\_pre\_bootstrap\_user\_data)| User data that is injected into the user data script ahead of the EKS bootstrap script. Not used when `ami_type` = `BOTTLEROCKET_*`|`string`|`""`| no |
176
+
| <aname="input_post_bootstrap_user_data"></a> [post\_bootstrap\_user\_data](#input\_post\_bootstrap\_user\_data)| User data that is appended to the user data script after of the EKS bootstrap script. Not used when `ami_type` = `BOTTLEROCKET_*`|`string`|`null`| no |
177
+
| <aname="input_pre_bootstrap_user_data"></a> [pre\_bootstrap\_user\_data](#input\_pre\_bootstrap\_user\_data)| User data that is injected into the user data script ahead of the EKS bootstrap script. Not used when `ami_type` = `BOTTLEROCKET_*`|`string`|`null`| no |
178
178
| <aname="input_private_dns_name_options"></a> [private\_dns\_name\_options](#input\_private\_dns\_name\_options)| The options for the instance hostname. The default values are inherited from the subnet | <pre>object({<br/> enable_resource_name_dns_aaaa_record = optional(bool)<br/> enable_resource_name_dns_a_record = optional(bool)<br/> hostname_type = optional(string)<br/> })</pre> |`null`| no |
179
179
| <aname="input_ram_disk_id"></a> [ram\_disk\_id](#input\_ram\_disk\_id)| The ID of the ram disk |`string`|`null`| no |
180
180
| <aname="input_region"></a> [region](#input\_region)| Region where the resource(s) will be managed. Defaults to the Region set in the provider configuration |`string`|`null`| no |
| <aname="input_use_custom_launch_template"></a> [use\_custom\_launch\_template](#input\_use\_custom\_launch\_template)| Determines whether to use a custom launch template or not. If set to `false`, EKS will use its own default launch template |`bool`|`true`| no |
196
196
| <aname="input_use_latest_ami_release_version"></a> [use\_latest\_ami\_release\_version](#input\_use\_latest\_ami\_release\_version)| Determines whether to use the latest AMI release version for the given `ami_type` (except for `CUSTOM`). Note: `ami_type` and `kubernetes_version` must be supplied in order to enable this feature |`bool`|`true`| no |
197
197
| <aname="input_use_name_prefix"></a> [use\_name\_prefix](#input\_use\_name\_prefix)| Determines whether to use `name` as is or create a unique name beginning with the `name` as the prefix |`bool`|`true`| no |
198
-
| <aname="input_user_data_template_path"></a> [user\_data\_template\_path](#input\_user\_data\_template\_path)| Path to a local, custom user data template file to use when rendering user data |`string`|`""`| no |
198
+
| <aname="input_user_data_template_path"></a> [user\_data\_template\_path](#input\_user\_data\_template\_path)| Path to a local, custom user data template file to use when rendering user data |`string`|`null`| no |
199
199
| <aname="input_vpc_security_group_ids"></a> [vpc\_security\_group\_ids](#input\_vpc\_security\_group\_ids)| A list of security group IDs to associate |`list(string)`|`[]`| no |
0 commit comments