wami-core 0.18.0

Core primitives for wami: ARNs, contexts, errors and shared types
Documentation

wami-core

Core primitives shared across the WAMI workspace. This crate contains the fundamental building blocks that other crates depend on, such as ARN parsing, execution context, error handling, and shared types.

Features

  • ARN System – Builders, parsers, and transformers for multi-cloud WAMI ARNs (AWS, GCP, Azure, Scaleway, custom).
  • Execution ContextWamiContext and session metadata used to scope operations.
  • Error HandlingAmiError, helper utilities, and the Result alias used across the workspace.
  • Shared Types – Strongly typed structures for policies, pagination, provider metadata, and more.

Modules

  • arn – Builders, parsers, and transformers for WAMI ARNs.
  • context – Authentication/authorization context and session info.
  • error – Core error types and helper utilities.
  • types – Shared data structures (policy documents, pagination, etc.).

Usage

Add the dependency in your Cargo.toml:

[dependencies]
wami-core = { path = "../wami-core" }

Example:

use wami_core::arn::{TenantPath, WamiArn};
use wami_core::context::WamiContext;

let context = WamiContext::builder()
    .instance_id("123456789012")
    .tenant_path(TenantPath::single(0))
    .caller_arn(
        WamiArn::builder()
            .service(wami_core::arn::Service::Iam)
            .tenant(0)
            .wami_instance("123456789012")
            .resource("user", "admin")
            .build()
            .unwrap(),
    )
    .is_root(false)
    .build()
    .unwrap();

License

Licensed under MIT. See ../LICENSE for details.