Skip to main content

AMAZON DYNAMODB EXTENSIONS

Every Swamp extension that covers Amazon DynamoDB, as published in the registry. Install any of them with swamp extension pull.

Extensions

Extension Version License Contents
@swamp/aws/dynamodb 2026.10.13.1 - 1 behavior types
@webframp/dynamodb-datastore 2026.10.14.1 Apache-2.0 1 datastores
@webframp/dynamodb-datastore-bootstrap 2026.10.14.1 Apache-2.0 1 behavior types, 1 workflows

@swamp/aws/dynamodb

swamp extension pull @swamp/aws/dynamodb

Behavior type @swamp/aws/dynamodb/global-table

Global arguments, set with --global-arg on swamp behavior create:

Name Type Required Description
accessKeyId string no AWS access key ID; overrides AWS_ACCESS_KEY_ID environment variable. Wire with a vault.get(...) expression to source it from a vault.
secretAccessKey string no AWS secret access key; overrides AWS_SECRET_ACCESS_KEY environment variable. Wire with a vault.get(...) expression to source it from a vault.
sessionToken string no AWS session token for temporary credentials; overrides AWS_SESSION_TOKEN environment variable. Wire with a vault.get(...) expression to source it from a vault.
region string no AWS region; overrides AWS_REGION / AWS_DEFAULT_REGION environment variables and ~/.aws/config profile region. Defaults to us-east-1.
MultiRegionConsistency "EVENTUAL" | "STRONG" no -
SSESpecification object {SSEEnabled: boolean, SSEType?: string} no -
StreamSpecification object {StreamViewType: string} no -
WarmThroughput object {ReadUnitsPerSecond?: integer, WriteUnitsPerSecond?: integer} no -
VectorIndexes array of object {IndexName: string, VectorAttribute: object {AttributeName: string}, Projection: object {NonKeyAttributes?: array, ProjectionType?: string}, Dimensions: integer, SearchSchema?: array of object, DistanceFunction: "COSINE" | "DOT_PRODUCT" | "EUCLIDEAN"} no -
Replicas array of object {SSESpecification?: object {KMSMasterKeyId: string}, KinesisStreamSpecification?: object {ApproximateCreationDateTimePrecision?: "MICROSECOND" | "MILLISECOND", StreamArn: string}, ContributorInsightsSpecification?: object {Mode?: "ACCESSED_AND_THROTTLED_KEYS" | "THROTTLED_KEYS", Enabled: boolean}, GlobalTableSettingsReplicationMode?: "ENABLED" | "DISABLED", PointInTimeRecoverySpecification?: object {PointInTimeRecoveryEnabled?: boolean, RecoveryPeriodInDays?: integer}, ReplicaStreamSpecification?: object {ResourcePolicy?: object, Tags?: array}, GlobalSecondaryIndexes?: array of object, Region: string, ResourcePolicy?: object {PolicyDocument: object}, ReadProvisionedThroughputSettings?: object {ReadCapacityUnits?: integer, ReadCapacityAutoScalingSettings?: object}, TableClass?: string, DeletionProtectionEnabled?: boolean, Tags?: array of object, ReadOnDemandThroughputSetti yes -
WriteProvisionedThroughputSettings object {WriteCapacityAutoScalingSettings?: object {MinCapacity: integer, SeedCapacity?: integer, TargetTrackingScalingPolicyConfiguration: object {ScaleOutCooldown?: integer, TargetValue: number, DisableScaleIn?: boolean, ScaleInCooldown?: integer}, MaxCapacity: integer}} no -
GlobalTableSourceArn string no -
WriteOnDemandThroughputSettings object {MaxWriteRequestUnits?: integer} no -
GlobalTableWitnesses array of object {Region?: string} no -
TableName string no -
AttributeDefinitions array of object {AttributeType: string, AttributeName: string} no -
BillingMode string no -
GlobalSecondaryIndexes array of object {IndexName: string, Projection: object {NonKeyAttributes?: array, ProjectionType?: string}, KeySchema: array of object, WarmThroughput?: object {ReadUnitsPerSecond?: integer, WriteUnitsPerSecond?: integer}, ReadProvisionedThroughputSettings?: object {ReadCapacityUnits?: integer}, WriteProvisionedThroughputSettings?: object {WriteCapacityAutoScalingSettings?: object}, ReadOnDemandThroughputSettings?: object {MaxReadRequestUnits?: integer}, WriteOnDemandThroughputSettings?: object {MaxWriteRequestUnits?: integer}} no -
KeySchema array of object {KeyType: string, AttributeName: string} no -
LocalSecondaryIndexes array of object {IndexName: string, Projection: object {NonKeyAttributes?: array, ProjectionType?: string}, KeySchema: array of object} no -
ReadProvisionedThroughputSettings object {ReadCapacityUnits?: integer} no -
ReadOnDemandThroughputSettings object {MaxReadRequestUnits?: integer} no -
TimeToLiveSpecification object {Enabled: boolean, AttributeName?: string} no -

Methods, run with swamp behavior run:

Method Description Arguments
create Create a DynamoDB GlobalTable -
get Get a DynamoDB GlobalTable identifier
update Update a DynamoDB GlobalTable -
delete Delete a DynamoDB GlobalTable identifier
sync Sync DynamoDB GlobalTable state from AWS -
list List DynamoDB GlobalTable resources maxPages (optional), resourceModel (optional)

Data written:

Resource Description
state DynamoDB GlobalTable resource state

@webframp/dynamodb-datastore

swamp extension pull @webframp/dynamodb-datastore

Datastore type @webframp/dynamodb-datastore

Stores Swamp runtime data in AWS DynamoDB with conditional-write distributed locking and chunked blob storage.

Name Type Required Description
region string no AWS region for the DynamoDB table
tableName string no DynamoDB table name (single-table design: locks, file chunks/metadata, sync state)
endpoint string no Custom endpoint URL — for DynamoDB Local or VPC endpoints only. Leave unset for production AWS.
autoCreateTable boolean no Create the table (with GSI and TTL) on first use if missing. Requires
maxChunkBytes number no Max raw bytes per chunk item before splitting a file across multiple DynamoDB items.

@webframp/dynamodb-datastore-bootstrap

swamp extension pull @webframp/dynamodb-datastore-bootstrap

Behavior type @webframp/dynamodb-datastore-bootstrap/provisioner

Global arguments, set with --global-arg on swamp behavior create:

Name Type Required Description
region string no AWS region for the DynamoDB table
table_name string no DynamoDB table name
policy_name string no IAM managed policy name

Methods, run with swamp behavior run:

Method Description Arguments
provision Create/verify the DynamoDB table and scoped IAM managed policy for @webframp/dynamodb-datastore. -

Data written:

Resource Description
state DynamoDB table + IAM managed policy provisioned for swamp.

Workflows in @webframp/dynamodb-datastore-bootstrap

Workflow Description
@webframp/bootstrap-dynamodb-datastore Provision a DynamoDB table + least-privilege IAM managed policy for @webframp/dynamodb-datastore, then switch the current repo to use DynamoDB. After completion the repo is configured. Verify with swamp datastore status.