-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Haskell bindings for the Cloudflare API
--
-- Haskell interface to the Cloudflare API using auth tokens and the
-- Cloudflare API v4.
@package cloudflare-api
@version 0.1.0.0
module Network.Cloudflare.Types
-- | Cloudflare API token see
-- https://developers.cloudflare.com/fundamentals/api/get-started/create-token/
-- for instructions on creating a token
data CloudflareAuth
CloudflareAuth :: Text -> CloudflareAuth
[cloudflareAuthToken] :: CloudflareAuth -> Text
-- | Cloudflare account information
data Account
Account :: Text -> Text -> Account
-- | Cloudflare account ID
[accountId] :: Account -> Text
-- | Cloudflare account name
[accountName] :: Account -> Text
-- | Result type for Cloudflare API calls that don't return any extra data
-- and wrap the result in a "result" field
newtype ResultOnly a
ResultOnly :: a -> ResultOnly a
[resultOnlyResult] :: ResultOnly a -> a
-- | Result type for Cloudflare API call errors
data ResponseError
ResponseError :: Int -> Text -> ResponseError
[responseErrorCode] :: ResponseError -> Int
[responseErrorMessage] :: ResponseError -> Text
-- | Additional messages from Cloudflare API calls
data ResponseMessage
ResponseMessage :: Int -> Text -> ResponseMessage
[responseMessageCode] :: ResponseMessage -> Int
[responseMessageMessage] :: ResponseMessage -> Text
-- | Result information for Cloudflare API calls that return a list of
-- results
data ResultInfo
ResultInfo :: Int -> Int -> Int -> Int -> ResultInfo
[resultInfoCount] :: ResultInfo -> Int
[resultInfoPage] :: ResultInfo -> Int
[resultInfoPerPage] :: ResultInfo -> Int
[resultInfoTotalCount] :: ResultInfo -> Int
-- | Result type for Cloudflare API calls that returns a result with a list
-- of errors, a list of messages, and a success flag
data ResultResponse a
ResultResponse :: [ResponseError] -> [ResponseMessage] -> Bool -> a -> ResultResponse a
[resultErrors] :: ResultResponse a -> [ResponseError]
[resultMessages] :: ResultResponse a -> [ResponseMessage]
[resultSuccess] :: ResultResponse a -> Bool
[resultResult] :: ResultResponse a -> a
-- | Result type for Cloudflare API calls that returns a result with meta
-- information about the result, a list of errors, a list of messages,
-- and a success flag
data ResultWithInfo a
ResultWithInfo :: ResultInfo -> [ResponseError] -> [ResponseMessage] -> Bool -> a -> ResultWithInfo a
[resultWithInfoInfo] :: ResultWithInfo a -> ResultInfo
[resultWithInfoErrors] :: ResultWithInfo a -> [ResponseError]
[resultWithInfoMessages] :: ResultWithInfo a -> [ResponseMessage]
[resultWithInfoSuccess] :: ResultWithInfo a -> Bool
[resultWithInfoResult] :: ResultWithInfo a -> a
instance GHC.Show.Show Network.Cloudflare.Types.Account
instance GHC.Classes.Ord Network.Cloudflare.Types.Account
instance GHC.Classes.Eq Network.Cloudflare.Types.Account
instance GHC.Show.Show a => GHC.Show.Show (Network.Cloudflare.Types.ResultOnly a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Network.Cloudflare.Types.ResultOnly a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Network.Cloudflare.Types.ResultOnly a)
instance GHC.Show.Show Network.Cloudflare.Types.ResponseError
instance GHC.Classes.Ord Network.Cloudflare.Types.ResponseError
instance GHC.Classes.Eq Network.Cloudflare.Types.ResponseError
instance GHC.Show.Show Network.Cloudflare.Types.ResponseMessage
instance GHC.Classes.Ord Network.Cloudflare.Types.ResponseMessage
instance GHC.Classes.Eq Network.Cloudflare.Types.ResponseMessage
instance GHC.Show.Show Network.Cloudflare.Types.ResultInfo
instance GHC.Classes.Ord Network.Cloudflare.Types.ResultInfo
instance GHC.Classes.Eq Network.Cloudflare.Types.ResultInfo
instance GHC.Show.Show a => GHC.Show.Show (Network.Cloudflare.Types.ResultResponse a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Network.Cloudflare.Types.ResultResponse a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Network.Cloudflare.Types.ResultResponse a)
instance GHC.Show.Show a => GHC.Show.Show (Network.Cloudflare.Types.ResultWithInfo a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Network.Cloudflare.Types.ResultWithInfo a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Network.Cloudflare.Types.ResultWithInfo a)
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Network.Cloudflare.Types.ResultWithInfo a)
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Network.Cloudflare.Types.ResultResponse a)
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.Types.ResultInfo
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.Types.ResponseMessage
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.Types.ResponseError
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Network.Cloudflare.Types.ResultOnly a)
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.Types.Account
module Network.Cloudflare.DNS.Record
-- | Create a new DNS record for a zone
createDNSRecord :: DNSRecord record => CloudflareAuth -> Text -> CreateDNSRecord record -> IO (Either String (ResultResponse (DNSRecordEntry record)))
-- | List DNS records for a zone
listDNSRecords :: CloudflareAuth -> Text -> IO (Either String (ResultWithInfo [DNSEntry]))
-- | Export a zone's DNS records in BIND format
exportDNSRecords :: CloudflareAuth -> Text -> IO Text
-- | Import DNS records in BIND format
importDNSRecords :: CloudflareAuth -> Text -> Text -> Bool -> IO (Either String (ResultResponse ImportResponse))
-- | Scan DNS records for a zone
scanDNSRecords :: CloudflareAuth -> Text -> IO (Either String (ResultResponse ImportResponse))
-- | Delete a DNS record
deleteDNSRecord :: CloudflareAuth -> Text -> Text -> IO (Either String (ResultOnly DNSIdentifier))
-- | Get a single DNS record for
dnsRecordDetails :: CloudflareAuth -> Text -> Text -> IO (Response (ResultResponse DNSEntry))
-- | Patch a DNS record
patchDNSRecord :: DNSRecord record => CloudflareAuth -> Text -> Text -> CreateDNSRecord record -> IO (Either String (ResultResponse DNSEntry))
-- | Update a DNS record
updateDNSRecord :: DNSRecord record => CloudflareAuth -> Text -> Text -> CreateDNSRecord record -> IO (Either String (ResultResponse DNSEntry))
data ImportResponse
ImportResponse :: Int -> Int -> ImportResponse
-- | Number of DNS records added
[importResponseRecsAdded] :: ImportResponse -> Int
-- | Total number of DNS records parsed
[importResponseTotalRecordsParsed] :: ImportResponse -> Int
newtype DNSIdentifier
DNSIdentifier :: Text -> DNSIdentifier
[dnsIdentifierId] :: DNSIdentifier -> Text
data DNSEntry
ARecordEntry :: DNSRecordEntry ARecord -> DNSEntry
AAAARecordEntry :: DNSRecordEntry AAAARecord -> DNSEntry
CAARecordEntry :: DNSRecordEntry CAARecord -> DNSEntry
CERTRecordEntry :: DNSRecordEntry CERTRecord -> DNSEntry
CNAMERecordEntry :: DNSRecordEntry CNAMERecord -> DNSEntry
DNSKEYRecordEntry :: DNSRecordEntry DNSKEYRecord -> DNSEntry
DSRecordEntry :: DNSRecordEntry DSRecord -> DNSEntry
HTTPSRecordEntry :: DNSRecordEntry HTTPSRecord -> DNSEntry
LOCRecordEntry :: DNSRecordEntry LOCRecord -> DNSEntry
MXRecordEntry :: DNSRecordEntry MXRecord -> DNSEntry
NAPTRRecordEntry :: DNSRecordEntry NAPTRRecord -> DNSEntry
NSRecordEntry :: DNSRecordEntry NSRecord -> DNSEntry
PTRRecordEntry :: DNSRecordEntry PTRRecord -> DNSEntry
SMIMEARecordEntry :: DNSRecordEntry SMIMEARecord -> DNSEntry
SRVRecordEntry :: DNSRecordEntry SRVRecord -> DNSEntry
SSHFPRecordEntry :: DNSRecordEntry SSHFPRecord -> DNSEntry
SVCBRecordEntry :: DNSRecordEntry SVCBRecord -> DNSEntry
TLSARecordEntry :: DNSRecordEntry TLSARecord -> DNSEntry
TXTRecordEntry :: DNSRecordEntry TXTRecord -> DNSEntry
URIRecordEntry :: DNSRecordEntry URIRecord -> DNSEntry
withDNSEntry :: (forall record. DNSRecord record => DNSRecordEntry record -> a) -> DNSEntry -> a
class DNSRecord record
dnsRecordToJSON :: DNSRecord record => record -> [Pair]
dnsRecordType :: DNSRecord record => record -> Text
dnsRecordParse :: DNSRecord record => Object -> Parser record
-- | DNS entries returned by the Cloudflare API
data DNSRecordEntry record
DNSRecordEntry :: record -> Text -> Text -> Maybe Text -> UTCTime -> Text -> Bool -> Maybe Object -> UTCTime -> Bool -> [Text] -> Word32 -> Text -> Text -> DNSRecordEntry record
[dnsRecordEntryData] :: DNSRecordEntry record -> record
-- | DNS record type
[dnsRecordEntryType] :: DNSRecordEntry record -> Text
-- | DNS record content
[dnsRecordEntryContent] :: DNSRecordEntry record -> Text
-- | Comments or notes about the DNS record. This field has no effect on
-- DNS responses
[dnsRecordEntryComment] :: DNSRecordEntry record -> Maybe Text
[dnsRecordEntryCreatedOn] :: DNSRecordEntry record -> UTCTime
[dnsRecordEntryId] :: DNSRecordEntry record -> Text
[dnsRecordEntryLocked] :: DNSRecordEntry record -> Bool
[dnsRecordEntryMeta] :: DNSRecordEntry record -> Maybe Object
[dnsRecordEntryModifiedOn] :: DNSRecordEntry record -> UTCTime
[dnsRecordEntryProxiable] :: DNSRecordEntry record -> Bool
-- | Custom tags for the DNS record. This field has no effect on DNS
-- responses.
[dnsRecordEntryTags] :: DNSRecordEntry record -> [Text]
-- | Time To Live (TTL) of the DNS record in seconds. Setting to 1 means
-- automatic. Value must be between 60 and 86400, with the
-- minimum reduced to 30 for Enterprise zones.
[dnsRecordEntryTTL] :: DNSRecordEntry record -> Word32
-- | Zone identifier
[dnsRecordEntryZoneId] :: DNSRecordEntry record -> Text
-- | Zone name
[dnsRecordEntryZoneName] :: DNSRecordEntry record -> Text
-- | Create a new DNS record for a zone
data CreateDNSRecord record
CreateDNSRecord :: record -> Text -> Bool -> Maybe Text -> [Text] -> Word32 -> CreateDNSRecord record
-- | The data for the DNS record
[createDNSRecordData] :: CreateDNSRecord record -> record
-- | DNS record name (or @ for the zone apex) in Punycode
[createDNSRecordName] :: CreateDNSRecord record -> Text
-- | Use Cloudflare's proxying for this record
[createDNSRecordProxied] :: CreateDNSRecord record -> Bool
-- | Comments or notes about the DNS record. This field has no effect on
-- DNS responses
[createDNSRecordComment] :: CreateDNSRecord record -> Maybe Text
-- | Custom tags for the DNS record. This field has no effect on DNS
-- responses. Not available in the free plan
[createDNSRecordTags] :: CreateDNSRecord record -> [Text]
-- | Time To Live (TTL) of the DNS record in seconds. Setting to 1 means
-- automatic. Value must be between 60 and 86400, with the
-- minimum reduced to 30 for Enterprise zones.
[createDNSRecordTTL] :: CreateDNSRecord record -> Word32
-- | RFC 1035 A record
data ARecord
ARecord :: Text -> ARecord
-- | Valid IPv4 address.
[aRecordContent] :: ARecord -> Text
-- | RFC 3596 AAAA record
data AAAARecord
AAAARecord :: Text -> AAAARecord
-- | Valid IPv6 address.
[aaaaRecordContent] :: AAAARecord -> Text
-- | RFC 6844 CAA record
data CAARecord
CAARecord :: Word8 -> Text -> Text -> CAARecord
-- | Flags for the CAA record see RFC 6844 section 1
[caaRecordFlags] :: CAARecord -> Word8
-- | Name of the property controlled by this record (e.g.: issue,
-- issuewild, iodef). TODO make a specific type
[caaRecordTag] :: CAARecord -> Text
-- | Value of the record. This field's semantics depend on the chosen tag.
[caaRecordValue] :: CAARecord -> Text
-- | RFC4398 CERT record
data CERTRecord
CERTRecord :: Int -> Text -> Word16 -> Int -> CERTRecord
-- | Algorithm, defined in 2.1.3 of RFC4034
[certRecordAlgorithm] :: CERTRecord -> Int
-- | Certificate
[certRecordCertificate] :: CERTRecord -> Text
-- | Key tag, defined in appendix B of RFC4034
[certRecordKeyTag] :: CERTRecord -> Word16
-- | Type, section 2.1 of RFC4398 1 for X.509
[certRecordType] :: CERTRecord -> Int
-- | RFC 1035 CNAME record, section 3.3.1
data CNAMERecord
CNAMERecord :: Text -> CNAMERecord
-- | Domain name to which the record points to
[cnameRecordContent] :: CNAMERecord -> Text
-- | RFC4034 DNSKEY record, defined in section 2
data DNSKEYRecord
DNSKEYRecord :: Word8 -> Word16 -> Word8 -> Text -> DNSKEYRecord
-- | Algorithm, defined in 2.1.3 of RFC4034
[dnskeyRecordAlgorithm] :: DNSKEYRecord -> Word8
-- | Flags for the DNSKEY record, defined in 2.1.1 of RFC4034
[dnskeyRecordFlags] :: DNSKEYRecord -> Word16
-- | Protocol for the DNSKEY record, defined in 2.1.2 of RFC4034
[dnskeyRecordProtocol] :: DNSKEYRecord -> Word8
-- | Public key for the DNSKEY record, depends on the algorithm used, see
-- appendix section A.1 of RFC4034
[dnskeyRecordPublicKey] :: DNSKEYRecord -> Text
-- | RFC4034 DS record, defined in section 5.1
data DSRecord
DSRecord :: Word8 -> Text -> Word8 -> Word16 -> DSRecord
-- | Algorithm, defined in 5.1.2 of RFC4034
[dsRecordAlgorithm] :: DSRecord -> Word8
-- | Digest, defined in 5.1.4 of RFC4034
[dsRecordDigest] :: DSRecord -> Text
-- | Digest type, defined in 5.1.3 of RFC4034
[dsRecordDigestType] :: DSRecord -> Word8
-- | Key tag, defined in 5.1.1 of RFC4034
[dsRecordKeyTag] :: DSRecord -> Word16
-- | Defined in section 1.2 of draft-ietf-dnsop-svcb-https-12, it shares
-- the same structure as the SVCB record
data HTTPSRecord
HTTPSRecord :: Word16 -> Text -> Text -> HTTPSRecord
-- | priority
[httpsRecordPriority] :: HTTPSRecord -> Word16
-- | target
[httpsRecordTarget] :: HTTPSRecord -> Text
-- | value TODO this could be made into a [(Text, Text))]
[httpsRecordValue] :: HTTPSRecord -> Text
-- | RFC 1876 LOC record, defined in section 2
data LOCRecord
LOCRecord :: Int32 -> Int -> Text -> Int -> Double -> Int -> Text -> Int -> Double -> Int -> Int -> Int -> LOCRecord
-- | Altitude of location in meters from 0e0 to 9e9, from a base of 100,000
-- meters below the WGS 84 reference spheroid used by GPS
[locRecordAltitude] :: LOCRecord -> Int32
-- | Degrees of latitude
[locRecordLatDegrees] :: LOCRecord -> Int
-- | Direction of latitude (N or S) TODO make this a specific type
[locRecordLatDirection] :: LOCRecord -> Text
-- | Minutes of latitude
[locRecordLatMinutes] :: LOCRecord -> Int
-- | Seconds of latitude rounded to 3 decimal places
[locRecordLatSeconds] :: LOCRecord -> Double
-- | Degrees of longitude
[locRecordLongDegrees] :: LOCRecord -> Int
-- | Direction of longitude (E or W) TODO make this a specific type
[locRecordLongDirection] :: LOCRecord -> Text
-- | Minutes of longitude
[locRecordLongMinutes] :: LOCRecord -> Int
-- | Seconds of longitude rounded to 3 decimal places
[locRecordLongSeconds] :: LOCRecord -> Double
-- | Horizontal precision of location in meters
[locRecordPrecisionHoriz] :: LOCRecord -> Int
-- | Vertical precision of location in meters from 0e0 to 9e9
[locRecordPrecisionVert] :: LOCRecord -> Int
-- | Size of location in meters from 0e0 to 9e9
[locRecordSize] :: LOCRecord -> Int
-- | RFC 1035 MX record, defined in section 3.3.9
data MXRecord
MXRecord :: Text -> Word16 -> MXRecord
-- | A domain name to act as a mail exchange
[mxRecordContent] :: MXRecord -> Text
-- | Priority of the target host, client MUST attempt to contact the target
-- host with the lowest priority it can reach
[mxRecordPriority] :: MXRecord -> Word16
-- | RFC 3403 NAPTR, Name Authority Pointer record
data NAPTRRecord
NAPTRRecord :: Text -> Word16 -> Word16 -> Text -> Text -> Text -> NAPTRRecord
-- | Flags to control the rewriting and interpretation of the fields in the
-- record, characters from A-Z and 0-9, defined in section 4.1
[naptrRecordFlags] :: NAPTRRecord -> Text
-- | Order that the records MUST be processed in, defined in section 4.1
[naptrRecordOrder] :: NAPTRRecord -> Word16
-- | Preference, equivalent to priority in DDDS, defined in section 4.1
[naptrRecordPreference] :: NAPTRRecord -> Word16
-- | Regexp, substitution expression that is applied to the original
-- string, defined in section 4.1
[naptrRecordRegexp] :: NAPTRRecord -> Text
-- | Replacement, MUST be a fully qualified domain name, defined in section
-- 4.1
[naptrRecordReplacement] :: NAPTRRecord -> Text
-- | Service parameters applicable to this delegation path, defined in
-- section 4.1
[naptrRecordService] :: NAPTRRecord -> Text
-- | RFC 1035 NS, name server record defined in section 3.3.11
data NSRecord
NSRecord :: Text -> NSRecord
-- | A domain name to act as a name server
[nsRecordContent] :: NSRecord -> Text
-- | RFC 1035 PTR, pointer record defined in section 3.3.12
data PTRRecord
PTRRecord :: Text -> PTRRecord
-- | A valid PTR target host name
[ptrRecordContent] :: PTRRecord -> Text
-- | RFC 8162 SMIMEA record
data SMIMEARecord
SMIMEARecord :: Text -> Int -> Int -> Int -> SMIMEARecord
-- | Certificate
[smimeaRecordCertificate] :: SMIMEARecord -> Text
-- | Matching type
[smimeaMathingType] :: SMIMEARecord -> Int
-- | Selector
[smimeaRecordSelector] :: SMIMEARecord -> Int
-- | Usage
[smimeaRecordUsage] :: SMIMEARecord -> Int
-- | RFC 2782 SRV, service record
data SRVRecord
SRVRecord :: Text -> Word16 -> Word16 -> Text -> Text -> Text -> Word16 -> SRVRecord
-- | Domain name of the service
[srvRecordName] :: SRVRecord -> Text
-- | The port of the service
[srvRecordPort] :: SRVRecord -> Word16
-- | The priority of the target host, client MUST attempt to contact the
-- target host with the lowest priority it can reach
[srvRecordPriority] :: SRVRecord -> Word16
-- | Name of the protocol for the service, prepended with an underscore
-- (_TCP, _UDP)
[srvRecordProto] :: SRVRecord -> Text
-- | A service type, prefixed with an underscore (Example _SIP),
-- defined in RFC 1700 or locally
[srvRecordService] :: SRVRecord -> Text
-- | Domain name of the target host, there can not be an alias
[srvRecordTarget] :: SRVRecord -> Text
-- | Relative weight for records with the same priority, higher value means
-- higher chance of being selected
[srvRecordWeight] :: SRVRecord -> Word16
-- | RFC 4255 SSHFP record
data SSHFPRecord
SSHFPRecord :: Int -> Text -> Int -> SSHFPRecord
-- | Algorithm
[sshfpRecordAlgorithm] :: SSHFPRecord -> Int
-- | Fingerprint
[sshfpRecordFingerprint] :: SSHFPRecord -> Text
-- | Type
[sshfpRecordType] :: SSHFPRecord -> Int
-- | draft-ietf-dnsop-svcb-https-12 SVCB record
data SVCBRecord
SVCBRecord :: Int -> Text -> Text -> SVCBRecord
-- | Priority
[svcBRecordPriority] :: SVCBRecord -> Int
-- | Target
[svcBRecordTarget] :: SVCBRecord -> Text
-- | Value (Example 'alpn="h3,h2" ipv4hint="127.0.0.1" ipv6hint="::1"')
[svcBRecordValue] :: SVCBRecord -> Text
-- | RFC 6698 TLSA record, defined in section 2
data TLSARecord
TLSARecord :: Text -> Word8 -> Word8 -> Word8 -> TLSARecord
-- | Certificate, either raw data (full certificate or SubjectPublicKeyInfo
-- based on the selector) for matching type 0, or the hash of the raw
-- certificate data for types 1 and 2. The hash is in binary form, not
-- hex-encoded. Defined in section 2.1.4
[tlsaRecordCertificate] :: TLSARecord -> Text
-- | Matching type specifies how the certificate association is presented,
-- defined in section 2.1.3
[tlsaRecordMatchingType] :: TLSARecord -> Word8
-- | Selector the part of the TLS certificate to match against, defined in
-- section 2.1.2
[tlsaRecordSelector] :: TLSARecord -> Word8
-- | Usage of the certificate, defined in section 2.1.1
[tlsaRecordUsage] :: TLSARecord -> Word8
-- | RFC 1035 TXT record, defined in section 3.3.14
data TXTRecord
TXTRecord :: Text -> TXTRecord
-- | Text content of the record
[txtRecordContent] :: TXTRecord -> Text
-- | RFC 7553 URI record
data URIRecord
URIRecord :: Text -> Word16 -> URIRecord
-- | URI content, defined in section 2
[uriRecordContent] :: URIRecord -> Text
-- | Priority, lower value means higher chance of being selected
[uriRecordPriority] :: URIRecord -> Word16
instance GHC.Show.Show Network.Cloudflare.DNS.Record.ImportResponse
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.ImportResponse
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.ImportResponse
instance GHC.Show.Show Network.Cloudflare.DNS.Record.DNSIdentifier
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.DNSIdentifier
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.DNSIdentifier
instance GHC.Show.Show record => GHC.Show.Show (Network.Cloudflare.DNS.Record.DNSRecordEntry record)
instance GHC.Classes.Ord record => GHC.Classes.Ord (Network.Cloudflare.DNS.Record.DNSRecordEntry record)
instance GHC.Classes.Eq record => GHC.Classes.Eq (Network.Cloudflare.DNS.Record.DNSRecordEntry record)
instance GHC.Show.Show record => GHC.Show.Show (Network.Cloudflare.DNS.Record.CreateDNSRecord record)
instance GHC.Classes.Ord record => GHC.Classes.Ord (Network.Cloudflare.DNS.Record.CreateDNSRecord record)
instance GHC.Classes.Eq record => GHC.Classes.Eq (Network.Cloudflare.DNS.Record.CreateDNSRecord record)
instance GHC.Show.Show Network.Cloudflare.DNS.Record.ARecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.ARecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.ARecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.AAAARecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.AAAARecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.AAAARecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.CAARecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.CAARecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.CAARecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.CERTRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.CERTRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.CERTRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.CNAMERecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.CNAMERecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.CNAMERecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.DNSKEYRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.DNSKEYRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.DNSKEYRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.DSRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.DSRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.DSRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.HTTPSRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.HTTPSRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.HTTPSRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.LOCRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.LOCRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.LOCRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.MXRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.MXRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.MXRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.NAPTRRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.NAPTRRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.NAPTRRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.NSRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.NSRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.NSRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.PTRRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.PTRRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.PTRRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.SMIMEARecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.SMIMEARecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.SMIMEARecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.SRVRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.SRVRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.SRVRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.SSHFPRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.SSHFPRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.SSHFPRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.SVCBRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.SVCBRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.SVCBRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.TLSARecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.TLSARecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.TLSARecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.TXTRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.TXTRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.TXTRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.URIRecord
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.URIRecord
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.URIRecord
instance GHC.Show.Show Network.Cloudflare.DNS.Record.DNSEntry
instance GHC.Classes.Ord Network.Cloudflare.DNS.Record.DNSEntry
instance GHC.Classes.Eq Network.Cloudflare.DNS.Record.DNSEntry
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.DNS.Record.DNSEntry
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.URIRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.TXTRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.TLSARecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.SVCBRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.SSHFPRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.SRVRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.SMIMEARecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.PTRRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.NSRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.NAPTRRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.MXRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.LOCRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.HTTPSRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.DSRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.DNSKEYRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.CNAMERecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.CERTRecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.CAARecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.AAAARecord
instance Network.Cloudflare.DNS.Record.DNSRecord Network.Cloudflare.DNS.Record.ARecord
instance Network.Cloudflare.DNS.Record.DNSRecord record => Data.Aeson.Types.ToJSON.ToJSON (Network.Cloudflare.DNS.Record.CreateDNSRecord record)
instance Network.Cloudflare.DNS.Record.DNSRecord record => Data.Aeson.Types.FromJSON.FromJSON (Network.Cloudflare.DNS.Record.DNSRecordEntry record)
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.DNS.Record.DNSIdentifier
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.DNS.Record.ImportResponse
module Network.Cloudflare.DNS.DNSSEC
-- | Get the DNSSEC settings for a zone
getDNSSEC :: CloudflareAuth -> Text -> IO (Either String (ResultResponse DNSECDetails))
-- | Edit DNSSEC settings for a zone
editDNSSEC :: CloudflareAuth -> Text -> EditDNSSECStatus -> IO (Either String (ResultResponse DNSSEC))
-- | Edit DNSSEC settings for a zone, fields set to Nothing will not be
-- changed
data EditDNSSECStatus
EditDNSSECStatus :: Maybe Bool -> Maybe Bool -> Maybe DNSSECStatus -> EditDNSSECStatus
-- | Enable or disable multi-signer DNSSEC
[editDNSSECMultiSigner] :: EditDNSSECStatus -> Maybe Bool
-- | Enable or disable presigned DNSSEC
[editDNSSECPresigned] :: EditDNSSECStatus -> Maybe Bool
-- | Enable or disable DNSSEC
[editDNSSECStatus] :: EditDNSSECStatus -> Maybe DNSSECStatus
-- | Status of DNSSec for a zone
data DNSSECStatus
DNSSECActive :: DNSSECStatus
DNSSECDisabled :: DNSSECStatus
-- | Text representation of DNSSECStatus
dnssecStatusToText :: DNSSECStatus -> Text
data DNSECDetails
DNSSecActive :: DNSSEC -> DNSECDetails
DNSSecDisabled :: DNSECDetails
DNSSecPending :: DNSSEC -> DNSECDetails
data DNSSEC
DNSSEC :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe Bool -> Text -> Word8 -> Word16 -> Text -> UTCTime -> Text -> Text -> DNSSEC
[dnssecAlgorithm] :: DNSSEC -> Maybe Text
[dnssecDigest] :: DNSSEC -> Maybe Text
[dnssecDigestType] :: DNSSEC -> Maybe Text
[dnssecMultiSigner] :: DNSSEC -> Maybe Bool
[dnssecPresigned] :: DNSSEC -> Maybe Bool
[dnssecDS] :: DNSSEC -> Text
[dnssecFlags] :: DNSSEC -> Word8
[dnssecKeyTag] :: DNSSEC -> Word16
[dnssecKeyType] :: DNSSEC -> Text
[dnssecModifiedOn] :: DNSSEC -> UTCTime
[dnssecPublicKey] :: DNSSEC -> Text
[dnssecStatus] :: DNSSEC -> Text
instance GHC.Show.Show Network.Cloudflare.DNS.DNSSEC.DNSSECStatus
instance GHC.Classes.Ord Network.Cloudflare.DNS.DNSSEC.DNSSECStatus
instance GHC.Classes.Eq Network.Cloudflare.DNS.DNSSEC.DNSSECStatus
instance GHC.Show.Show Network.Cloudflare.DNS.DNSSEC.EditDNSSECStatus
instance GHC.Classes.Ord Network.Cloudflare.DNS.DNSSEC.EditDNSSECStatus
instance GHC.Classes.Eq Network.Cloudflare.DNS.DNSSEC.EditDNSSECStatus
instance GHC.Show.Show Network.Cloudflare.DNS.DNSSEC.DNSSEC
instance GHC.Classes.Ord Network.Cloudflare.DNS.DNSSEC.DNSSEC
instance GHC.Classes.Eq Network.Cloudflare.DNS.DNSSEC.DNSSEC
instance GHC.Show.Show Network.Cloudflare.DNS.DNSSEC.DNSECDetails
instance GHC.Classes.Ord Network.Cloudflare.DNS.DNSSEC.DNSECDetails
instance GHC.Classes.Eq Network.Cloudflare.DNS.DNSSEC.DNSECDetails
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.DNS.DNSSEC.DNSECDetails
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.DNS.DNSSEC.DNSSEC
instance Data.Aeson.Types.ToJSON.ToJSON Network.Cloudflare.DNS.DNSSEC.EditDNSSECStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.Cloudflare.DNS.DNSSEC.DNSSECStatus
module Network.Cloudflare.Zone
listZones :: CloudflareAuth -> IO (Either String (ResultWithInfo [Zone]))
data Zone
Zone :: Account -> UTCTime -> UTCTime -> Int -> Text -> Object -> UTCTime -> Text -> Maybe Text -> Maybe [Text] -> Maybe Text -> Object -> Maybe [Text] -> Zone
[zoneAccount] :: Zone -> Account
[zoneActivatedOn] :: Zone -> UTCTime
[zoneCreatedOn] :: Zone -> UTCTime
[zoneDevelopmentMode] :: Zone -> Int
[zoneId] :: Zone -> Text
[zoneMeta] :: Zone -> Object
[zoneModifiedOn] :: Zone -> UTCTime
[zoneName] :: Zone -> Text
[zoneOriginalDNSHost] :: Zone -> Maybe Text
[zoneOriginalNameServers] :: Zone -> Maybe [Text]
[zoneOriginalRegistrar] :: Zone -> Maybe Text
[zoneOwner] :: Zone -> Object
[zoneVanityNameServers] :: Zone -> Maybe [Text]
instance GHC.Show.Show Network.Cloudflare.Zone.Zone
instance GHC.Classes.Ord Network.Cloudflare.Zone.Zone
instance GHC.Classes.Eq Network.Cloudflare.Zone.Zone
instance Data.Aeson.Types.FromJSON.FromJSON Network.Cloudflare.Zone.Zone