AWSAuth.Credentials (AWSAuth v1.3.0)
View SourceAWS credentials struct for authentication.
This struct holds AWS credentials for signing requests. It can be created manually or loaded from environment variables.
Fields
:access_key_id
- AWS Access Key ID (required):secret_access_key
- AWS Secret Access Key (required):session_token
- AWS Session Token for temporary credentials (optional):region
- AWS region (optional, defaults to "us-east-1")
Examples
# Create credentials manually
creds = %AWSAuth.Credentials{
access_key_id: "AKIAIOSFODNN7EXAMPLE",
secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
region: "us-east-1"
}
# Load from environment variables
creds = AWSAuth.Credentials.from_env()
# Load from environment with fallback
creds = AWSAuth.Credentials.from_env() || %AWSAuth.Credentials{
access_key_id: "...",
secret_access_key: "..."
}
Environment Variables
from_env/0
reads the following environment variables:
AWS_ACCESS_KEY_ID
- Access key IDAWS_SECRET_ACCESS_KEY
- Secret access keyAWS_SESSION_TOKEN
- Session token (optional)AWS_REGION
orAWS_DEFAULT_REGION
- Region (optional)
Summary
Functions
Creates credentials from environment variables.
Creates credentials from a keyword list or map.
Types
Functions
@spec from_env() :: t() | nil
Creates credentials from environment variables.
Returns nil
if required environment variables are not set.
Examples
# With environment variables set
System.put_env("AWS_ACCESS_KEY_ID", "AKIAIOSFODNN7EXAMPLE")
System.put_env("AWS_SECRET_ACCESS_KEY", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY")
System.put_env("AWS_REGION", "us-west-2")
creds = AWSAuth.Credentials.from_env()
# => %AWSAuth.Credentials{
# access_key_id: "AKIAIOSFODNN7EXAMPLE",
# secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
# region: "us-west-2",
# session_token: nil
# }
# Without required environment variables
System.delete_env("AWS_ACCESS_KEY_ID")
AWSAuth.Credentials.from_env()
# => nil
Creates credentials from a keyword list or map.
Examples
AWSAuth.Credentials.from_map(%{
access_key_id: "AKIAIOSFODNN7EXAMPLE",
secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
region: "us-east-1"
})