pub struct RecordStatus {
pub conditions: Vec<Condition>,
pub observed_generation: Option<i64>,
pub zone: Option<String>,
pub zone_ref: Option<ZoneReference>,
pub record_hash: Option<String>,
pub last_updated: Option<String>,
pub addresses: Option<String>,
}Expand description
Generic record status
Fields§
§conditions: Vec<Condition>§observed_generation: Option<i64>§zone: Option<String>The FQDN of the zone that owns this record (set by DNSZone controller).
When a DNSZone’s label selector matches this record, the DNSZone controller
sets this field to the zone’s FQDN (e.g., "example.com"). The record reconciler
uses this to determine which zone to update in BIND9.
If this field is empty, the record is not matched by any zone and should not be reconciled into BIND9.
DEPRECATED: Use zone_ref instead for structured zone reference.
zone_ref: Option<ZoneReference>Structured reference to the DNSZone that owns this record.
Set by the DNSZone controller when the zone’s recordsFrom selector matches
this record’s labels. Contains the complete Kubernetes object reference including
apiVersion, kind, name, namespace, and zoneName.
The record reconciler uses this to:
- Look up the parent
DNSZoneresource - Find the zone’s primary
Bind9Instanceservers - Add this record to BIND9 on primaries
- Trigger zone transfer (retransfer) on secondaries
If this field is None, the record is not selected by any zone and will not be added to BIND9.
record_hash: Option<String>SHA-256 hash of the record’s spec data.
Used to detect when a record’s data has actually changed, avoiding unnecessary BIND9 updates and zone transfers.
The hash is calculated from all fields in the record’s spec that affect the DNS record data (name, addresses, TTL, etc.).
last_updated: Option<String>Timestamp of the last successful update to BIND9.
This is updated after a successful nsupdate operation. Uses RFC 3339 format (e.g., “2025-12-26T10:30:00Z”).
addresses: Option<String>Comma-separated list of addresses for display purposes.
For ARecord and AAAARecord resources, this field contains the IP addresses
from spec.ipv4Addresses or spec.ipv6Addresses joined with commas.
This is used for prettier kubectl output instead of showing JSON arrays.
Example: “192.0.2.1,192.0.2.2,192.0.2.3”
For other record types, this field is not used.
Trait Implementations§
Source§impl Clone for RecordStatus
impl Clone for RecordStatus
Source§fn clone(&self) -> RecordStatus
fn clone(&self) -> RecordStatus
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RecordStatus
impl Debug for RecordStatus
Source§impl Default for RecordStatus
impl Default for RecordStatus
Source§fn default() -> RecordStatus
fn default() -> RecordStatus
Source§impl<'de> Deserialize<'de> for RecordStatus
impl<'de> Deserialize<'de> for RecordStatus
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for RecordStatus
impl JsonSchema for RecordStatus
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for RecordStatus
impl RefUnwindSafe for RecordStatus
impl Send for RecordStatus
impl Sync for RecordStatus
impl Unpin for RecordStatus
impl UnwindSafe for RecordStatus
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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 tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].