aws_gleam_runtime
Shared runtime package for the aws-gleam SDK. Service clients depend on this package for the behavior that is common across AWS services.
It provides:
- Credential providers and the default chain: environment, IRSA, SSO, shared
credentials, process providers,
aws configure export-credentials, ECS metadata, and EC2 IMDSv2. - Region resolution from
AWS_REGION,AWS_DEFAULT_REGION, and~/.aws/config. - SigV4 and SigV4a signing.
- Smithy endpoint rule-set evaluation.
- Standard and adaptive retry strategies.
- Buffered and streaming HTTP transport hooks.
- Protocol codecs for restXml, restJson, awsJson, awsQuery, ec2Query, rpcv2Cbor, and Smithy event-stream framing.
- Generic waiter, paginator, and streaming-body helpers.
Most applications should import a typed service client such as
aws_gleam_s3, aws_gleam_sqs, or aws_gleam_dynamodb rather than using this
package directly. The service packages expose two construction paths:
<service>.new()for automatic region and credential resolution.<service>.new_with(settings, endpoint_params)for explicit customer settings plus the service's typed endpoint-rule-set parameters.
Configuration
Shared customer settings live in aws/config.Settings. Start from
default_settings() and override only the fields you need:
import aws/config.{Settings, default_settings}
import aws/retry
import gleam/option.{Some}
let settings =
Settings(
..default_settings(),
region: Some("eu-west-1"),
max_attempts: Some(5),
retry_strategy: Some(retry.standard()),
)
Service-specific endpoint parameters do not live in Settings. They are
generated per service as <service>.EndpointParams, so a parameter is only
settable where that service's Smithy rule set declares it.
Documentation
Full docs at https://hexdocs.pm/aws_gleam_runtime.
License
Apache 2.0. See LICENSE.