Files
terraform-aws-eks/modules/_user_data

User Data Module

Configuration in this directory renders the appropriate user data for the given inputs. See docs/user_data.md for more info.

See examples/user_data/ for various examples using this module.

Requirements

Name Version
terraform >= 1.3
cloudinit >= 2.0

Providers

Name Version
cloudinit >= 2.0

Modules

No modules.

Resources

Name Type
cloudinit_config.al2023_eks_managed_node_group data source
cloudinit_config.linux_eks_managed_node_group data source

Inputs

Name Description Type Default Required
bootstrap_extra_args Additional arguments passed to the bootstrap script. When platform = bottlerocket; these are additional settings that are provided to the Bottlerocket user data string "" no
cloudinit_post_nodeadm Array of cloud-init document parts that are created after the nodeadm document part
list(object({
content = string
content_type = optional(string)
filename = optional(string)
merge_type = optional(string)
}))
[] no
cloudinit_pre_nodeadm Array of cloud-init document parts that are created before the nodeadm document part
list(object({
content = string
content_type = optional(string)
filename = optional(string)
merge_type = optional(string)
}))
[] no
cluster_auth_base64 Base64 encoded CA of associated EKS cluster string "" no
cluster_endpoint Endpoint of associated EKS cluster string "" no
cluster_name Name of the EKS cluster string "" no
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
cluster_service_ipv4_cidr The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks string null no
create Determines whether to create user-data or not bool true no
enable_bootstrap_user_data Determines whether the bootstrap configurations are populated within the user data template bool false no
is_eks_managed_node_group 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 bool true no
platform Identifies if the OS platform is bottlerocket, linux, or windows based string "linux" no
post_bootstrap_user_data User data that is appended to the user data script after of the EKS bootstrap script. Not used when platform = bottlerocket string "" no
pre_bootstrap_user_data User data that is injected into the user data script ahead of the EKS bootstrap script. Not used when platform = bottlerocket string "" no
user_data_template_path Path to a local, custom user data template file to use when rendering user data string "" no

Outputs

Name Description
user_data Base64 encoded user data rendered for the provided inputs