Persistence Coverage for AWS Services

Overview of the persistence coverage across the implemented AWS services

Persistence Coverage Overview

ServiceSupportedPersistence Test SuiteLimitations
accessanalyzer
AWS Account Management
ACM (AWS Certificate Manager)
AWS Private Certificate Authority (CA)✔️✔️
amp
Amplify✔️✔️
amplifybackend
amplifyuibuilder
API Gateway✔️✔️
API Gateway Management API
API Gateway v2✔️
AppConfig✔️
AppConfig Data
appfabric
appflow
appintegrations
Application Auto Scaling✔️✔️
application-insights
application-signals
applicationcostprofiler
appmesh
apprunner
appstream
AppSync
apptest
arc-zonal-shift
artifact
Athena
auditmanager
Auto Scaling
autoscaling-plans
b2bi
Backup✔️✔️
backup-gateway
Batch✔️
bcm-data-exports
bcm-pricing-calculator
bedrock
bedrock-agent
bedrock-agent-runtime
bedrock-data-automation
bedrock-data-automation-runtime
bedrock-runtime
billing
billingconductor
braket
budgets
CE (Cost Explorer API)
chatbot
chime
chime-sdk-identity
chime-sdk-media-pipelines
chime-sdk-meetings
chime-sdk-messaging
chime-sdk-voice
cleanrooms
cleanroomsml
cloud9
cloudcontrol
clouddirectory
CloudFormation✔️Users need to be sure that the stacks are completely deployed before saving LocalStack state. Users with complex inter-stack relationships may experience issues. Furthermore, we cannot guarantee that all the created services will be correctly restored.
CloudFront✔️✔️
cloudfront-keyvaluestore
cloudhsm
cloudhsmv2
cloudsearch
cloudsearchdomain
CloudTrail✔️✔️
cloudtrail-data
CloudWatch✔️✔️
codeartifact
codebuild
codecatalyst
CodeCommit✔️✔️
codeconnections
codedeploy
codeguru-reviewer
codeguru-security
codeguruprofiler
codepipeline
codestar-connections
codestar-notifications
Cognito Identity✔️✔️
Cognito IDP (Cognito User Pools API)✔️✔️
cognito-sync
comprehend
comprehendmedical
compute-optimizer
Config✔️✔️
connect
connect-contact-lens
connectcampaigns
connectcampaignsv2
connectcases
connectparticipant
controlcatalog
controltower
cost-optimization-hub
cur
customer-profiles
databrew
dataexchange
datapipeline
datasync
datazone
dax
deadline
detective
devicefarm
devops-guru
directconnect
discovery
dlm
DMS (Database Migration Service)
DocumentDB
docdb-elastic
drs
ds
ds-data
dsql
DynamoDB✔️✔️
DynamoDB Streams
ebs
EC2 (Elastic Compute Cloud)✔️Instances (Docker containers) are not persisted. The mock VM manager fully support persistence.
ec2-instance-connect
ECR (Elastic Container Registry)✔️✔️
ecr-public
ECS (Elastic Container Service)
EFS (Elastic File System)
EKS (Elastic Kubernetes Service)✔️✔️We cannot persist EKS resources.
eks-auth
elastic-inference
ElastiCache✔️✔️
Elastic Beanstalk
elastictranscoder
ELB (Elastic Load Balancer)
ELB v2 (Elastic Load Balancer v2)
EMR (Elastic MapReduce)
emr-containers
EMR (EMR Serverless)
entityresolution
ES (OpenSearch, legacy Elasticsearch)
EventBridge✔️Replays in progress are discarded
evidently
finspace
finspace-data
Kinesis Data Firehose
FIS (Fault Injection Simulator)
fms
forecast
forecastquery
frauddetector
freetier
fsx
gamelift
geo-maps
geo-places
geo-routes
Glacier (S3 Glacier)✔️✔️
globalaccelerator
Glue
grafana
greengrass
greengrassv2
groundstation
guardduty
health
healthlake
IAM (Identity and Access Management)✔️✔️
identitystore
imagebuilder
importexport
inspector
inspector-scan
inspector2
internetmonitor
invoicing
IoT (Internet of Things)
IoT Data
iot-jobs-data
iot1click-devices
iot1click-projects
IoT Analytics
iotdeviceadvisor
iotevents
iotevents-data
iotfleethub
iotfleetwise
iotsecuretunneling
iotsitewise
iotthingsgraph
iottwinmaker
IoT Wireless
ivs
ivs-realtime
ivschat
MSK (Managed Streaming for Apache Kafka)✔️✔️The Kafka instances are restored. However, their content is not.
kafkaconnect
kendra
kendra-ranking
keyspaces
Kinesis✔️✔️
kinesis-video-archived-media
kinesis-video-media
kinesis-video-signaling
kinesis-video-webrtc-storage
Kinesis Data Analytics API
Kinesis Data Analytics API v2
kinesisvideo
KMS (Key Management Service)✔️✔️
Lake Formation
Lambda✔️✔️Hot-reloading Lambdas need special configuration. Visit the “Share deployment configuration between different machines” section in the Hot Reloading documentation page.
launch-wizard
lex-models
lex-runtime
lexv2-models
lexv2-runtime
license-manager
license-manager-linux-subscriptions
license-manager-user-subscriptions
lightsail
location
CloudWatch Logs✔️✔️
lookoutequipment
lookoutmetrics
lookoutvision
m2
machinelearning
macie2
mailmanager
managedblockchain
managedblockchain-query
marketplace-agreement
marketplace-catalog
marketplace-deployment
marketplace-entitlement
marketplace-reporting
marketplacecommerceanalytics
mediaconnect
mediaconvert
medialive
mediapackage
mediapackage-vod
mediapackagev2
Elemental MediaStore
Elemental MediaStore Data
mediatailor
medical-imaging
MemoryDB for Redis
meteringmarketplace
mgh
mgn
migration-hub-refactor-spaces
migrationhub-config
migrationhuborchestrator
migrationhubstrategy
Amazon MQ
mturk
MWAA (Managed Workflows for Apache Airflow)
Neptune
neptune-graph
neptunedata
network-firewall
networkflowmonitor
networkmanager
networkmonitor
notifications
notificationscontacts
oam
observabilityadmin
omics
OpenSearch
opensearchserverless
opsworks
opsworkscm
Organizations
osis
outposts
panorama
partnercentral-selling
payment-cryptography
payment-cryptography-data
pca-connector-ad
pca-connector-scep
pcs
personalize
personalize-events
personalize-runtime
pi
pinpoint✔️✔️
pinpoint-email
pinpoint-sms-voice
pinpoint-sms-voice-v2
Pipes (EventBridge Pipes)✔️✔️Persistence only tested for SQS source.
polly
pricing
privatenetworks
proton
qapps
qbusiness
qconnect
QLDB (Quantum Ledger Database)
QLDB Session (Quantum Ledger Database Session)
quicksight
ram (Resource Access Manager)
rbin
RDS (Relational Database Service)✔️✔️MSSQL does not support persistence.
RDS data (Relational Database Service Data)
Redshift
Redshift Data
redshift-serverless
rekognition
repostspace
resiliencehub
resource-explorer-2
Resource Groups
Resource Groups Tagging API
robomaker
rolesanywhere
Route 53✔️✔️
route53-recovery-cluster
route53-recovery-control-config
route53-recovery-readiness
route53domains
route53profiles
Route 53 Resolver✔️
rum
S3 (Simple Storage Service)✔️✔️
S3 Control (Simple Storage Service Control)
s3outposts
s3tables
SageMaker
sagemaker-a2i-runtime
sagemaker-edge
sagemaker-featurestore-runtime
sagemaker-geospatial
sagemaker-metrics
SageMaker Runtime
savingsplans
scheduler (EventBridge Scheduler)
schemas
sdb
Secrets Manager✔️✔️
security-ir
securityhub
securitylake
Serverless Application Repository
service-quotas
servicecatalog
servicecatalog-appregistry
Service Discovery (Cloud Map)
SES (Simple Email Service)✔️✔️
SES v2 (Simple Email Service v2)
shield
signer
simspaceweaver
sms
sms-voice
snow-device-management
snowball
SNS (Simple Notification Service)✔️✔️
socialmessaging
SQS (Simple Queue Service)✔️✔️
SSM (Web Services Systems Manager)✔️✔️
ssm-contacts
ssm-incidents
ssm-quicksetup
ssm-sap
sso
sso-admin (IAM Identity Center (successor to Single Sign-On))✔️✔️
sso-oidc
Step Functions
storagegateway
STS (Security Token Service)✔️✔️
supplychain
Support API✔️✔️
support-app
SWF (Simple Workflow Service)
synthetics
taxsettings
textract✔️✔️
timestream✔️✔️
tnb
Transcribe✔️✔️
Transfer
translate
trustedadvisor
voice-id
vpc-lattice
waf
waf-regional
wafv2
wellarchitected
wisdom
workdocs
workmail
workmailmessageflow
workspaces
workspaces-thin-client
workspaces-web
X-Ray✔️

Terminology

  • Persistence Test Suite: tested by LocalStack’s internal persistence test suite. To test persistence, we use an approach similar to snapshot parity test: we first record API responses from LocalStack, we then reset and restore the snapshotted state, and finally verify that the same API responses matches with the initial ones.
Last modified July 18, 2024: setup markdownlint (#1382) (f2ebb421e)