module Stratosphere.ResourceProperties.LambdaFunctionVPCConfig where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
data LambdaFunctionVPCConfig =
LambdaFunctionVPCConfig
{ _lambdaFunctionVPCConfigSecurityGroupIds :: [Val Text]
, _lambdaFunctionVPCConfigSubnetIds :: [Val Text]
} deriving (Show, Generic)
instance ToJSON LambdaFunctionVPCConfig where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
instance FromJSON LambdaFunctionVPCConfig where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 24, omitNothingFields = True }
lambdaFunctionVPCConfig
:: [Val Text]
-> [Val Text]
-> LambdaFunctionVPCConfig
lambdaFunctionVPCConfig securityGroupIdsarg subnetIdsarg =
LambdaFunctionVPCConfig
{ _lambdaFunctionVPCConfigSecurityGroupIds = securityGroupIdsarg
, _lambdaFunctionVPCConfigSubnetIds = subnetIdsarg
}
lfvpccSecurityGroupIds :: Lens' LambdaFunctionVPCConfig [Val Text]
lfvpccSecurityGroupIds = lens _lambdaFunctionVPCConfigSecurityGroupIds (\s a -> s { _lambdaFunctionVPCConfigSecurityGroupIds = a })
lfvpccSubnetIds :: Lens' LambdaFunctionVPCConfig [Val Text]
lfvpccSubnetIds = lens _lambdaFunctionVPCConfigSubnetIds (\s a -> s { _lambdaFunctionVPCConfigSubnetIds = a })