Enum RecordType
#[non_exhaustive]pub enum RecordType {
Show 102 variants
Reserved,
A,
NS,
MD,
MF,
CNAME,
SOA,
MB,
MG,
MR,
NULL,
WKS,
PTR,
HINFO,
MINFO,
MX,
TXT,
RP,
AFSDB,
X25,
ISDN,
RT,
NSAP,
NSAP_PTR,
SIG,
KEY,
PX,
GPOS,
AAAA,
LOC,
NXT,
EID,
NIMLOC,
SRV,
ATMA,
NAPTR,
KX,
CERT,
A6,
DNAME,
SINK,
OPT,
APL,
DS,
SSHFP,
IPSECKEY,
RRSIG,
NSEC,
DNSKEY,
DHCID,
NSEC3,
NSEC3PARAM,
TLSA,
SMIMEA,
HIP,
NINFO,
RKEY,
TALINK,
CDS,
CDNSKEY,
OPENPGPKEY,
CSYNC,
ZONEMD,
SVCB,
HTTPS,
DSYNC,
HHIT,
BRID,
UNECE,
ISO,
SPF,
UINFO,
UID,
GID,
UNSPEC,
NID,
L32,
L64,
LP,
EUI48,
EUI64,
NXNAME,
TKEY,
TSIG,
IXFR,
AXFR,
MAILB,
MAILA,
ANY,
URI,
CAA,
AVC,
DOA,
AMTRELAY,
RESINFO,
WALLET,
CLA,
IPN,
TA,
DLV,
ReservedMax,
Unknown(u16),
}dns and std only.Expand description
A DNS resource-record type from the IANA DNS Parameters registry.
Assigned values are represented explicitly. Unassigned, private-use,
and future values are retained by RecordType::Unknown.
This list reflects a snapshot of the IANA Resource Record (RR) TYPEs registry taken on 2026-08-28.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Reserved
Provides the reserved type-zero marker, never for ordinary records.
A
Maps a name to an IPv4 host address.
NS
Names an authoritative server for a zone.
MD
Names an obsolete mail destination superseded by MX.
MF
Names an obsolete mail forwarder superseded by MX.
CNAME
Gives the canonical name for an alias.
SOA
Describes a zone’s authority and synchronization metadata.
MB
Names an experimental mailbox domain.
MG
Names an experimental mail-group member.
MR
Names an experimental mailbox rename target.
NULL
Carries experimental opaque data without defined semantics.
WKS
Describes well-known services available at an IPv4 address.
PTR
Points one DNS name to another.
HINFO
Describes a host’s CPU and operating system.
MINFO
Provides mailbox or mailing-list administration information.
MX
Selects mail exchange servers by preference.
TXT
Carries one or more text strings.
RP
Identifies a domain’s responsible person.
AFSDB
Locates an AFS or DCE database server.
X25
Carries an X.25 PSDN address.
ISDN
Carries an ISDN address and optional subaddress.
RT
Selects an intermediate host through which packets should route.
NSAP
Carries a deprecated OSI NSAP address.
NSAP_PTR
Provides a deprecated reverse mapping for an OSI NSAP address.
SIG
Carries a legacy DNS security signature.
KEY
Carries a legacy DNS security key.
PX
Maps between X.400 and RFC 822 mail addresses.
GPOS
Carries geographical position coordinates.
AAAA
Maps a name to an IPv6 host address.
LOC
Describes a geographical location and its precision.
NXT
Carries an obsolete DNSSEC next-domain proof.
EID
Carries a Nimrod endpoint identifier.
NIMLOC
Carries a Nimrod locator.
SRV
Selects service endpoints by priority, weight, port, and target.
ATMA
Carries an ATM network address.
NAPTR
Carries naming-authority rewrite and delegation rules.
KX
Selects a key-exchange server by preference.
CERT
Publishes certificates and certificate revocation lists.
A6
Carries an obsolete chained IPv6 address superseded by AAAA.
DNAME
Aliases an entire DNS name subtree.
SINK
Carries experimental kitchen-sink data.
OPT
Represents the EDNS pseudo-record and its options.
APL
Carries an address-prefix list.
DS
Publishes a DNSSEC delegation signer digest.
SSHFP
Publishes an SSH host-key fingerprint.
IPSECKEY
Publishes IPsec gateway and public-key information.
RRSIG
Carries a DNSSEC signature over an RRset.
NSEC
Authenticates DNSSEC denial of existence and covered record types.
DNSKEY
Publishes a DNSSEC zone public key.
DHCID
Associates a DNS name with a DHCP client identity.
NSEC3
Authenticates denial of existence using hashed owner names.
NSEC3PARAM
Publishes a zone’s NSEC3 hashing parameters.
TLSA
Publishes a TLS certificate association for DANE.
SMIMEA
Publishes an S/MIME certificate association.
HIP
Publishes Host Identity Protocol identities and rendezvous servers.
NINFO
Publishes descriptive zone-status text.
RKEY
Publishes application keys for encrypted DNS data.
TALINK
Links adjacent entries in DNSSEC trust-anchor history.
CDS
Requests that a parent publish a child-selected DS record.
CDNSKEY
Publishes a child DNSKEY for conversion into a parent DS record.
OPENPGPKEY
Publishes an OpenPGP public key.
CSYNC
Communicates child-to-parent DNS synchronization data.
ZONEMD
Publishes a digest over zone data.
SVCB
Publishes a general-purpose service binding.
HTTPS
Publishes an HTTP-specific service binding.
DSYNC
Discovers endpoints for DNS delegation synchronization.
HHIT
Publishes a Hierarchical Host Identity Tag’s verification material.
BRID
Publishes unmanned-aircraft Broadcast Remote Identification data.
UNECE
Carries a value coded by a UNECE Recommendation.
ISO
Carries a value coded by an ISO standard.
SPF
Carries obsolete Sender Policy Framework policy data.
UINFO
Retains the IANA-reserved UINFO code point.
UID
Retains the IANA-reserved UID code point.
GID
Retains the IANA-reserved GID code point.
UNSPEC
Retains the IANA-reserved UNSPEC code point.
NID
Publishes an Identifier-Locator Network Protocol node identifier.
L32
Publishes a 32-bit Identifier-Locator Network Protocol locator.
L64
Publishes a 64-bit Identifier-Locator Network Protocol locator.
LP
Selects Identifier-Locator Network Protocol locators by preference.
EUI48
Publishes an IEEE EUI-48 address.
EUI64
Publishes an IEEE EUI-64 address.
NXNAME
Signals NXDOMAIN in compact authenticated denial responses.
TKEY
Negotiates transaction authentication keys.
TSIG
Authenticates a DNS transaction message.
IXFR
Requests an incremental zone transfer.
AXFR
Requests a complete zone transfer.
MAILB
Requests mailbox-related MB, MG, or MR records.
MAILA
Requests obsolete mail-agent records superseded by MX.
ANY
Requests some or all available record types.
URI
Publishes a service URI with priority and weight.
CAA
Restricts which certification authorities may issue certificates.
AVC
Publishes Application Visibility and Control data.
DOA
Publishes Digital Object Architecture data.
AMTRELAY
Discovers an Automatic Multicast Tunneling relay.
RESINFO
Publishes resolver information as key-value pairs.
WALLET
Publishes a public wallet address.
CLA
Publishes a Bundle Protocol convergence-layer adapter.
IPN
Publishes a Bundle Protocol node number.
TA
Publishes DNSSEC trust-authority information.
DLV
Publishes obsolete DNSSEC lookaside-validation anchors.
ReservedMax
Reserves type 65535 for future standards action.
Unknown(u16)
Retains an unrecognized numeric value.
Trait Implementations§
§impl Clone for RecordType
impl Clone for RecordType
§fn clone(&self) -> RecordType
fn clone(&self) -> RecordType
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for RecordType
§impl Debug for RecordType
impl Debug for RecordType
§impl<'de> Deserialize<'de> for RecordType
impl<'de> Deserialize<'de> for RecordType
§fn deserialize<D>(
deserializer: D,
) -> Result<RecordType, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<RecordType, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
§impl Display for RecordType
impl Display for RecordType
impl Eq for RecordType
§impl From<RecordType> for u16
impl From<RecordType> for u16
§fn from(value: RecordType) -> u16
fn from(value: RecordType) -> u16
§impl From<u16> for RecordType
impl From<u16> for RecordType
§fn from(x: u16) -> RecordType
fn from(x: u16) -> RecordType
§impl Hash for RecordType
impl Hash for RecordType
§impl LowerHex for RecordType
impl LowerHex for RecordType
§impl Ord for RecordType
impl Ord for RecordType
§fn cmp(&self, other: &RecordType) -> Ordering
fn cmp(&self, other: &RecordType) -> Ordering
Compare by numeric value, then distinguish colliding variants.
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialEq for RecordType
impl PartialEq for RecordType
§impl PartialOrd for RecordType
impl PartialOrd for RecordType
§impl Serialize for RecordType
impl Serialize for RecordType
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl StructuralPartialEq for RecordType
Auto Trait Implementations§
impl Freeze for RecordType
impl RefUnwindSafe for RecordType
impl Send for RecordType
impl Sync for RecordType
impl Unpin for RecordType
impl UnsafeUnpin for RecordType
impl UnwindSafe for RecordType
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.