module Stratosphere.Resources.SecurityGroupIngress where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
data SecurityGroupIngress =
SecurityGroupIngress
{ _securityGroupIngressCidrIp :: Maybe (Val Text)
, _securityGroupIngressFromPort :: Maybe (Val Integer')
, _securityGroupIngressGroupId :: Maybe (Val Text)
, _securityGroupIngressGroupName :: Maybe (Val Text)
, _securityGroupIngressIpProtocol :: Val Text
, _securityGroupIngressSourceSecurityGroupId :: Maybe (Val Text)
, _securityGroupIngressSourceSecurityGroupName :: Maybe (Val Text)
, _securityGroupIngressSourceSecurityGroupOwnerId :: Maybe (Val Text)
, _securityGroupIngressToPort :: Maybe (Val Integer')
} deriving (Show, Generic)
instance ToJSON SecurityGroupIngress where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
instance FromJSON SecurityGroupIngress where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 21, omitNothingFields = True }
securityGroupIngress
:: Val Text
-> SecurityGroupIngress
securityGroupIngress ipProtocolarg =
SecurityGroupIngress
{ _securityGroupIngressCidrIp = Nothing
, _securityGroupIngressFromPort = Nothing
, _securityGroupIngressGroupId = Nothing
, _securityGroupIngressGroupName = Nothing
, _securityGroupIngressIpProtocol = ipProtocolarg
, _securityGroupIngressSourceSecurityGroupId = Nothing
, _securityGroupIngressSourceSecurityGroupName = Nothing
, _securityGroupIngressSourceSecurityGroupOwnerId = Nothing
, _securityGroupIngressToPort = Nothing
}
sgiCidrIp :: Lens' SecurityGroupIngress (Maybe (Val Text))
sgiCidrIp = lens _securityGroupIngressCidrIp (\s a -> s { _securityGroupIngressCidrIp = a })
sgiFromPort :: Lens' SecurityGroupIngress (Maybe (Val Integer'))
sgiFromPort = lens _securityGroupIngressFromPort (\s a -> s { _securityGroupIngressFromPort = a })
sgiGroupId :: Lens' SecurityGroupIngress (Maybe (Val Text))
sgiGroupId = lens _securityGroupIngressGroupId (\s a -> s { _securityGroupIngressGroupId = a })
sgiGroupName :: Lens' SecurityGroupIngress (Maybe (Val Text))
sgiGroupName = lens _securityGroupIngressGroupName (\s a -> s { _securityGroupIngressGroupName = a })
sgiIpProtocol :: Lens' SecurityGroupIngress (Val Text)
sgiIpProtocol = lens _securityGroupIngressIpProtocol (\s a -> s { _securityGroupIngressIpProtocol = a })
sgiSourceSecurityGroupId :: Lens' SecurityGroupIngress (Maybe (Val Text))
sgiSourceSecurityGroupId = lens _securityGroupIngressSourceSecurityGroupId (\s a -> s { _securityGroupIngressSourceSecurityGroupId = a })
sgiSourceSecurityGroupName :: Lens' SecurityGroupIngress (Maybe (Val Text))
sgiSourceSecurityGroupName = lens _securityGroupIngressSourceSecurityGroupName (\s a -> s { _securityGroupIngressSourceSecurityGroupName = a })
sgiSourceSecurityGroupOwnerId :: Lens' SecurityGroupIngress (Maybe (Val Text))
sgiSourceSecurityGroupOwnerId = lens _securityGroupIngressSourceSecurityGroupOwnerId (\s a -> s { _securityGroupIngressSourceSecurityGroupOwnerId = a })
sgiToPort :: Lens' SecurityGroupIngress (Maybe (Val Integer'))
sgiToPort = lens _securityGroupIngressToPort (\s a -> s { _securityGroupIngressToPort = a })