diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Change Log
 
+## 0.24.1
+
+* Update resource specification document to support EKS
+
 ## 0.24.0
 
 * Update resource specification document to version 2.4.0
diff --git a/library-gen/Stratosphere/ResourceProperties/EKSClusterResourcesVpcConfig.hs b/library-gen/Stratosphere/ResourceProperties/EKSClusterResourcesVpcConfig.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/ResourceProperties/EKSClusterResourcesVpcConfig.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html
+
+module Stratosphere.ResourceProperties.EKSClusterResourcesVpcConfig where
+
+import Stratosphere.ResourceImports
+
+
+-- | Full data type definition for EKSClusterResourcesVpcConfig. See
+-- 'eksClusterResourcesVpcConfig' for a more convenient constructor.
+data EKSClusterResourcesVpcConfig =
+  EKSClusterResourcesVpcConfig
+  { _eKSClusterResourcesVpcConfigSecurityGroupIds :: Maybe (ValList Text)
+  , _eKSClusterResourcesVpcConfigSubnetIds :: ValList Text
+  } deriving (Show, Eq)
+
+instance ToJSON EKSClusterResourcesVpcConfig where
+  toJSON EKSClusterResourcesVpcConfig{..} =
+    object $
+    catMaybes
+    [ fmap (("SecurityGroupIds",) . toJSON) _eKSClusterResourcesVpcConfigSecurityGroupIds
+    , (Just . ("SubnetIds",) . toJSON) _eKSClusterResourcesVpcConfigSubnetIds
+    ]
+
+instance FromJSON EKSClusterResourcesVpcConfig where
+  parseJSON (Object obj) =
+    EKSClusterResourcesVpcConfig <$>
+      (obj .:? "SecurityGroupIds") <*>
+      (obj .: "SubnetIds")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EKSClusterResourcesVpcConfig' containing required fields
+-- as arguments.
+eksClusterResourcesVpcConfig
+  :: ValList Text -- ^ 'ekscrvcSubnetIds'
+  -> EKSClusterResourcesVpcConfig
+eksClusterResourcesVpcConfig subnetIdsarg =
+  EKSClusterResourcesVpcConfig
+  { _eKSClusterResourcesVpcConfigSecurityGroupIds = Nothing
+  , _eKSClusterResourcesVpcConfigSubnetIds = subnetIdsarg
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html#cfn-eks-cluster-resourcesvpcconfig-securitygroupids
+ekscrvcSecurityGroupIds :: Lens' EKSClusterResourcesVpcConfig (Maybe (ValList Text))
+ekscrvcSecurityGroupIds = lens _eKSClusterResourcesVpcConfigSecurityGroupIds (\s a -> s { _eKSClusterResourcesVpcConfigSecurityGroupIds = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-cluster-resourcesvpcconfig.html#cfn-eks-cluster-resourcesvpcconfig-subnetids
+ekscrvcSubnetIds :: Lens' EKSClusterResourcesVpcConfig (ValList Text)
+ekscrvcSubnetIds = lens _eKSClusterResourcesVpcConfigSubnetIds (\s a -> s { _eKSClusterResourcesVpcConfigSubnetIds = a })
diff --git a/library-gen/Stratosphere/Resources.hs b/library-gen/Stratosphere/Resources.hs
--- a/library-gen/Stratosphere/Resources.hs
+++ b/library-gen/Stratosphere/Resources.hs
@@ -172,6 +172,7 @@
 import Stratosphere.Resources.ECSTaskDefinition as X
 import Stratosphere.Resources.EFSFileSystem as X
 import Stratosphere.Resources.EFSMountTarget as X
+import Stratosphere.Resources.EKSCluster as X
 import Stratosphere.Resources.EMRCluster as X
 import Stratosphere.Resources.EMRInstanceFleetConfig as X
 import Stratosphere.Resources.EMRInstanceGroupConfig as X
@@ -567,6 +568,7 @@
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolume as X
 import Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom as X
 import Stratosphere.ResourceProperties.EFSFileSystemElasticFileSystemTag as X
+import Stratosphere.ResourceProperties.EKSClusterResourcesVpcConfig as X
 import Stratosphere.ResourceProperties.EMRClusterApplication as X
 import Stratosphere.ResourceProperties.EMRClusterAutoScalingPolicy as X
 import Stratosphere.ResourceProperties.EMRClusterBootstrapActionConfig as X
@@ -1026,6 +1028,7 @@
   | ECSTaskDefinitionProperties ECSTaskDefinition
   | EFSFileSystemProperties EFSFileSystem
   | EFSMountTargetProperties EFSMountTarget
+  | EKSClusterProperties EKSCluster
   | EMRClusterProperties EMRCluster
   | EMRInstanceFleetConfigProperties EMRInstanceFleetConfig
   | EMRInstanceGroupConfigProperties EMRInstanceGroupConfig
@@ -1489,6 +1492,8 @@
   [ "Type" .= ("AWS::EFS::FileSystem" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (EFSMountTargetProperties x) =
   [ "Type" .= ("AWS::EFS::MountTarget" :: String), "Properties" .= toJSON x]
+resourcePropertiesJSON (EKSClusterProperties x) =
+  [ "Type" .= ("AWS::EKS::Cluster" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (EMRClusterProperties x) =
   [ "Type" .= ("AWS::EMR::Cluster" :: String), "Properties" .= toJSON x]
 resourcePropertiesJSON (EMRInstanceFleetConfigProperties x) =
@@ -1936,6 +1941,7 @@
          "AWS::ECS::TaskDefinition" -> ECSTaskDefinitionProperties <$> (o .: "Properties")
          "AWS::EFS::FileSystem" -> EFSFileSystemProperties <$> (o .: "Properties")
          "AWS::EFS::MountTarget" -> EFSMountTargetProperties <$> (o .: "Properties")
+         "AWS::EKS::Cluster" -> EKSClusterProperties <$> (o .: "Properties")
          "AWS::EMR::Cluster" -> EMRClusterProperties <$> (o .: "Properties")
          "AWS::EMR::InstanceFleetConfig" -> EMRInstanceFleetConfigProperties <$> (o .: "Properties")
          "AWS::EMR::InstanceGroupConfig" -> EMRInstanceGroupConfigProperties <$> (o .: "Properties")
diff --git a/library-gen/Stratosphere/Resources/EKSCluster.hs b/library-gen/Stratosphere/Resources/EKSCluster.hs
new file mode 100644
--- /dev/null
+++ b/library-gen/Stratosphere/Resources/EKSCluster.hs
@@ -0,0 +1,68 @@
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html
+
+module Stratosphere.Resources.EKSCluster where
+
+import Stratosphere.ResourceImports
+import Stratosphere.ResourceProperties.EKSClusterResourcesVpcConfig
+
+-- | Full data type definition for EKSCluster. See 'eksCluster' for a more
+-- convenient constructor.
+data EKSCluster =
+  EKSCluster
+  { _eKSClusterName :: Maybe (Val Text)
+  , _eKSClusterResourcesVpcConfig :: EKSClusterResourcesVpcConfig
+  , _eKSClusterRoleArn :: Val Text
+  , _eKSClusterVersion :: Maybe (Val Text)
+  } deriving (Show, Eq)
+
+instance ToJSON EKSCluster where
+  toJSON EKSCluster{..} =
+    object $
+    catMaybes
+    [ fmap (("Name",) . toJSON) _eKSClusterName
+    , (Just . ("ResourcesVpcConfig",) . toJSON) _eKSClusterResourcesVpcConfig
+    , (Just . ("RoleArn",) . toJSON) _eKSClusterRoleArn
+    , fmap (("Version",) . toJSON) _eKSClusterVersion
+    ]
+
+instance FromJSON EKSCluster where
+  parseJSON (Object obj) =
+    EKSCluster <$>
+      (obj .:? "Name") <*>
+      (obj .: "ResourcesVpcConfig") <*>
+      (obj .: "RoleArn") <*>
+      (obj .:? "Version")
+  parseJSON _ = mempty
+
+-- | Constructor for 'EKSCluster' containing required fields as arguments.
+eksCluster
+  :: EKSClusterResourcesVpcConfig -- ^ 'ekscResourcesVpcConfig'
+  -> Val Text -- ^ 'ekscRoleArn'
+  -> EKSCluster
+eksCluster resourcesVpcConfigarg roleArnarg =
+  EKSCluster
+  { _eKSClusterName = Nothing
+  , _eKSClusterResourcesVpcConfig = resourcesVpcConfigarg
+  , _eKSClusterRoleArn = roleArnarg
+  , _eKSClusterVersion = Nothing
+  }
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-name
+ekscName :: Lens' EKSCluster (Maybe (Val Text))
+ekscName = lens _eKSClusterName (\s a -> s { _eKSClusterName = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-resourcesvpcconfig
+ekscResourcesVpcConfig :: Lens' EKSCluster EKSClusterResourcesVpcConfig
+ekscResourcesVpcConfig = lens _eKSClusterResourcesVpcConfig (\s a -> s { _eKSClusterResourcesVpcConfig = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-rolearn
+ekscRoleArn :: Lens' EKSCluster (Val Text)
+ekscRoleArn = lens _eKSClusterRoleArn (\s a -> s { _eKSClusterRoleArn = a })
+
+-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-version
+ekscVersion :: Lens' EKSCluster (Maybe (Val Text))
+ekscVersion = lens _eKSClusterVersion (\s a -> s { _eKSClusterVersion = a })
diff --git a/stratosphere.cabal b/stratosphere.cabal
--- a/stratosphere.cabal
+++ b/stratosphere.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 022f0189a0f205833c775f6ab3297da52a97aa3de6c111dfbd7bbbb2406ead91
+-- hash: 327d2d239b5f7eb6db4c43d0f6b9e8acf9f150bb492aa64b7fc3375d385a517b
 
 name:           stratosphere
-version:        0.24.0
+version:        0.24.1
 synopsis:       EDSL for AWS CloudFormation
 description:    EDSL for AWS CloudFormation
 category:       AWS, Cloud
@@ -299,6 +299,7 @@
       Stratosphere.ResourceProperties.ECSTaskDefinitionVolume
       Stratosphere.ResourceProperties.ECSTaskDefinitionVolumeFrom
       Stratosphere.ResourceProperties.EFSFileSystemElasticFileSystemTag
+      Stratosphere.ResourceProperties.EKSClusterResourcesVpcConfig
       Stratosphere.ResourceProperties.ElastiCacheReplicationGroupNodeGroupConfiguration
       Stratosphere.ResourceProperties.ElasticBeanstalkApplicationApplicationResourceLifecycleConfig
       Stratosphere.ResourceProperties.ElasticBeanstalkApplicationApplicationVersionLifecycleConfig
@@ -748,6 +749,7 @@
       Stratosphere.Resources.ECSTaskDefinition
       Stratosphere.Resources.EFSFileSystem
       Stratosphere.Resources.EFSMountTarget
+      Stratosphere.Resources.EKSCluster
       Stratosphere.Resources.ElastiCacheCacheCluster
       Stratosphere.Resources.ElastiCacheParameterGroup
       Stratosphere.Resources.ElastiCacheReplicationGroup
