propellor-5.12: property-based host configuration management in haskell

MaintainerArnaud Bailly <arnaud.oqube@gmail.com>
Safe HaskellNone
LanguageHaskell98

Propellor.Property.Firewall

Description

Properties for configuring firewall (iptables) rules

Documentation

data Chain Source #

Instances
Eq Chain Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

Show Chain Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Chain -> ShowS #

show :: Chain -> String #

showList :: [Chain] -> ShowS #

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
Eq Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

Show Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Table -> ShowS #

show :: Table -> String #

showList :: [Table] -> ShowS #

ConfigurableValue Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Table -> String Source #

data Target Source #

Instances
Eq Target Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

Show Target Source # 
Instance details

Defined in Propellor.Property.Firewall

ConfigurableValue Target Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Target -> String Source #

data Proto Source #

Constructors

TCP 
UDP 
ICMP 
Instances
Eq Proto Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

Show Proto Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Proto -> ShowS #

show :: Proto -> String #

showList :: [Proto] -> ShowS #

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
Eq Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

Show Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

showsPrec :: Int -> Rules -> ShowS #

show :: Rules -> String #

showList :: [Rules] -> ShowS #

Semigroup Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

sconcat :: NonEmpty Rules -> Rules #

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

Monoid Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

mempty :: Rules #

mappend :: Rules -> Rules -> Rules #

mconcat :: [Rules] -> Rules #

data TCPFlag Source #

Constructors

SYN 
ACK 
FIN 
RST 
URG 
PSH 
ALL 
NONE 
Instances
Eq TCPFlag Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

Show TCPFlag Source # 
Instance details

Defined in Propellor.Property.Firewall

data Frequency Source #

Constructors

NumBySecond Int 
Instances
Eq Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

Show Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

ConfigurableValue Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Frequency -> String Source #