Amazon EKS · Schema

Amazon EKS Cluster

Schema representing an Amazon Elastic Kubernetes Service (EKS) cluster resource.

Container OrchestrationContainersEKSKubernetes

Properties

Name Type Description
name string The unique name of the EKS cluster.
arn string The Amazon Resource Name (ARN) of the cluster.
version string The Kubernetes server version for the cluster.
endpoint string The endpoint URL for the Kubernetes API server.
roleArn string The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane.
resourcesVpcConfig object The VPC configuration used by the cluster control plane.
kubernetesNetworkConfig object The Kubernetes network configuration for the cluster.
logging object The logging configuration for the cluster.
status string The current status of the cluster.
certificateAuthority object The certificate-authority-data for the cluster.
platformVersion string The platform version of your Amazon EKS cluster.
tags object Metadata tags associated with the cluster.
createdAt string The timestamp when the cluster was created.
View JSON Schema on GitHub

JSON Schema

amazon-eks-cluster-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://amazon-eks.apis.io/schemas/cluster.json",
  "title": "Amazon EKS Cluster",
  "description": "Schema representing an Amazon Elastic Kubernetes Service (EKS) cluster resource.",
  "type": "object",
  "required": [
    "name",
    "roleArn",
    "resourcesVpcConfig"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The unique name of the EKS cluster.",
      "minLength": 1,
      "maxLength": 100,
      "pattern": "^[a-zA-Z][a-zA-Z0-9\\-_]*$"
    },
    "arn": {
      "type": "string",
      "description": "The Amazon Resource Name (ARN) of the cluster.",
      "pattern": "^arn:aws[a-zA-Z-]*:eks:[a-z0-9-]+:\\d{12}:cluster/[a-zA-Z][a-zA-Z0-9\\-_]+$"
    },
    "version": {
      "type": "string",
      "description": "The Kubernetes server version for the cluster.",
      "examples": [
        "1.28",
        "1.27",
        "1.26"
      ]
    },
    "endpoint": {
      "type": "string",
      "description": "The endpoint URL for the Kubernetes API server.",
      "format": "uri"
    },
    "roleArn": {
      "type": "string",
      "description": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane.",
      "pattern": "^arn:aws[a-zA-Z-]*:iam::\\d{12}:role/.+$"
    },
    "resourcesVpcConfig": {
      "type": "object",
      "description": "The VPC configuration used by the cluster control plane.",
      "required": [
        "subnetIds"
      ],
      "properties": {
        "subnetIds": {
          "type": "array",
          "description": "The subnets associated with the cluster.",
          "items": {
            "type": "string",
            "pattern": "^subnet-[a-f0-9]+$"
          },
          "minItems": 1
        },
        "securityGroupIds": {
          "type": "array",
          "description": "The security groups associated with the cross-account elastic network interfaces.",
          "items": {
            "type": "string",
            "pattern": "^sg-[a-f0-9]+$"
          }
        },
        "clusterSecurityGroupId": {
          "type": "string",
          "description": "The cluster security group that was created by Amazon EKS for the cluster.",
          "pattern": "^sg-[a-f0-9]+$"
        },
        "vpcId": {
          "type": "string",
          "description": "The VPC associated with your cluster.",
          "pattern": "^vpc-[a-f0-9]+$"
        },
        "endpointPublicAccess": {
          "type": "boolean",
          "description": "Whether the public API server endpoint is enabled.",
          "default": true
        },
        "endpointPrivateAccess": {
          "type": "boolean",
          "description": "Whether the private API server endpoint is enabled.",
          "default": false
        },
        "publicAccessCidrs": {
          "type": "array",
          "description": "The CIDR blocks that are allowed access to the public API server endpoint.",
          "items": {
            "type": "string"
          },
          "default": [
            "0.0.0.0/0"
          ]
        }
      }
    },
    "kubernetesNetworkConfig": {
      "type": "object",
      "description": "The Kubernetes network configuration for the cluster.",
      "properties": {
        "serviceIpv4Cidr": {
          "type": "string",
          "description": "The CIDR block assigned to Kubernetes service IP addresses."
        },
        "serviceIpv6Cidr": {
          "type": "string",
          "description": "The CIDR block assigned to Kubernetes pod and service IPv6 addresses."
        },
        "ipFamily": {
          "type": "string",
          "description": "The IP family used to assign Kubernetes pod and service addresses.",
          "enum": [
            "ipv4",
            "ipv6"
          ],
          "default": "ipv4"
        }
      }
    },
    "logging": {
      "type": "object",
      "description": "The logging configuration for the cluster.",
      "properties": {
        "clusterLogging": {
          "type": "array",
          "description": "The cluster control plane logging configuration.",
          "items": {
            "type": "object",
            "properties": {
              "types": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "api",
                    "audit",
                    "authenticator",
                    "controllerManager",
                    "scheduler"
                  ]
                }
              },
              "enabled": {
                "type": "boolean",
                "description": "Whether the log types are enabled."
              }
            }
          }
        }
      }
    },
    "status": {
      "type": "string",
      "description": "The current status of the cluster.",
      "enum": [
        "CREATING",
        "ACTIVE",
        "DELETING",
        "FAILED",
        "UPDATING",
        "PENDING"
      ]
    },
    "certificateAuthority": {
      "type": "object",
      "description": "The certificate-authority-data for the cluster.",
      "properties": {
        "data": {
          "type": "string",
          "description": "The Base64-encoded certificate data required to communicate with the cluster."
        }
      }
    },
    "platformVersion": {
      "type": "string",
      "description": "The platform version of your Amazon EKS cluster.",
      "examples": [
        "eks.1",
        "eks.2"
      ]
    },
    "tags": {
      "type": "object",
      "description": "Metadata tags associated with the cluster.",
      "additionalProperties": {
        "type": "string"
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "The timestamp when the cluster was created."
    }
  },
  "additionalProperties": false
}