ZoneConfig

Struct ZoneConfig 

Source
pub struct ZoneConfig {
    pub zone: String,
    pub zone_type: ZoneType,
    pub file: Option<String>,
    pub allow_update: Option<bool>,
    pub allow_axfr: Option<bool>,
    pub enable_dnssec: Option<bool>,
    pub keys: Vec<KeyConfig>,
    pub stores: Option<StoreConfig>,
}
Expand description

Configuration for a zone

Fields§

§zone: String

name of the zone

§zone_type: ZoneType

type of the zone

§file: Option<String>

location of the file (short for StoreConfig::FileConfig{zone_file_path})

§allow_update: Option<bool>

Deprecated allow_update, this is a Store option

§allow_axfr: Option<bool>

Allow AXFR (TODO: need auth)

§enable_dnssec: Option<bool>

Enable DnsSec TODO: should this move to StoreConfig?

§keys: Vec<KeyConfig>

Keys for use by the zone

§stores: Option<StoreConfig>

Store configurations, TODO: allow chained Stores

Implementations§

Source§

impl ZoneConfig

Source

pub fn new( zone: String, zone_type: ZoneType, file: String, allow_update: Option<bool>, allow_axfr: Option<bool>, enable_dnssec: Option<bool>, keys: Vec<KeyConfig>, ) -> Self

Return a new zone configuration

§Arguments
  • zone - name of a zone, e.g. example.com
  • zone_type - Type of zone, e.g. Primary, Secondary, etc.
  • file - relative to Config base path, to the zone file
  • allow_update - enable dynamic updates
  • allow_axfr - enable AXFR transfers
  • enable_dnssec - enable signing of the zone for DNSSEC
  • keys - list of private and public keys used to sign a zone
Source

pub fn get_zone(&self) -> ProtoResult<Name>

returns the name of the Zone, i.e. the example.com of www.example.com.

Source

pub fn get_zone_type(&self) -> ZoneType

the type of the zone

Source

pub fn get_file(&self) -> PathBuf

path to the zone file, i.e. the base set of original records in the zone

this is ony used on first load, if dynamic update is enabled for the zone, then the journal file is the actual source of truth for the zone.

Source

pub fn is_update_allowed(&self) -> bool

enable dynamic updates for the zone (see SIG0 and the registered keys)

Source

pub fn is_axfr_allowed(&self) -> bool

enable AXFR transfers

Source

pub fn is_dnssec_enabled(&self) -> bool

declare that this zone should be signed, see keys for configuration of the keys for signing

Source

pub fn get_keys(&self) -> &[KeyConfig]

Available on crate feature dnssec only.

the configuration for the keys used for auth and/or dnssec zone signing.

Trait Implementations§

Source§

impl Debug for ZoneConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ZoneConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ZoneConfig

Source§

fn eq(&self, other: &ZoneConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for ZoneConfig

Source§

impl StructuralPartialEq for ZoneConfig

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,