{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module Amazonka.NetworkFirewall.Types.StatefulRuleProtocol
( StatefulRuleProtocol
( ..,
StatefulRuleProtocol_DCERPC,
StatefulRuleProtocol_DHCP,
StatefulRuleProtocol_DNS,
StatefulRuleProtocol_FTP,
StatefulRuleProtocol_HTTP,
StatefulRuleProtocol_ICMP,
StatefulRuleProtocol_IKEV2,
StatefulRuleProtocol_IMAP,
StatefulRuleProtocol_IP,
StatefulRuleProtocol_KRB5,
StatefulRuleProtocol_MSN,
StatefulRuleProtocol_NTP,
StatefulRuleProtocol_SMB,
StatefulRuleProtocol_SMTP,
StatefulRuleProtocol_SSH,
StatefulRuleProtocol_TCP,
StatefulRuleProtocol_TFTP,
StatefulRuleProtocol_TLS,
StatefulRuleProtocol_UDP
),
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
newtype StatefulRuleProtocol = StatefulRuleProtocol'
{ StatefulRuleProtocol -> Text
fromStatefulRuleProtocol ::
Data.Text
}
deriving stock
( Int -> StatefulRuleProtocol -> ShowS
[StatefulRuleProtocol] -> ShowS
StatefulRuleProtocol -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StatefulRuleProtocol] -> ShowS
$cshowList :: [StatefulRuleProtocol] -> ShowS
show :: StatefulRuleProtocol -> String
$cshow :: StatefulRuleProtocol -> String
showsPrec :: Int -> StatefulRuleProtocol -> ShowS
$cshowsPrec :: Int -> StatefulRuleProtocol -> ShowS
Prelude.Show,
ReadPrec [StatefulRuleProtocol]
ReadPrec StatefulRuleProtocol
Int -> ReadS StatefulRuleProtocol
ReadS [StatefulRuleProtocol]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StatefulRuleProtocol]
$creadListPrec :: ReadPrec [StatefulRuleProtocol]
readPrec :: ReadPrec StatefulRuleProtocol
$creadPrec :: ReadPrec StatefulRuleProtocol
readList :: ReadS [StatefulRuleProtocol]
$creadList :: ReadS [StatefulRuleProtocol]
readsPrec :: Int -> ReadS StatefulRuleProtocol
$creadsPrec :: Int -> ReadS StatefulRuleProtocol
Prelude.Read,
StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
$c/= :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
== :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
$c== :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
Prelude.Eq,
Eq StatefulRuleProtocol
StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
StatefulRuleProtocol -> StatefulRuleProtocol -> Ordering
StatefulRuleProtocol
-> StatefulRuleProtocol -> StatefulRuleProtocol
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: StatefulRuleProtocol
-> StatefulRuleProtocol -> StatefulRuleProtocol
$cmin :: StatefulRuleProtocol
-> StatefulRuleProtocol -> StatefulRuleProtocol
max :: StatefulRuleProtocol
-> StatefulRuleProtocol -> StatefulRuleProtocol
$cmax :: StatefulRuleProtocol
-> StatefulRuleProtocol -> StatefulRuleProtocol
>= :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
$c>= :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
> :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
$c> :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
<= :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
$c<= :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
< :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
$c< :: StatefulRuleProtocol -> StatefulRuleProtocol -> Bool
compare :: StatefulRuleProtocol -> StatefulRuleProtocol -> Ordering
$ccompare :: StatefulRuleProtocol -> StatefulRuleProtocol -> Ordering
Prelude.Ord,
forall x. Rep StatefulRuleProtocol x -> StatefulRuleProtocol
forall x. StatefulRuleProtocol -> Rep StatefulRuleProtocol x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StatefulRuleProtocol x -> StatefulRuleProtocol
$cfrom :: forall x. StatefulRuleProtocol -> Rep StatefulRuleProtocol x
Prelude.Generic
)
deriving newtype
( Eq StatefulRuleProtocol
Int -> StatefulRuleProtocol -> Int
StatefulRuleProtocol -> Int
forall a. Eq a -> (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: StatefulRuleProtocol -> Int
$chash :: StatefulRuleProtocol -> Int
hashWithSalt :: Int -> StatefulRuleProtocol -> Int
$chashWithSalt :: Int -> StatefulRuleProtocol -> Int
Prelude.Hashable,
StatefulRuleProtocol -> ()
forall a. (a -> ()) -> NFData a
rnf :: StatefulRuleProtocol -> ()
$crnf :: StatefulRuleProtocol -> ()
Prelude.NFData,
Text -> Either String StatefulRuleProtocol
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String StatefulRuleProtocol
$cfromText :: Text -> Either String StatefulRuleProtocol
Data.FromText,
StatefulRuleProtocol -> Text
forall a. (a -> Text) -> ToText a
toText :: StatefulRuleProtocol -> Text
$ctoText :: StatefulRuleProtocol -> Text
Data.ToText,
StatefulRuleProtocol -> ByteString
forall a. (a -> ByteString) -> ToByteString a
toBS :: StatefulRuleProtocol -> ByteString
$ctoBS :: StatefulRuleProtocol -> ByteString
Data.ToByteString,
StatefulRuleProtocol -> ByteStringBuilder
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: StatefulRuleProtocol -> ByteStringBuilder
$cbuild :: StatefulRuleProtocol -> ByteStringBuilder
Data.ToLog,
HeaderName -> StatefulRuleProtocol -> [Header]
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> StatefulRuleProtocol -> [Header]
$ctoHeader :: HeaderName -> StatefulRuleProtocol -> [Header]
Data.ToHeader,
StatefulRuleProtocol -> QueryString
forall a. (a -> QueryString) -> ToQuery a
toQuery :: StatefulRuleProtocol -> QueryString
$ctoQuery :: StatefulRuleProtocol -> QueryString
Data.ToQuery,
Value -> Parser [StatefulRuleProtocol]
Value -> Parser StatefulRuleProtocol
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [StatefulRuleProtocol]
$cparseJSONList :: Value -> Parser [StatefulRuleProtocol]
parseJSON :: Value -> Parser StatefulRuleProtocol
$cparseJSON :: Value -> Parser StatefulRuleProtocol
Data.FromJSON,
FromJSONKeyFunction [StatefulRuleProtocol]
FromJSONKeyFunction StatefulRuleProtocol
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [StatefulRuleProtocol]
$cfromJSONKeyList :: FromJSONKeyFunction [StatefulRuleProtocol]
fromJSONKey :: FromJSONKeyFunction StatefulRuleProtocol
$cfromJSONKey :: FromJSONKeyFunction StatefulRuleProtocol
Data.FromJSONKey,
[StatefulRuleProtocol] -> Encoding
[StatefulRuleProtocol] -> Value
StatefulRuleProtocol -> Encoding
StatefulRuleProtocol -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [StatefulRuleProtocol] -> Encoding
$ctoEncodingList :: [StatefulRuleProtocol] -> Encoding
toJSONList :: [StatefulRuleProtocol] -> Value
$ctoJSONList :: [StatefulRuleProtocol] -> Value
toEncoding :: StatefulRuleProtocol -> Encoding
$ctoEncoding :: StatefulRuleProtocol -> Encoding
toJSON :: StatefulRuleProtocol -> Value
$ctoJSON :: StatefulRuleProtocol -> Value
Data.ToJSON,
ToJSONKeyFunction [StatefulRuleProtocol]
ToJSONKeyFunction StatefulRuleProtocol
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [StatefulRuleProtocol]
$ctoJSONKeyList :: ToJSONKeyFunction [StatefulRuleProtocol]
toJSONKey :: ToJSONKeyFunction StatefulRuleProtocol
$ctoJSONKey :: ToJSONKeyFunction StatefulRuleProtocol
Data.ToJSONKey,
[Node] -> Either String StatefulRuleProtocol
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String StatefulRuleProtocol
$cparseXML :: [Node] -> Either String StatefulRuleProtocol
Data.FromXML,
StatefulRuleProtocol -> XML
forall a. (a -> XML) -> ToXML a
toXML :: StatefulRuleProtocol -> XML
$ctoXML :: StatefulRuleProtocol -> XML
Data.ToXML
)
pattern StatefulRuleProtocol_DCERPC :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_DCERPC :: StatefulRuleProtocol
$mStatefulRuleProtocol_DCERPC :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_DCERPC = StatefulRuleProtocol' "DCERPC"
pattern StatefulRuleProtocol_DHCP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_DHCP :: StatefulRuleProtocol
$mStatefulRuleProtocol_DHCP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_DHCP = StatefulRuleProtocol' "DHCP"
pattern StatefulRuleProtocol_DNS :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_DNS :: StatefulRuleProtocol
$mStatefulRuleProtocol_DNS :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_DNS = StatefulRuleProtocol' "DNS"
pattern StatefulRuleProtocol_FTP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_FTP :: StatefulRuleProtocol
$mStatefulRuleProtocol_FTP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_FTP = StatefulRuleProtocol' "FTP"
pattern StatefulRuleProtocol_HTTP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_HTTP :: StatefulRuleProtocol
$mStatefulRuleProtocol_HTTP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_HTTP = StatefulRuleProtocol' "HTTP"
pattern StatefulRuleProtocol_ICMP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_ICMP :: StatefulRuleProtocol
$mStatefulRuleProtocol_ICMP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_ICMP = StatefulRuleProtocol' "ICMP"
pattern StatefulRuleProtocol_IKEV2 :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_IKEV2 :: StatefulRuleProtocol
$mStatefulRuleProtocol_IKEV2 :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_IKEV2 = StatefulRuleProtocol' "IKEV2"
pattern StatefulRuleProtocol_IMAP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_IMAP :: StatefulRuleProtocol
$mStatefulRuleProtocol_IMAP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_IMAP = StatefulRuleProtocol' "IMAP"
pattern StatefulRuleProtocol_IP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_IP :: StatefulRuleProtocol
$mStatefulRuleProtocol_IP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_IP = StatefulRuleProtocol' "IP"
pattern StatefulRuleProtocol_KRB5 :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_KRB5 :: StatefulRuleProtocol
$mStatefulRuleProtocol_KRB5 :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_KRB5 = StatefulRuleProtocol' "KRB5"
pattern StatefulRuleProtocol_MSN :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_MSN :: StatefulRuleProtocol
$mStatefulRuleProtocol_MSN :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_MSN = StatefulRuleProtocol' "MSN"
pattern StatefulRuleProtocol_NTP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_NTP :: StatefulRuleProtocol
$mStatefulRuleProtocol_NTP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_NTP = StatefulRuleProtocol' "NTP"
pattern StatefulRuleProtocol_SMB :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_SMB :: StatefulRuleProtocol
$mStatefulRuleProtocol_SMB :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_SMB = StatefulRuleProtocol' "SMB"
pattern StatefulRuleProtocol_SMTP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_SMTP :: StatefulRuleProtocol
$mStatefulRuleProtocol_SMTP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_SMTP = StatefulRuleProtocol' "SMTP"
pattern StatefulRuleProtocol_SSH :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_SSH :: StatefulRuleProtocol
$mStatefulRuleProtocol_SSH :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_SSH = StatefulRuleProtocol' "SSH"
pattern StatefulRuleProtocol_TCP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_TCP :: StatefulRuleProtocol
$mStatefulRuleProtocol_TCP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_TCP = StatefulRuleProtocol' "TCP"
pattern StatefulRuleProtocol_TFTP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_TFTP :: StatefulRuleProtocol
$mStatefulRuleProtocol_TFTP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_TFTP = StatefulRuleProtocol' "TFTP"
pattern StatefulRuleProtocol_TLS :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_TLS :: StatefulRuleProtocol
$mStatefulRuleProtocol_TLS :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_TLS = StatefulRuleProtocol' "TLS"
pattern StatefulRuleProtocol_UDP :: StatefulRuleProtocol
pattern $bStatefulRuleProtocol_UDP :: StatefulRuleProtocol
$mStatefulRuleProtocol_UDP :: forall {r}.
StatefulRuleProtocol -> ((# #) -> r) -> ((# #) -> r) -> r
StatefulRuleProtocol_UDP = StatefulRuleProtocol' "UDP"
{-# COMPLETE
StatefulRuleProtocol_DCERPC,
StatefulRuleProtocol_DHCP,
StatefulRuleProtocol_DNS,
StatefulRuleProtocol_FTP,
StatefulRuleProtocol_HTTP,
StatefulRuleProtocol_ICMP,
StatefulRuleProtocol_IKEV2,
StatefulRuleProtocol_IMAP,
StatefulRuleProtocol_IP,
StatefulRuleProtocol_KRB5,
StatefulRuleProtocol_MSN,
StatefulRuleProtocol_NTP,
StatefulRuleProtocol_SMB,
StatefulRuleProtocol_SMTP,
StatefulRuleProtocol_SSH,
StatefulRuleProtocol_TCP,
StatefulRuleProtocol_TFTP,
StatefulRuleProtocol_TLS,
StatefulRuleProtocol_UDP,
StatefulRuleProtocol'
#-}