#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DnsLookupResult {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "recordEntries")]
pub record_entries: Vec<String>,
#[serde(rename = "recordType")]
pub record_type: RecordType,
#[serde(rename = "ttl")]
pub ttl: i64,
}
impl DnsLookupResult {
pub fn new(name: String, record_entries: Vec<String>, record_type: RecordType, ttl: i64) -> DnsLookupResult {
DnsLookupResult {
name,
record_entries,
record_type,
ttl,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum RecordType {
#[serde(rename = "A")]
A,
#[serde(rename = "NS")]
NS,
#[serde(rename = "MD")]
MD,
#[serde(rename = "MF")]
MF,
#[serde(rename = "CNAME")]
CNAME,
#[serde(rename = "SOA")]
SOA,
#[serde(rename = "MB")]
MB,
#[serde(rename = "MG")]
MG,
#[serde(rename = "MR")]
MR,
#[serde(rename = "NULL")]
NULL,
#[serde(rename = "WKS")]
WKS,
#[serde(rename = "PTR")]
PTR,
#[serde(rename = "HINFO")]
HINFO,
#[serde(rename = "MINFO")]
MINFO,
#[serde(rename = "MX")]
MX,
#[serde(rename = "TXT")]
TXT,
#[serde(rename = "RP")]
RP,
#[serde(rename = "AFSDB")]
AFSDB,
#[serde(rename = "X25")]
X25,
#[serde(rename = "ISDN")]
ISDN,
#[serde(rename = "RT")]
RT,
#[serde(rename = "NSAP")]
NSAP,
#[serde(rename = "NSAP_PTR")]
NSAPPTR,
#[serde(rename = "SIG")]
SIG,
#[serde(rename = "KEY")]
KEY,
#[serde(rename = "PX")]
PX,
#[serde(rename = "GPOS")]
GPOS,
#[serde(rename = "AAAA")]
AAAA,
#[serde(rename = "LOC")]
LOC,
#[serde(rename = "NXT")]
NXT,
#[serde(rename = "EID")]
EID,
#[serde(rename = "NIMLOC")]
NIMLOC,
#[serde(rename = "SRV")]
SRV,
#[serde(rename = "ATMA")]
ATMA,
#[serde(rename = "NAPTR")]
NAPTR,
#[serde(rename = "KX")]
KX,
#[serde(rename = "CERT")]
CERT,
#[serde(rename = "A6")]
A6,
#[serde(rename = "DNAME")]
DNAME,
#[serde(rename = "SINK")]
SINK,
#[serde(rename = "OPT")]
OPT,
#[serde(rename = "APL")]
APL,
#[serde(rename = "DS")]
DS,
#[serde(rename = "SSHFP")]
SSHFP,
#[serde(rename = "IPSECKEY")]
IPSECKEY,
#[serde(rename = "RRSIG")]
RRSIG,
#[serde(rename = "NSEC")]
NSEC,
#[serde(rename = "DNSKEY")]
DNSKEY,
#[serde(rename = "DHCID")]
DHCID,
#[serde(rename = "NSEC3")]
NSEC3,
#[serde(rename = "NSEC3PARAM")]
NSEC3PARAM,
#[serde(rename = "TLSA")]
TLSA,
#[serde(rename = "SMIMEA")]
SMIMEA,
#[serde(rename = "HIP")]
HIP,
#[serde(rename = "NINFO")]
NINFO,
#[serde(rename = "RKEY")]
RKEY,
#[serde(rename = "TALINK")]
TALINK,
#[serde(rename = "CDS")]
CDS,
#[serde(rename = "CDNSKEY")]
CDNSKEY,
#[serde(rename = "OPENPGPKEY")]
OPENPGPKEY,
#[serde(rename = "CSYNC")]
CSYNC,
#[serde(rename = "ZONEMD")]
ZONEMD,
#[serde(rename = "SVCB")]
SVCB,
#[serde(rename = "HTTPS")]
HTTPS,
#[serde(rename = "SPF")]
SPF,
#[serde(rename = "UINFO")]
UINFO,
#[serde(rename = "UID")]
UID,
#[serde(rename = "GID")]
GID,
#[serde(rename = "UNSPEC")]
UNSPEC,
#[serde(rename = "NID")]
NID,
#[serde(rename = "L32")]
L32,
#[serde(rename = "L64")]
L64,
#[serde(rename = "LP")]
LP,
#[serde(rename = "EUI48")]
EUI48,
#[serde(rename = "EUI64")]
EUI64,
#[serde(rename = "TKEY")]
TKEY,
#[serde(rename = "TSIG")]
TSIG,
#[serde(rename = "IXFR")]
IXFR,
#[serde(rename = "AXFR")]
AXFR,
#[serde(rename = "MAILB")]
MAILB,
#[serde(rename = "MAILA")]
MAILA,
#[serde(rename = "ANY")]
ANY,
#[serde(rename = "URI")]
URI,
#[serde(rename = "CAA")]
CAA,
#[serde(rename = "AVC")]
AVC,
#[serde(rename = "DOA")]
DOA,
#[serde(rename = "AMTRELAY")]
AMTRELAY,
#[serde(rename = "TA")]
TA,
#[serde(rename = "DLV")]
DLV,
}