Skip to main content

Module ids

Module ids 

Source
Expand description

Opaque identity newtypes used throughout the application.

Using distinct types for ProfileId, BucketId, and ObjectKey prevents accidental substitution (e.g. passing a bucket name where an object key is expected) at the type level.

§Design choices

  • Backed by String rather than a parsed Uuid so that compat providers with non-UUID profile identifiers work without special-casing.
  • ProfileId::new_v4() is the default mint strategy, not a constraint.
  • From<&str> and From<String> for ergonomic construction.
  • Deref<Target=str> is intentionally NOT implemented — auto-coercion would mask type-level bugs.

Macros§

string_id_newtype 🔒

Structs§

BucketId
Identifies an S3 bucket by its canonical name.
ObjectKey
Identifies an object within a bucket by its full S3 key path.
ProfileId
Stable internal identifier for an AWS credential profile.