propellor-5.17: 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

Eq Chain Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

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

Eq Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

ConfigurableValue Table Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Table -> String Source #

data Target Source #

Instances

Instances details
Show Target Source # 
Instance details

Defined in Propellor.Property.Firewall

Eq 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

Instances details
Show Proto Source # 
Instance details

Defined in Propellor.Property.Firewall

Eq Proto Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

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

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

Semigroup Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Show Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Eq Rules Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

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

(/=) :: Rules -> Rules -> Bool 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

Eq TCPFlag Source # 
Instance details

Defined in Propellor.Property.Firewall

data Frequency Source #

Constructors

NumBySecond Int 

Instances

Instances details
Show Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

Eq Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

ConfigurableValue Frequency Source # 
Instance details

Defined in Propellor.Property.Firewall

Methods

val :: Frequency -> String Source #