Trait pi_hole_api::AuthenticatedPiHoleAPI
source · [−]pub trait AuthenticatedPiHoleAPI {
Show 23 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
Get the top domains and ads and the number of queries for each. Limit the number of items with count.
fn get_top_clients(&self, count: &Option<u32>) -> Result<TopClients, APIError>
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.
fn get_top_clients_blocked(
&self,
count: Option<u32>
) -> Result<TopClientsBlocked, APIError>
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.
fn get_forward_destinations(
&self,
unsorted: bool
) -> Result<ForwardDestinations, APIError>
fn get_forward_destinations(
&self,
unsorted: bool
) -> Result<ForwardDestinations, APIError>
Get the percentage of queries forwarded to each target.
fn get_query_types(&self) -> Result<QueryTypes, APIError>
fn get_query_types(&self) -> Result<QueryTypes, APIError>
Get the number of queries per type.
Get all DNS query data. Limit the number of items with count.
Disable the Pi-Hole for seconds seconds.
fn get_cache_info(&self) -> Result<CacheInfo, APIError>
fn get_cache_info(&self) -> Result<CacheInfo, APIError>
Get statistics about the DNS cache.
fn get_client_names(&self) -> Result<Vec<ClientName>, APIError>
fn get_client_names(&self) -> Result<Vec<ClientName>, APIError>
Get hostname and IP for hosts
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
fn get_network(&self) -> Result<Network, APIError>
fn get_network(&self) -> Result<Network, APIError>
Get information about network clients.
fn get_queries_count(&self) -> Result<u64, APIError>
fn get_queries_count(&self) -> Result<u64, APIError>
Get the total number of queries received.
Add domains to a custom white/blacklist.
Acceptable lists are: white, black, white_regex, black_regex, white_wild, black_wild, audit.
fn list_remove(
&self,
domain: &str,
list: &str
) -> Result<ListModificationResponse, APIError>
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.
fn list_get_domains(
&self,
list: &str
) -> Result<Vec<CustomListDomainDetails>, APIError>
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.
fn get_custom_dns_records(&self) -> Result<Vec<CustomDNSRecord>, APIError>
fn get_custom_dns_records(&self) -> Result<Vec<CustomDNSRecord>, APIError>
Get a list of custom DNS records
fn add_custom_dns_record(
&self,
ip: &IpAddr,
domain: &str
) -> Result<ListModificationResponse, APIError>
fn add_custom_dns_record(
&self,
ip: &IpAddr,
domain: &str
) -> Result<ListModificationResponse, APIError>
Add a custom DNS record
fn delete_custom_dns_record(
&self,
ip: &IpAddr,
domain: &str
) -> Result<ListModificationResponse, APIError>
fn delete_custom_dns_record(
&self,
ip: &IpAddr,
domain: &str
) -> Result<ListModificationResponse, APIError>
Delete a custom DNS record
fn get_custom_cname_records(&self) -> Result<Vec<CustomCNAMERecord>, APIError>
fn get_custom_cname_records(&self) -> Result<Vec<CustomCNAMERecord>, APIError>
Get a list of custom CNAME records
fn add_custom_cname_record(
&self,
domain: &str,
target_domain: &str
) -> Result<ListModificationResponse, APIError>
fn add_custom_cname_record(
&self,
domain: &str,
target_domain: &str
) -> Result<ListModificationResponse, APIError>
Add a custom CNAME record
fn delete_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>
Delete a custom CNAME record
fn get_max_logage(&self) -> Result<f32, APIError>
fn get_max_logage(&self) -> Result<f32, APIError>
Get max logage