propellor-5.13: property-based host configuration management in haskell
MaintainerArnaud Bailly <arnaud.oqube@gmail.com>
Safe HaskellSafe-Inferred
LanguageHaskell2010

Propellor.Property.Firewall

Description

Properties for configuring firewall (iptables) rules

Documentation

data Chain Source #

Instances

Instances details
Show Chain Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Chain -> ShowS

show :: Chain -> String

showList :: [Chain] -> ShowS

Eq Chain Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(==) :: Chain -> Chain -> Bool

(/=) :: Chain -> Chain -> Bool

ConfigurableValue Chain Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Chain -> String Source #

data Table Source #

Constructors

Filter 
Nat 
Mangle 
Raw 
Security 

Instances

Instances details
Show Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Table -> ShowS

show :: Table -> String

showList :: [Table] -> ShowS

Eq Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(==) :: Table -> Table -> Bool

(/=) :: Table -> Table -> Bool

ConfigurableValue Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Table -> String Source #

data Target Source #

Constructors

ACCEPT 
REJECT 
DROP 
LOG 
TargetCustom String 

Instances

Instances details
Show Target Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Target -> ShowS

show :: Target -> String

showList :: [Target] -> ShowS

Eq Target Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(==) :: Target -> Target -> Bool

(/=) :: Target -> Target -> Bool

ConfigurableValue Target Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Target -> String Source #

data Proto Source #

Constructors

TCP 
UDP 
ICMP 

Instances

Instances details
Show Proto Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Proto -> ShowS

show :: Proto -> String

showList :: [Proto] -> ShowS

Eq Proto Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(==) :: Proto -> Proto -> Bool

(/=) :: Proto -> Proto -> Bool

data Rules Source #

Constructors

Everything 
Proto Proto

There is actually some order dependency between proto and port so this should be a specific data type with proto + ports

DPort Port 
DPortRange (Port, Port) 
InIFace Interface 
OutIFace Interface 
Ctstate [ConnectionState] 
ICMPType ICMPTypeMatch 
RateLimit Frequency 
TCPFlags TCPFlagMask TCPFlagComp 
TCPSyn 
GroupOwner Group 
Source [IPWithMask] 
Destination [IPWithMask] 
NotDestination [IPWithMask] 
NatDestination IPAddr (Maybe Port) 
Rules :- Rules infixl 0

Combine two rules

Instances

Instances details
Monoid Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

mempty :: Rules #

mappend :: Rules -> Rules -> Rules #

mconcat :: [Rules] -> Rules #

Semigroup Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(<>) :: Rules -> Rules -> Rules #

sconcat :: NonEmpty Rules -> Rules

stimes :: Integral b => b -> Rules -> Rules

Show Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Rules -> ShowS

show :: Rules -> String

showList :: [Rules] -> ShowS

Eq Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(==) :: Rules -> Rules -> Bool

(/=) :: Rules -> Rules -> Bool

data ConnectionState Source #

Constructors

ESTABLISHED 
RELATED 
NEW 
INVALID 

Instances

Instances details
Show ConnectionState Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> ConnectionState -> ShowS

show :: ConnectionState -> String

showList :: [ConnectionState] -> ShowS

Eq ConnectionState Source # 
Instance details

Defined in Propellor.Property.Firewall

data ICMPTypeMatch Source #

Constructors

ICMPTypeName String 
ICMPTypeCode Int 

Instances

Instances details
Show ICMPTypeMatch Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> ICMPTypeMatch -> ShowS

show :: ICMPTypeMatch -> String

showList :: [ICMPTypeMatch] -> ShowS

Eq ICMPTypeMatch Source # 
Instance details

Defined in Propellor.Property.Firewall

ConfigurableValue ICMPTypeMatch Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: ICMPTypeMatch -> String Source #

data TCPFlag Source #

Constructors

SYN 
ACK 
FIN 
RST 
URG 
PSH 
ALL 
NONE 

Instances

Instances details
Show TCPFlag Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> TCPFlag -> ShowS

show :: TCPFlag -> String

showList :: [TCPFlag] -> ShowS

Eq TCPFlag Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(==) :: TCPFlag -> TCPFlag -> Bool

(/=) :: TCPFlag -> TCPFlag -> Bool

data Frequency Source #

Constructors

NumBySecond Int 

Instances

Instances details
Show Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Frequency -> ShowS

show :: Frequency -> String

showList :: [Frequency] -> ShowS

Eq Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(==) :: Frequency -> Frequency -> Bool

(/=) :: Frequency -> Frequency -> Bool

ConfigurableValue Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Frequency -> String Source #

data IPWithMask Source #

Instances

Instances details
Show IPWithMask Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> IPWithMask -> ShowS

show :: IPWithMask -> String

showList :: [IPWithMask] -> ShowS

Eq IPWithMask Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

(==) :: IPWithMask -> IPWithMask -> Bool

(/=) :: IPWithMask -> IPWithMask -> Bool

ConfigurableValue IPWithMask Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: IPWithMask -> String Source #