Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Propellor.Types.Dns
Synopsis
- type Domain = String
- data IPAddr
- newtype AliasesInfo = AliasesInfo (Set HostName)
- toAliasesInfo :: [HostName] -> AliasesInfo
- fromAliasesInfo :: AliasesInfo -> [HostName]
- newtype DnsInfoPropagated = DnsInfoPropagated {}
- toDnsInfoPropagated :: Set Record -> DnsInfoPropagated
- newtype DnsInfoUnpropagated = DnsInfoUnpropagated {}
- toDnsInfoUnpropagated :: Set Record -> DnsInfoUnpropagated
- getDnsInfo :: Info -> Set Record
- data NamedConf = NamedConf {
- confDomain :: Domain
- confDnsServerType :: DnsServerType
- confFile :: FilePath
- confMasters :: [IPAddr]
- confAllowTransfer :: [IPAddr]
- confLines :: [String]
- data DnsServerType
- data Zone = Zone {}
- data SOA = SOA {}
- data Record
- type ReverseIP = String
- reverseIP :: IPAddr -> ReverseIP
- canonicalIP :: IPAddr -> IPAddr
- getIPAddr :: Record -> Maybe IPAddr
- getCNAME :: Record -> Maybe BindDomain
- getNS :: Record -> Maybe BindDomain
- type SerialNumber = Word32
- data BindDomain
- domainHostName :: BindDomain -> Maybe HostName
- newtype NamedConfMap = NamedConfMap (Map Domain NamedConf)
- fromNamedConfMap :: NamedConfMap -> Map Domain NamedConf
Documentation
Instances
Read IPAddr Source # | |
Show IPAddr Source # | |
Eq IPAddr Source # | |
Ord IPAddr Source # | |
ConfigurableValue IPAddr Source # | |
newtype AliasesInfo Source #
Constructors
AliasesInfo (Set HostName) |
Instances
toAliasesInfo :: [HostName] -> AliasesInfo Source #
fromAliasesInfo :: AliasesInfo -> [HostName] 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.
Constructors
DnsInfoPropagated | |
Fields |
Instances
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.
Constructors
DnsInfoUnpropagated | |
Fields |
Instances
Represents a bind 9 named.conf file.
Constructors
NamedConf | |
Fields
|
Instances
Show NamedConf Source # | |
Eq NamedConf Source # | |
Ord NamedConf Source # | |
Defined in Propellor.Types.Dns |
data DnsServerType Source #
Instances
Show DnsServerType Source # | |
Defined in Propellor.Types.Dns | |
Eq DnsServerType Source # | |
Defined in Propellor.Types.Dns Methods (==) :: DnsServerType -> DnsServerType -> Bool Source # (/=) :: DnsServerType -> DnsServerType -> Bool Source # | |
Ord DnsServerType Source # | |
Defined in Propellor.Types.Dns Methods compare :: DnsServerType -> DnsServerType -> Ordering Source # (<) :: DnsServerType -> DnsServerType -> Bool Source # (<=) :: DnsServerType -> DnsServerType -> Bool Source # (>) :: DnsServerType -> DnsServerType -> Bool Source # (>=) :: DnsServerType -> DnsServerType -> Bool Source # max :: DnsServerType -> DnsServerType -> DnsServerType Source # min :: DnsServerType -> DnsServerType -> DnsServerType Source # |
Every domain has a SOA record, which is big and complicated.
Constructors
SOA | |
Fields
|
Types of DNS records.
This is not a complete list, more can be added.
Constructors
Address IPAddr | |
CNAME BindDomain | |
MX Int BindDomain | |
NS BindDomain | |
TXT String | |
SRV Word16 Word16 Word16 BindDomain | |
SSHFP Int Int String | |
INCLUDE FilePath | |
PTR ReverseIP |
Instances
Read Record Source # | |
Show Record Source # | |
Eq Record Source # | |
Ord Record Source # | |
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.
Constructors
RelDomain Domain | |
AbsDomain Domain | |
RootDomain |
Instances
Read BindDomain Source # | |
Defined in Propellor.Types.Dns | |
Show BindDomain Source # | |
Defined in Propellor.Types.Dns | |
Eq BindDomain Source # | |
Defined in Propellor.Types.Dns Methods (==) :: BindDomain -> BindDomain -> Bool Source # (/=) :: BindDomain -> BindDomain -> Bool Source # | |
Ord BindDomain Source # | |
Defined in Propellor.Types.Dns Methods compare :: BindDomain -> BindDomain -> Ordering Source # (<) :: BindDomain -> BindDomain -> Bool Source # (<=) :: BindDomain -> BindDomain -> Bool Source # (>) :: BindDomain -> BindDomain -> Bool Source # (>=) :: BindDomain -> BindDomain -> Bool Source # max :: BindDomain -> BindDomain -> BindDomain Source # min :: BindDomain -> BindDomain -> BindDomain Source # |
domainHostName :: BindDomain -> Maybe HostName Source #
newtype NamedConfMap Source #
Constructors
NamedConfMap (Map Domain NamedConf) |