stratosphere-0.47.0: library-gen/Stratosphere/ResourceProperties/EKSNodegroupRemoteAccess.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html
module Stratosphere.ResourceProperties.EKSNodegroupRemoteAccess where
import Stratosphere.ResourceImports
-- | Full data type definition for EKSNodegroupRemoteAccess. See
-- 'eksNodegroupRemoteAccess' for a more convenient constructor.
data EKSNodegroupRemoteAccess =
EKSNodegroupRemoteAccess
{ _eKSNodegroupRemoteAccessEc2SshKey :: Val Text
, _eKSNodegroupRemoteAccessSourceSecurityGroups :: Maybe (ValList Text)
} deriving (Show, Eq)
instance ToJSON EKSNodegroupRemoteAccess where
toJSON EKSNodegroupRemoteAccess{..} =
object $
catMaybes
[ (Just . ("Ec2SshKey",) . toJSON) _eKSNodegroupRemoteAccessEc2SshKey
, fmap (("SourceSecurityGroups",) . toJSON) _eKSNodegroupRemoteAccessSourceSecurityGroups
]
-- | Constructor for 'EKSNodegroupRemoteAccess' containing required fields as
-- arguments.
eksNodegroupRemoteAccess
:: Val Text -- ^ 'eksnraEc2SshKey'
-> EKSNodegroupRemoteAccess
eksNodegroupRemoteAccess ec2SshKeyarg =
EKSNodegroupRemoteAccess
{ _eKSNodegroupRemoteAccessEc2SshKey = ec2SshKeyarg
, _eKSNodegroupRemoteAccessSourceSecurityGroups = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html#cfn-eks-nodegroup-remoteaccess-ec2sshkey
eksnraEc2SshKey :: Lens' EKSNodegroupRemoteAccess (Val Text)
eksnraEc2SshKey = lens _eKSNodegroupRemoteAccessEc2SshKey (\s a -> s { _eKSNodegroupRemoteAccessEc2SshKey = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-remoteaccess.html#cfn-eks-nodegroup-remoteaccess-sourcesecuritygroups
eksnraSourceSecurityGroups :: Lens' EKSNodegroupRemoteAccess (Maybe (ValList Text))
eksnraSourceSecurityGroups = lens _eKSNodegroupRemoteAccessSourceSecurityGroups (\s a -> s { _eKSNodegroupRemoteAccessSourceSecurityGroups = a })