terraform/ecc-aws-040-eks_cluster_version_latest/red/eks.tf (54 lines of code) (raw):

resource "aws_eks_cluster" "this" { name = "040_eks_cluster_red" role_arn = aws_iam_role.this.arn version = "1.28" vpc_config { subnet_ids = [aws_subnet.subnet1.id, aws_subnet.subnet2.id] } depends_on = [ aws_iam_role_policy_attachment.Cluster_Policy, aws_iam_role_policy_attachment.Service_Policy, ] } resource "aws_iam_role" "this" { name = "eks-cluster-040-red" assume_role_policy = <<POLICY { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] } POLICY } resource "aws_iam_role_policy_attachment" "Cluster_Policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy" role = aws_iam_role.this.name } resource "aws_iam_role_policy_attachment" "Service_Policy" { policy_arn = "arn:aws:iam::aws:policy/AmazonEKSServicePolicy" role = aws_iam_role.this.name } resource "aws_vpc" "this" { cidr_block = "10.0.0.0/16" enable_dns_hostnames = true } resource "aws_subnet" "subnet1" { vpc_id = aws_vpc.this.id cidr_block = "10.0.1.0/24" availability_zone = data.aws_availability_zones.this.names[0] } resource "aws_subnet" "subnet2" { vpc_id = aws_vpc.this.id cidr_block = "10.0.2.0/24" availability_zone = data.aws_availability_zones.this.names[1] } data "aws_availability_zones" "this" { state = "available" }