pub trait DnsProvider {
// Required methods
fn get_record<T>(&self, rtype: RecordType, host: &str) -> Result<Option<T>>
where T: DeserializeOwned;
fn create_record<T>(
&self,
rtype: RecordType,
host: &str,
record: &T,
) -> Result<()>
where T: Serialize + DeserializeOwned + Display + Clone;
fn update_record<T>(
&self,
rtype: RecordType,
host: &str,
record: &T,
) -> Result<()>
where T: Serialize + DeserializeOwned + Display + Clone;
fn delete_record(&self, rtype: RecordType, host: &str) -> Result<()>;
// Provided methods
fn get_txt_record(&self, host: &str) -> Result<Option<String>> { ... }
fn create_txt_record(&self, host: &str, record: &String) -> Result<()> { ... }
fn update_txt_record(&self, host: &str, record: &String) -> Result<()> { ... }
fn delete_txt_record(&self, host: &str) -> Result<()> { ... }
fn get_a_record(&self, host: &str) -> Result<Option<Ipv4Addr>> { ... }
fn create_a_record(&self, host: &str, record: &Ipv4Addr) -> Result<()> { ... }
fn update_a_record(&self, host: &str, record: &Ipv4Addr) -> Result<()> { ... }
fn delete_a_record(&self, host: &str) -> Result<()> { ... }
}Required Methods§
fn get_record<T>(&self, rtype: RecordType, host: &str) -> Result<Option<T>>where
T: DeserializeOwned,
fn create_record<T>( &self, rtype: RecordType, host: &str, record: &T, ) -> Result<()>
fn update_record<T>( &self, rtype: RecordType, host: &str, record: &T, ) -> Result<()>
fn delete_record(&self, rtype: RecordType, host: &str) -> Result<()>
Provided Methods§
fn get_txt_record(&self, host: &str) -> Result<Option<String>>
fn create_txt_record(&self, host: &str, record: &String) -> Result<()>
fn update_txt_record(&self, host: &str, record: &String) -> Result<()>
fn delete_txt_record(&self, host: &str) -> Result<()>
fn get_a_record(&self, host: &str) -> Result<Option<Ipv4Addr>>
fn create_a_record(&self, host: &str, record: &Ipv4Addr) -> Result<()>
fn update_a_record(&self, host: &str, record: &Ipv4Addr) -> Result<()>
fn delete_a_record(&self, host: &str) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".