1#[cfg(not(any(
2 feature = "technitium",
3 feature = "pangolin",
4 feature = "cloudflare",
5 feature = "unifi",
6 feature = "pihole"
7)))]
8compile_error!(
9 "No DNS vendor feature is enabled. Enable at least one vendor feature, such as `technitium`, `pangolin`, `cloudflare`, `unifi`, or `pihole`."
10);
11
12pub mod cli;
13pub mod control_plane;
14pub mod core;
15pub mod mcp;
16pub mod vendors;
17
18#[cfg(feature = "technitium")]
19pub mod client {
20 pub use crate::vendors::technitium::client::*;
21}
22
23pub mod dns {
24 pub use crate::core::dns::service::*;
25 pub use crate::core::dns::validation::*;
26 pub use crate::core::dns::*;
27}
28
29pub mod error {
30 pub use crate::core::error::*;
31}
32
33pub mod secret {
34 pub use crate::core::secret::ApiToken;
35}
36
37pub mod policy {
38 pub use crate::control_plane::policy::*;
39}
40
41pub mod response {
42 pub use crate::core::dns::responses::*;
43}
44
45pub mod server {
46 pub use crate::mcp::server::*;
47}
48
49pub mod types {
50 pub use crate::core::dns::records::*;
51}