mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-01-16 00:34:31 +01:00
212 lines
7.1 KiB
HCL
212 lines
7.1 KiB
HCL
output "cluster_id" {
|
|
description = "The name/id of the EKS cluster. Will block on cluster creation until the cluster is really ready."
|
|
value = local.cluster_id
|
|
|
|
# So that calling plans wait for the cluster to be available before attempting to use it.
|
|
# There is no need to duplicate this datasource
|
|
depends_on = [data.http.wait_for_cluster]
|
|
}
|
|
|
|
output "cluster_arn" {
|
|
description = "The Amazon Resource Name (ARN) of the cluster."
|
|
value = local.cluster_arn
|
|
}
|
|
|
|
output "cluster_certificate_authority_data" {
|
|
description = "Nested attribute containing certificate-authority-data for your cluster. This is the base64 encoded certificate data required to communicate with your cluster."
|
|
value = local.cluster_auth_base64
|
|
}
|
|
|
|
output "cluster_endpoint" {
|
|
description = "The endpoint for your EKS Kubernetes API."
|
|
value = local.cluster_endpoint
|
|
}
|
|
|
|
output "cluster_version" {
|
|
description = "The Kubernetes server version for the EKS cluster."
|
|
value = element(concat(aws_eks_cluster.this[*].version, [""]), 0)
|
|
}
|
|
|
|
output "cluster_security_group_id" {
|
|
description = "Security group ID attached to the EKS cluster. On 1.14 or later, this is the 'Additional security groups' in the EKS console."
|
|
value = local.cluster_security_group_id
|
|
}
|
|
|
|
output "config_map_aws_auth" {
|
|
description = "A kubernetes configuration to authenticate to this EKS cluster."
|
|
value = kubernetes_config_map.aws_auth.*
|
|
}
|
|
|
|
output "cluster_iam_role_name" {
|
|
description = "IAM role name of the EKS cluster."
|
|
value = local.cluster_iam_role_name
|
|
}
|
|
|
|
output "cluster_iam_role_arn" {
|
|
description = "IAM role ARN of the EKS cluster."
|
|
value = local.cluster_iam_role_arn
|
|
}
|
|
|
|
output "cluster_oidc_issuer_url" {
|
|
description = "The URL on the EKS cluster OIDC Issuer"
|
|
value = local.cluster_oidc_issuer_url
|
|
}
|
|
|
|
output "cluster_primary_security_group_id" {
|
|
description = "The cluster primary security group ID created by the EKS cluster on 1.14 or later. Referred to as 'Cluster security group' in the EKS console."
|
|
value = local.cluster_primary_security_group_id
|
|
}
|
|
|
|
output "cloudwatch_log_group_name" {
|
|
description = "Name of cloudwatch log group created"
|
|
value = element(concat(aws_cloudwatch_log_group.this[*].name, [""]), 0)
|
|
}
|
|
|
|
output "cloudwatch_log_group_arn" {
|
|
description = "Arn of cloudwatch log group created"
|
|
value = element(concat(aws_cloudwatch_log_group.this[*].arn, [""]), 0)
|
|
}
|
|
|
|
output "kubeconfig" {
|
|
description = "kubectl config file contents for this EKS cluster. Will block on cluster creation until the cluster is really ready."
|
|
value = local.kubeconfig
|
|
|
|
# So that calling plans wait for the cluster to be available before attempting to use it.
|
|
# There is no need to duplicate this datasource
|
|
depends_on = [data.http.wait_for_cluster]
|
|
}
|
|
|
|
output "kubeconfig_filename" {
|
|
description = "The filename of the generated kubectl config. Will block on cluster creation until the cluster is really ready."
|
|
value = concat(local_file.kubeconfig.*.filename, [""])[0]
|
|
|
|
# So that calling plans wait for the cluster to be available before attempting to use it.
|
|
# There is no need to duplicate this datasource
|
|
depends_on = [data.http.wait_for_cluster]
|
|
}
|
|
|
|
output "oidc_provider_arn" {
|
|
description = "The ARN of the OIDC Provider if `enable_irsa = true`."
|
|
value = var.enable_irsa ? concat(aws_iam_openid_connect_provider.oidc_provider[*].arn, [""])[0] : null
|
|
}
|
|
|
|
output "workers_asg_arns" {
|
|
description = "IDs of the autoscaling groups containing workers."
|
|
value = concat(
|
|
aws_autoscaling_group.workers.*.arn,
|
|
aws_autoscaling_group.workers_launch_template.*.arn,
|
|
)
|
|
}
|
|
|
|
output "workers_asg_names" {
|
|
description = "Names of the autoscaling groups containing workers."
|
|
value = concat(
|
|
aws_autoscaling_group.workers.*.id,
|
|
aws_autoscaling_group.workers_launch_template.*.id,
|
|
)
|
|
}
|
|
|
|
output "workers_user_data" {
|
|
description = "User data of worker groups"
|
|
value = concat(
|
|
local.launch_configuration_userdata_rendered,
|
|
local.launch_template_userdata_rendered,
|
|
)
|
|
}
|
|
|
|
output "workers_default_ami_id" {
|
|
description = "ID of the default worker group AMI"
|
|
value = local.default_ami_id_linux
|
|
}
|
|
|
|
output "workers_default_ami_id_windows" {
|
|
description = "ID of the default Windows worker group AMI"
|
|
value = local.default_ami_id_windows
|
|
}
|
|
|
|
output "workers_launch_template_ids" {
|
|
description = "IDs of the worker launch templates."
|
|
value = aws_launch_template.workers_launch_template.*.id
|
|
}
|
|
|
|
output "workers_launch_template_arns" {
|
|
description = "ARNs of the worker launch templates."
|
|
value = aws_launch_template.workers_launch_template.*.arn
|
|
}
|
|
|
|
output "workers_launch_template_latest_versions" {
|
|
description = "Latest versions of the worker launch templates."
|
|
value = aws_launch_template.workers_launch_template.*.latest_version
|
|
}
|
|
|
|
output "worker_security_group_id" {
|
|
description = "Security group ID attached to the EKS workers."
|
|
value = local.worker_security_group_id
|
|
}
|
|
|
|
output "worker_iam_instance_profile_arns" {
|
|
description = "default IAM instance profile ARN for EKS worker groups"
|
|
value = concat(
|
|
aws_iam_instance_profile.workers.*.arn,
|
|
aws_iam_instance_profile.workers_launch_template.*.arn
|
|
)
|
|
}
|
|
|
|
output "worker_iam_instance_profile_names" {
|
|
description = "default IAM instance profile name for EKS worker groups"
|
|
value = concat(
|
|
aws_iam_instance_profile.workers.*.name,
|
|
aws_iam_instance_profile.workers_launch_template.*.name
|
|
)
|
|
}
|
|
|
|
output "worker_iam_role_name" {
|
|
description = "default IAM role name for EKS worker groups"
|
|
value = coalescelist(
|
|
aws_iam_role.workers.*.name,
|
|
data.aws_iam_instance_profile.custom_worker_group_iam_instance_profile.*.role_name,
|
|
data.aws_iam_instance_profile.custom_worker_group_launch_template_iam_instance_profile.*.role_name,
|
|
[""]
|
|
)[0]
|
|
}
|
|
|
|
output "worker_iam_role_arn" {
|
|
description = "default IAM role ARN for EKS worker groups"
|
|
value = coalescelist(
|
|
aws_iam_role.workers.*.arn,
|
|
data.aws_iam_instance_profile.custom_worker_group_iam_instance_profile.*.role_arn,
|
|
data.aws_iam_instance_profile.custom_worker_group_launch_template_iam_instance_profile.*.role_arn,
|
|
[""]
|
|
)[0]
|
|
}
|
|
|
|
output "fargate_profile_ids" {
|
|
description = "EKS Cluster name and EKS Fargate Profile names separated by a colon (:)."
|
|
value = module.fargate.fargate_profile_ids
|
|
}
|
|
|
|
output "fargate_profile_arns" {
|
|
description = "Amazon Resource Name (ARN) of the EKS Fargate Profiles."
|
|
value = module.fargate.fargate_profile_arns
|
|
}
|
|
|
|
output "fargate_iam_role_name" {
|
|
description = "IAM role name for EKS Fargate pods"
|
|
value = module.fargate.iam_role_name
|
|
}
|
|
|
|
output "fargate_iam_role_arn" {
|
|
description = "IAM role ARN for EKS Fargate pods"
|
|
value = module.fargate.iam_role_arn
|
|
}
|
|
|
|
output "node_groups" {
|
|
description = "Outputs from EKS node groups. Map of maps, keyed by var.node_groups keys"
|
|
value = module.node_groups.node_groups
|
|
}
|
|
|
|
output "security_group_rule_cluster_https_worker_ingress" {
|
|
description = "Security group rule responsible for allowing pods to communicate with the EKS cluster API."
|
|
value = aws_security_group_rule.cluster_https_worker_ingress
|
|
}
|