runpod_sdk/
lib.rs

1#![forbid(unsafe_code)]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![doc = include_str!("../README.md")]
4
5// Compile-time check: ensure at least one TLS backend is enabled
6#[cfg(not(any(feature = "rustls-tls", feature = "native-tls")))]
7compile_error!(
8    "At least one TLS backend must be enabled. \
9     Enable either the 'rustls-tls' (recommended) or 'native-tls' feature. \
10     Example: cargo build --features rustls-tls"
11);
12
13mod client;
14mod error;
15pub mod model;
16#[doc(hidden)]
17pub mod prelude;
18#[cfg(feature = "serverless")]
19#[cfg_attr(docsrs, doc(cfg(feature = "serverless")))]
20pub mod serverless;
21pub mod service;
22
23pub use client::{RunpodClient, RunpodConfig, builder};
24pub use error::{Error, Result};
25
26/// Tracing target for client-level operations (HTTP requests, client creation).
27#[cfg(feature = "tracing")]
28#[cfg_attr(docsrs, doc(cfg(feature = "tracing")))]
29pub const TRACING_TARGET_CLIENT: &str = "runpod_sdk::client";
30
31/// Tracing target for configuration operations (config creation, validation).
32#[cfg(feature = "tracing")]
33#[cfg_attr(docsrs, doc(cfg(feature = "tracing")))]
34pub const TRACING_TARGET_CONFIG: &str = "runpod_sdk::config";
35
36/// Tracing target for service-level operations (API calls, business logic).
37#[cfg(feature = "tracing")]
38#[cfg_attr(docsrs, doc(cfg(feature = "tracing")))]
39pub const TRACING_TARGET_SERVICE: &str = "runpod_sdk::service";