Module Awskit_unix.Credentials

Credential loading from AWS environment variables and shared AWS profile files.

module Env : sig ... end
val from_env : ?getenv:Env.getenv -> unit -> (Awskit.Credentials.t, Awskit.Error.t) Stdlib.Result.t

Load AWS credentials from the standard environment variables:

  • AWS_ACCESS_KEY_ID (required)
  • AWS_SECRET_ACCESS_KEY (required)
  • AWS_SESSION_TOKEN (optional, for temporary credentials)
  • returns

    Ok credentials or a validation error.

val from_profile : ?getenv:Env.getenv -> ?home:string -> ?credentials_file:string -> ?config_file:string -> ?profile:string -> unit -> (Awskit.Credentials.t, Awskit.Error.t) Stdlib.Result.t

Load static credentials from shared AWS profile files.

Defaults:

  • profile: AWS_PROFILE, then "default"
  • credentials file: AWS_SHARED_CREDENTIALS_FILE, then $HOME/.aws/credentials
  • config file: AWS_CONFIG_FILE, then $HOME/.aws/config

Both ~/.aws/credentials sections like [dev] and ~/.aws/config sections like [profile dev] are supported. When both files contain static credentials for the selected profile, the credentials file wins. Assume-role and other non-static profile types are reported as unsupported.

val default_provider : ?getenv:Env.getenv -> ?home:string -> unit -> Awskit.Credentials.Provider.t

Default local provider chain. Static environment variables are preferred when any AWS credential environment variable is present; otherwise shared AWS profile files are used when configured or present.

val default_chain : ?getenv:Env.getenv -> ?home:string -> unit -> (Awskit.Credentials.t, Awskit.Error.t) Stdlib.Result.t

Resolve default_provider, converting provider Unavailable into a credentials error.