Skip to main content

Crate cloud_sdk

Crate cloud_sdk 

Source
Expand description

no_std-first multi-provider cloud SDK for Rust.
Provider crates, explicit API domains, security-first release gates, and transport-free core types.


cloud-sdk Rust crate overview

§cloud-sdk

Provider-neutral foundation crate for the cloud-sdk workspace.

This crate belongs to the main cloud-sdk project. It contains shared, no_std-first domains that provider crates can use without pulling in HTTP clients, TLS, async runtimes, token storage, serde, or filesystem dependencies.

It also exposes no_std fixed-buffer writer helpers used by provider crates for deterministic request construction without allocation.

Most Hetzner users should read and depend on cloud-sdk-hetzner. That crate is the main documentation surface for Hetzner Cloud, DNS, security, and Storage Box API planning.

§Install

[dependencies]
cloud-sdk = "0.7.0"

§Example

use cloud_sdk::{ApiFamily, Method, Provider};

let provider = Provider::Hetzner;
let family = ApiFamily::Cloud;
let method = Method::Get;

assert_eq!(provider, Provider::Hetzner);
assert_eq!(family, ApiFamily::Cloud);
assert_eq!(method, Method::Get);

§Fixed Buffer Example

use cloud_sdk::buffer::write_query_u64;

let mut output = [0u8; 8];
let mut len = 0;
let mut first = true;
write_query_u64(&mut output, &mut len, &mut first, "page", 0, ())?;

let query = output
    .get(..len)
    .and_then(|bytes| core::str::from_utf8(bytes).ok());
assert_eq!(query, Some("page=0"));

§JSON String Example

use cloud_sdk::buffer::write_json_string;

let mut output = [0u8; 48];
let mut len = 0;
write_json_string(&mut output, &mut len, "line\n\"quoted\"", ())?;

let value = output
    .get(..len)
    .and_then(|bytes| core::str::from_utf8(bytes).ok());
assert_eq!(value, Some("\"line\\n\\\"quoted\\\"\""));

§Scope

  • Default features are empty.
  • The crate is no_std by default.
  • It is provider-neutral and intentionally small.
  • Provider-specific examples live in provider crates such as cloud-sdk-hetzner.

Modules§

buffer
no_std fixed-buffer writing helpers for provider crates.

Enums§

ApiFamily
Provider API family.
Method
HTTP method for a provider operation.
Provider
Cloud provider namespace.