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

Safe HaskellNone
LanguageHaskell98

Propellor.Types.Dns

Synopsis

Documentation

data IPAddr Source #

Constructors

IPv4 String 
IPv6 String 
Instances
Eq IPAddr Source # 
Instance details

Defined in Propellor.Types.Dns

Methods

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

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

Ord IPAddr Source # 
Instance details

Defined in Propellor.Types.Dns

Read IPAddr Source # 
Instance details

Defined in Propellor.Types.Dns

Show IPAddr Source # 
Instance details

Defined in Propellor.Types.Dns

ConfigurableValue IPAddr Source # 
Instance details

Defined in Propellor.Types.Dns

Methods

val :: IPAddr -> String Source #

newtype DnsInfoPropagated Source #

Use this for DNS Info that should propagate from a container to a host. For example, this can be used for CNAME to make aliases of the containers in the host be reflected in the DNS.

Instances
Eq DnsInfoPropagated Source # 
Instance details

Defined in Propellor.Types.Dns

Ord DnsInfoPropagated Source # 
Instance details

Defined in Propellor.Types.Dns

Show DnsInfoPropagated Source # 
Instance details

Defined in Propellor.Types.Dns

Semigroup DnsInfoPropagated Source # 
Instance details

Defined in Propellor.Types.Dns

Monoid DnsInfoPropagated Source # 
Instance details

Defined in Propellor.Types.Dns

IsInfo DnsInfoPropagated Source # 
Instance details

Defined in Propellor.Types.Dns

newtype DnsInfoUnpropagated Source #

Use this for DNS Info that should not propagate from a container to a host. For example, an IP address of a container should not influence the host.

Instances
Eq DnsInfoUnpropagated Source # 
Instance details

Defined in Propellor.Types.Dns

Ord DnsInfoUnpropagated Source # 
Instance details

Defined in Propellor.Types.Dns

Show DnsInfoUnpropagated Source # 
Instance details

Defined in Propellor.Types.Dns

Semigroup DnsInfoUnpropagated Source # 
Instance details

Defined in Propellor.Types.Dns

Monoid DnsInfoUnpropagated Source # 
Instance details

Defined in Propellor.Types.Dns

IsInfo DnsInfoUnpropagated Source # 
Instance details

Defined in Propellor.Types.Dns

getDnsInfo :: Info -> Set Record Source #

Get all DNS Info.

data Zone Source #

Represents a bind 9 zone file.

Constructors

Zone 

Fields

Instances
Eq Zone Source # 
Instance details

Defined in Propellor.Types.Dns

Methods

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

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

Read Zone Source # 
Instance details

Defined in Propellor.Types.Dns

Show Zone Source # 
Instance details

Defined in Propellor.Types.Dns

Methods

showsPrec :: Int -> Zone -> ShowS #

show :: Zone -> String #

showList :: [Zone] -> ShowS #

data SOA Source #

Every domain has a SOA record, which is big and complicated.

Constructors

SOA 

Fields

Instances
Eq SOA Source # 
Instance details

Defined in Propellor.Types.Dns

Methods

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

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

Read SOA Source # 
Instance details

Defined in Propellor.Types.Dns

Show SOA Source # 
Instance details

Defined in Propellor.Types.Dns

Methods

showsPrec :: Int -> SOA -> ShowS #

show :: SOA -> String #

showList :: [SOA] -> ShowS #

data Record Source #

Types of DNS records.

This is not a complete list, more can be added.

Instances
Eq Record Source # 
Instance details

Defined in Propellor.Types.Dns

Methods

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

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

Ord Record Source # 
Instance details

Defined in Propellor.Types.Dns

Read Record Source # 
Instance details

Defined in Propellor.Types.Dns

Show Record Source # 
Instance details

Defined in Propellor.Types.Dns

type ReverseIP = String Source #

An in-addr.arpa record corresponding to an IPAddr.

canonicalIP :: IPAddr -> IPAddr Source #

Converts an IP address (particularly IPv6) to canonical, fully expanded form.

type SerialNumber = Word32 Source #

Bind serial numbers are unsigned, 32 bit integers.

data BindDomain Source #

Domains in the zone file must end with a period if they are absolute.

Let's use a type to keep absolute domains straight from relative domains.

The RootDomain refers to the top level of the domain, so can be used to add nameservers, MX's, etc to a domain.

newtype NamedConfMap Source #

Instances
Eq NamedConfMap Source # 
Instance details

Defined in Propellor.Types.Dns

Ord NamedConfMap Source # 
Instance details

Defined in Propellor.Types.Dns

Show NamedConfMap Source # 
Instance details

Defined in Propellor.Types.Dns

Semigroup NamedConfMap Source #

Adding a Master NamedConf stanza for a particulr domain always overrides an existing Secondary stanza for that domain, while a Secondary stanza is only added when there is no existing Master stanza.

Instance details

Defined in Propellor.Types.Dns

Monoid NamedConfMap Source # 
Instance details

Defined in Propellor.Types.Dns

Empty NamedConfMap Source # 
Instance details

Defined in Propellor.Types.Dns

IsInfo NamedConfMap Source # 
Instance details

Defined in Propellor.Types.Dns