entelix_cloud/lib.rs
1//! # entelix-cloud
2//!
3//! Cloud-routed [`entelix_core::transports::Transport`] impls —
4//! `BedrockTransport` (AWS), `VertexTransport` (GCP), `FoundryTransport`
5//! (Azure) — plus the OAuth / SigV4 / AAD refresh logic shared across
6//! them. The provider IR (`entelix-core`) is unchanged across cloud
7//! routes; only credential resolution, request signing, and
8//! transport-specific framing (e.g. AWS event-stream) live here.
9//!
10//! Cargo features:
11//! - `aws` — pulls `aws-sigv4`, `aws-config`, `aws-credential-types`,
12//! enables the `bedrock` module.
13//! - `gcp` — pulls `gcp_auth`, enables the `vertex` module (Slice C).
14//! - `azure` — pulls `azure_identity`, enables the `foundry` module
15//! (Slice C).
16
17#![cfg_attr(docsrs, feature(doc_cfg))]
18#![doc(html_root_url = "https://docs.rs/entelix-cloud/0.5.3")]
19#![deny(missing_docs)]
20// Cloud transports translate between AWS / GCP / Azure SDK error
21// shapes many times; the indexing / cast lints below are exercised
22// by binary frame parsing whose offsets are bounded by upstream
23// length-prefix checks.
24#![allow(
25 clippy::indexing_slicing,
26 clippy::expect_used,
27 clippy::cast_possible_truncation,
28 clippy::cast_sign_loss,
29 clippy::cast_lossless,
30 clippy::cast_possible_wrap,
31 clippy::checked_conversions,
32 clippy::missing_errors_doc,
33 clippy::missing_panics_doc,
34 clippy::redundant_closure_for_method_calls,
35 clippy::needless_pass_by_value,
36 clippy::missing_const_for_fn,
37 clippy::needless_collect,
38 clippy::needless_lifetimes,
39 clippy::doc_markdown
40)]
41
42mod error;
43pub mod refresh;
44
45#[cfg(feature = "aws")]
46#[cfg_attr(docsrs, doc(cfg(feature = "aws")))]
47pub mod bedrock;
48
49#[cfg(feature = "gcp")]
50#[cfg_attr(docsrs, doc(cfg(feature = "gcp")))]
51pub mod vertex;
52
53#[cfg(feature = "azure")]
54#[cfg_attr(docsrs, doc(cfg(feature = "azure")))]
55pub mod foundry;
56
57pub use error::CloudError;