stratosphere-0.15.2: library-gen/Stratosphere/ResourceProperties/ElasticLoadBalancingLoadBalancerConnectionSettings.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html
module Stratosphere.ResourceProperties.ElasticLoadBalancingLoadBalancerConnectionSettings where
import Stratosphere.ResourceImports
-- | Full data type definition for
-- ElasticLoadBalancingLoadBalancerConnectionSettings. See
-- 'elasticLoadBalancingLoadBalancerConnectionSettings' for a more
-- convenient constructor.
data ElasticLoadBalancingLoadBalancerConnectionSettings =
ElasticLoadBalancingLoadBalancerConnectionSettings
{ _elasticLoadBalancingLoadBalancerConnectionSettingsIdleTimeout :: Val Integer
} deriving (Show, Eq)
instance ToJSON ElasticLoadBalancingLoadBalancerConnectionSettings where
toJSON ElasticLoadBalancingLoadBalancerConnectionSettings{..} =
object $
catMaybes
[ (Just . ("IdleTimeout",) . toJSON . fmap Integer') _elasticLoadBalancingLoadBalancerConnectionSettingsIdleTimeout
]
instance FromJSON ElasticLoadBalancingLoadBalancerConnectionSettings where
parseJSON (Object obj) =
ElasticLoadBalancingLoadBalancerConnectionSettings <$>
fmap (fmap unInteger') (obj .: "IdleTimeout")
parseJSON _ = mempty
-- | Constructor for 'ElasticLoadBalancingLoadBalancerConnectionSettings'
-- containing required fields as arguments.
elasticLoadBalancingLoadBalancerConnectionSettings
:: Val Integer -- ^ 'elblbcsIdleTimeout'
-> ElasticLoadBalancingLoadBalancerConnectionSettings
elasticLoadBalancingLoadBalancerConnectionSettings idleTimeoutarg =
ElasticLoadBalancingLoadBalancerConnectionSettings
{ _elasticLoadBalancingLoadBalancerConnectionSettingsIdleTimeout = idleTimeoutarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html#cfn-elb-connectionsettings-idletimeout
elblbcsIdleTimeout :: Lens' ElasticLoadBalancingLoadBalancerConnectionSettings (Val Integer)
elblbcsIdleTimeout = lens _elasticLoadBalancingLoadBalancerConnectionSettingsIdleTimeout (\s a -> s { _elasticLoadBalancingLoadBalancerConnectionSettingsIdleTimeout = a })