tracedb_sdk/api/resources/tracedb/
mod.rs1use crate::api::*;
2use crate::{ApiError, ClientConfig, HttpClient};
3
4pub mod admin;
5pub use admin::AdminClient;
6pub mod catalog;
7pub use catalog::CatalogClient;
8pub mod query;
9pub use query::QueryClient;
10pub mod health;
11pub use health::HealthClient;
12pub mod records;
13pub use records::RecordsClient;
14pub mod metrics;
15pub use metrics::MetricsClient;
16pub mod readiness;
17pub use readiness::ReadinessClient;
18pub mod schema;
19pub use schema::SchemaClient;
20pub struct TracedbClient {
21 pub http_client: HttpClient,
22 pub admin: AdminClient,
23 pub catalog: CatalogClient,
24 pub query: QueryClient,
25 pub health: HealthClient,
26 pub records: RecordsClient,
27 pub metrics: MetricsClient,
28 pub readiness: ReadinessClient,
29 pub schema: SchemaClient,
30}
31
32impl TracedbClient {
33 pub fn new(config: ClientConfig) -> Result<Self, ApiError> {
34 Ok(Self {
35 http_client: HttpClient::new(config.clone())?,
36 admin: AdminClient::new(config.clone())?,
37 catalog: CatalogClient::new(config.clone())?,
38 query: QueryClient::new(config.clone())?,
39 health: HealthClient::new(config.clone())?,
40 records: RecordsClient::new(config.clone())?,
41 metrics: MetricsClient::new(config.clone())?,
42 readiness: ReadinessClient::new(config.clone())?,
43 schema: SchemaClient::new(config.clone())?,
44 })
45 }
46}