Module library

EKS Pod Identity

Terraform module to create AWS EKS Pod Identity resources

Inputs

40 / 80
additional_policy_arnsoptionalmap(string)

ARNs of additional policies to attach to the IAM role

Default{}
amazon_managed_service_prometheus_policy_nameoptionalstring

Custom name of the Amazon Managed Service for Prometheus IAM policy

Defaultnull
amazon_managed_service_prometheus_workspace_arnsoptionallist(string)

List of AMP Workspace ARNs to read and write metrics

Default[]
appmesh_controller_policy_nameoptionalstring

Custom name of the AppMesh Controller IAM policy

Defaultnull
appmesh_envoy_proxy_policy_nameoptionalstring

Custom name of the AppMesh Envoy Proxy IAM policy

Defaultnull
association_defaultsoptionalobject({ cluster_name = optional(string) disable_session_tags = optional(bool) n…

Default values used across all Pod Identity associations created unless a more specific value is provided

Default{}
associationsoptionalmap(object({ cluster_name = optional(string) disable_session_tags = optional(boo…

Map of Pod Identity associations to be created (map of maps)

Default{}
attach_amazon_managed_service_prometheus_policyoptionalbool

Determines whether to attach the Amazon Managed Service for Prometheus IAM policy to the role

Defaultfalse
attach_aws_appmesh_controller_policyoptionalbool

Determines whether to attach the AppMesh Controller policy to the role

Defaultfalse
attach_aws_appmesh_envoy_proxy_policyoptionalbool

Determines whether to attach the AppMesh Envoy Proxy policy to the role

Defaultfalse
attach_aws_cloudwatch_observability_policyoptionalbool

Determines whether to attach the AWS Cloudwatch Observability IAM policy to the role

Defaultfalse
attach_aws_ebs_csi_policyoptionalbool

Determines whether to attach the EBS CSI IAM policy to the role

Defaultfalse
attach_aws_efs_csi_policyoptionalbool

Determines whether to attach the EFS CSI IAM policy to the role

Defaultfalse
attach_aws_fsx_lustre_csi_policyoptionalbool

Determines whether to attach the FSx for Lustre CSI Driver IAM policy to the role

Defaultfalse
attach_aws_gateway_controller_policyoptionalbool

Determines whether to attach the AWS Gateway Controller IAM policy to the role

Defaultfalse
attach_aws_lb_controller_policyoptionalbool

Determines whether to attach the AWS Load Balancer Controller policy to the role

Defaultfalse
attach_aws_lb_controller_targetgroup_binding_only_policyoptionalbool

Determines whether to attach the AWS Load Balancer Controller policy for the TargetGroupBinding only

Defaultfalse
attach_aws_node_termination_handler_policyoptionalbool

Determines whether to attach the Node Termination Handler policy to the role

Defaultfalse
attach_aws_privateca_issuer_policyoptionalbool

Determines whether to attach the AWS Private CA Issuer IAM policy to the role

Defaultfalse
attach_aws_vpc_cni_policyoptionalbool

Determines whether to attach the VPC CNI IAM policy to the role

Defaultfalse
attach_cert_manager_policyoptionalbool

Determines whether to attach the Cert Manager IAM policy to the role

Defaultfalse
attach_cluster_autoscaler_policyoptionalbool

Determines whether to attach the Cluster Autoscaler IAM policy to the role

Defaultfalse
attach_custom_policyoptionalbool

Determines whether to attach the custom IAM policy to the role

Defaultfalse
attach_external_dns_policyoptionalbool

Determines whether to attach the External DNS IAM policy to the role

Defaultfalse
attach_external_secrets_policyoptionalbool

Determines whether to attach the External Secrets policy to the role

Defaultfalse
attach_mountpoint_s3_csi_policyoptionalbool

Determines whether to attach the Mountpoint S3 CSI IAM policy to the role

Defaultfalse
attach_pganalyze_policyoptionalbool

Determines whether to attach the PGAnalyze IAM policy to the role

Defaultfalse
attach_velero_policyoptionalbool

Determines whether to attach the Velero IAM policy to the role

Defaultfalse
aws_ebs_csi_kms_arnsoptionallist(string)

KMS key ARNs to allow EBS CSI to manage encrypted volumes

Default[]
aws_ebs_csi_policy_nameoptionalstring

Custom name of the EBS CSI IAM policy

Defaultnull
aws_efs_csi_policy_nameoptionalstring

Custom name of the EFS CSI IAM policy

Defaultnull
aws_fsx_lustre_csi_policy_nameoptionalstring

Custom name of the FSx for Lustre CSI Driver IAM policy

Defaultnull
aws_fsx_lustre_csi_service_role_arnsoptionallist(string)

Service role ARNs to allow FSx for Lustre CSI create and manage FSX for Lustre service linked roles

Default[]
aws_gateway_controller_policy_nameoptionalstring

Custom name of the AWS Gateway Controller IAM policy

Defaultnull
aws_lb_controller_policy_nameoptionalstring

Custom name of the AWS Load Balancer Controller IAM policy

Defaultnull
aws_lb_controller_targetgroup_arnsoptionallist(string)

List of Target groups ARNs using Load Balancer Controller

Default[]
aws_lb_controller_targetgroup_only_policy_nameoptionalstring

Custom name of the AWS Load Balancer Controller IAM policy for the TargetGroupBinding only

Defaultnull
aws_node_termination_handler_policy_nameoptionalstring

Custom name of the Node Termination Handler IAM policy

Defaultnull
aws_node_termination_handler_sqs_queue_arnsoptionallist(string)

List of SQS ARNs that contain node termination events

Default[]
aws_privateca_issuer_acmca_arnsoptionallist(string)

List of ACM Private CA ARNs to issue certificates from

Default[]

All 80 are optional — the module deploys with none of them set. Showing 40, so the site stays a static download — the remaining 40 are in the source.

Outputs

8
associations

Map of Pod Identity associations created

iam_policy_arn

The ARN assigned by AWS to this policy

iam_policy_id

The policy's ID

iam_policy_name

Name of IAM policy

iam_role_arn

ARN of IAM role

iam_role_name

Name of IAM role

iam_role_path

Path of IAM role

iam_role_unique_id

Unique ID of IAM role

What the agent wires into the next module. An edge on the architecture diagram is one of these consumed by something else.