Trait AuthenticatedPiHoleAPI

Source
pub trait AuthenticatedPiHoleAPI {
Show 23 methods // Required methods fn get_top_items(&self, count: &Option<u32>) -> Result<TopItems, APIError>; fn get_top_clients( &self, count: &Option<u32>, ) -> Result<TopClients, APIError>; fn get_top_clients_blocked( &self, count: Option<u32>, ) -> Result<TopClientsBlocked, APIError>; fn get_forward_destinations( &self, unsorted: bool, ) -> Result<ForwardDestinations, APIError>; fn get_query_types(&self) -> Result<QueryTypes, APIError>; fn get_all_queries(&self, count: u32) -> Result<Vec<Query>, APIError>; fn enable(&self) -> Result<Status, APIError>; fn disable(&self, seconds: u64) -> Result<Status, APIError>; fn get_cache_info(&self) -> Result<CacheInfo, APIError>; fn get_client_names(&self) -> Result<Vec<ClientName>, APIError>; fn get_over_time_data_clients( &self, ) -> Result<HashMap<String, Vec<u64>>, APIError>; fn get_network(&self) -> Result<Network, APIError>; fn get_queries_count(&self) -> Result<u64, APIError>; fn list_add( &self, domain: &str, list: &str, ) -> Result<ListModificationResponse, APIError>; fn list_remove( &self, domain: &str, list: &str, ) -> Result<ListModificationResponse, APIError>; fn list_get_domains( &self, list: &str, ) -> Result<Vec<CustomListDomainDetails>, APIError>; fn get_custom_dns_records(&self) -> Result<Vec<CustomDNSRecord>, APIError>; fn add_custom_dns_record( &self, ip: &IpAddr, domain: &str, ) -> Result<ListModificationResponse, APIError>; fn delete_custom_dns_record( &self, ip: &IpAddr, domain: &str, ) -> Result<ListModificationResponse, APIError>; fn get_custom_cname_records( &self, ) -> Result<Vec<CustomCNAMERecord>, APIError>; fn add_custom_cname_record( &self, domain: &str, target_domain: &str, ) -> Result<ListModificationResponse, APIError>; fn delete_custom_cname_record( &self, domain: &str, target_domain: &str, ) -> Result<ListModificationResponse, APIError>; fn get_max_logage(&self) -> Result<f32, APIError>;
}

Required Methods§

Source

fn get_top_items(&self, count: &Option<u32>) -> Result<TopItems, APIError>

Get the top domains and ads and the number of queries for each. Limit the number of items with count.

Source

fn get_top_clients(&self, count: &Option<u32>) -> Result<TopClients, APIError>

Get the top clients and the number of queries for each. Limit the number of items with count.

Source

fn get_top_clients_blocked( &self, count: Option<u32>, ) -> Result<TopClientsBlocked, APIError>

Get the top clients blocked and the number of queries for each. Limit the number of items with count.

Source

fn get_forward_destinations( &self, unsorted: bool, ) -> Result<ForwardDestinations, APIError>

Get the percentage of queries forwarded to each target.

Source

fn get_query_types(&self) -> Result<QueryTypes, APIError>

Get the number of queries per type.

Source

fn get_all_queries(&self, count: u32) -> Result<Vec<Query>, APIError>

Get all DNS query data. Limit the number of items with count.

Source

fn enable(&self) -> Result<Status, APIError>

Enable the Pi-Hole.

Source

fn disable(&self, seconds: u64) -> Result<Status, APIError>

Disable the Pi-Hole for seconds seconds.

Source

fn get_cache_info(&self) -> Result<CacheInfo, APIError>

Get statistics about the DNS cache.

Source

fn get_client_names(&self) -> Result<Vec<ClientName>, APIError>

Get hostname and IP for hosts

Source

fn get_over_time_data_clients( &self, ) -> Result<HashMap<String, Vec<u64>>, APIError>

Get queries by client over time. Maps timestamp to the number of queries by clients. Order of clients in the Vector is the same as for get_client_names

Source

fn get_network(&self) -> Result<Network, APIError>

Get information about network clients.

Source

fn get_queries_count(&self) -> Result<u64, APIError>

Get the total number of queries received.

Source

fn list_add( &self, domain: &str, list: &str, ) -> Result<ListModificationResponse, APIError>

Add domains to a custom white/blacklist. Acceptable lists are: white, black, white_regex, black_regex, white_wild, black_wild, audit.

Source

fn list_remove( &self, domain: &str, list: &str, ) -> Result<ListModificationResponse, APIError>

Remove domain to a custom white/blacklist. Acceptable lists are: white, black, white_regex, black_regex, white_wild, black_wild, audit.

Source

fn list_get_domains( &self, list: &str, ) -> Result<Vec<CustomListDomainDetails>, APIError>

Get a list of domains on a particular custom white/blacklist Acceptable lists are: white, black, white_regex, black_regex, white_wild, black_wild, audit.

Source

fn get_custom_dns_records(&self) -> Result<Vec<CustomDNSRecord>, APIError>

Get a list of custom DNS records

Source

fn add_custom_dns_record( &self, ip: &IpAddr, domain: &str, ) -> Result<ListModificationResponse, APIError>

Add a custom DNS record

Source

fn delete_custom_dns_record( &self, ip: &IpAddr, domain: &str, ) -> Result<ListModificationResponse, APIError>

Delete a custom DNS record

Source

fn get_custom_cname_records(&self) -> Result<Vec<CustomCNAMERecord>, APIError>

Get a list of custom CNAME records

Source

fn add_custom_cname_record( &self, domain: &str, target_domain: &str, ) -> Result<ListModificationResponse, APIError>

Add a custom CNAME record

Source

fn delete_custom_cname_record( &self, domain: &str, target_domain: &str, ) -> Result<ListModificationResponse, APIError>

Delete a custom CNAME record

Source

fn get_max_logage(&self) -> Result<f32, APIError>

Get max logage

Implementors§

Source§

impl<T> AuthenticatedPiHoleAPI for T
where T: PiHoleAPIHost + PiHoleAPIKey,