Skip to content

Services Overview

Floci emulates 68 AWS services on a single port (4566). All services use the real AWS wire protocol, your existing AWS CLI commands and SDK clients work without modification.

This page is the canonical reference for supported service and operation counts. Some services expose separate control-plane and data-plane rows below. Other docs (and the README) should link here rather than duplicating the table.

Service Matrix

Operation counts are exact. For dispatch-table services (Query and JSON 1.1) each count reflects one case per AWS action in the handler. For REST-based services (S3, Lambda, API Gateway v1) the count reflects distinct AWS SDK operations, collapsing routes where one JAX-RS handler fans out via query-string or header markers (e.g. PUT /{bucket}/{key}PutObject, PutObjectTagging, PutObjectAcl, etc.).

Service Endpoint Protocol Supported operations
SSM POST / + X-Amz-Target: AmazonSSM.* / AmazonSSMMessageDeliveryService.* JSON 1.1 22
SQS POST / with Action= param Query / JSON 20
SNS POST / with Action= param Query / JSON 17
S3 /{bucket}/{key} REST XML 58
S3 Vectors POST /{OperationName} REST JSON 12
DynamoDB POST / + X-Amz-Target: DynamoDB_20120810.* JSON 1.1 28
DynamoDB Streams POST / + X-Amz-Target: DynamoDBStreams_20120810.* JSON 1.1 4
Lambda /2015-03-31/functions/... REST JSON 30
API Gateway v1 /restapis/... REST JSON 64
API Gateway v2 /v2/apis/... REST JSON 48 + data-plane
IAM POST / with Action= param Query 76
STS POST / with Action= param Query 7
Cognito POST / + X-Amz-Target: AWSCognitoIdentityProviderService.* JSON 1.1 43
KMS POST / + X-Amz-Target: TrentService.* JSON 1.1 34
Kinesis POST / + X-Amz-Target: Kinesis_20131202.* JSON 1.1 24
Secrets Manager POST / + X-Amz-Target: secretsmanager.* JSON 1.1 16
Step Functions POST / + X-Amz-Target: AmazonStatesService.* JSON 1.1 19
CloudFormation POST / with Action= param Query 19
EventBridge POST / + X-Amz-Target: AmazonEventBridge.* JSON 1.1 16
EventBridge Scheduler /schedules/*, /schedule-groups/*, /tags/* REST JSON 12
EventBridge Pipes /v1/pipes/* REST JSON 7
CloudWatch Logs POST / + X-Amz-Target: Logs.* JSON 1.1 17
CloudWatch Metrics POST / with Action= or JSON 1.1 Query / JSON 11
ElastiCache POST / with Action= param + TCP proxy Query + RESP 8
MemoryDB POST / + X-Amz-Target: AmazonMemoryDB.* + TCP proxy JSON 1.1 + RESP 7
RDS POST / with Action= param + TCP proxy Query + wire 14
RDS Data API /Execute, /BeginTransaction, /CommitTransaction, /RollbackTransaction REST JSON 4
MSK /v1/clusters/..., /api/v2/clusters/... + Redpanda broker REST JSON + Kafka 8
Amazon MQ /v1/brokers/... + RabbitMQ broker REST JSON + AMQP 5
Athena POST / + X-Amz-Target: AmazonAthena.* JSON 1.1 4
Glue POST / + X-Amz-Target: AWSGlue.* JSON 1.1 38
Neptune POST / with Action= param + Gremlin TCP proxy Query + WebSocket 8
DocumentDB POST / with Action= param + MongoDB container Query + MongoDB wire 8
EMR POST / + X-Amz-Target: ElasticMapReduce.* JSON 1.1 24
Data Firehose POST / + X-Amz-Target: Firehose_20150804.* JSON 1.1 6
ECS POST / + X-Amz-Target: AmazonEC2ContainerServiceV20141113.* JSON 1.1 58
EC2 POST / with Action= param EC2 Query 78
ACM POST / + X-Amz-Target: CertificateManager.* JSON 1.1 12
ECR POST / + X-Amz-Target: AmazonEC2ContainerRegistry_V20150921.* (control plane) and /v2/... (data plane via registry:2) JSON 1.1 + OCI Distribution 17
Resource Groups Tagging API POST / + X-Amz-Target: ResourceGroupsTaggingAPI_20170126.* JSON 1.1 5
SES POST / with Action= param Query 16
SES v2 /v2/email/* REST JSON 10
OpenSearch /2021-01-01/opensearch/... REST JSON 24
AppConfig /applications/..., /deploymentstrategies/... REST JSON 16
AppConfigData /configurationsessions, /configuration REST JSON 2
AppSync /v1/apis/... REST JSON 33
Bedrock Runtime /model/{modelId}/converse, /model/{modelId}/invoke REST JSON 2 (stub; streaming returns 501)
EKS /clusters, /clusters/{name}, /tags/{resourceArn} REST JSON 7
ELB v2 POST / with Action= param Query 34
WAF v2 POST / + X-Amz-Target: AWSWAF_20190729.* JSON 1.1 35
Auto Scaling POST / with Action= param Query 33
Elastic Beanstalk POST / with Action= or Operation= param Query 14
CodeBuild POST / + X-Amz-Target: CodeBuild_20161006.* JSON 1.1 20
AWS Batch /v1/... REST JSON 10
CodeDeploy POST / + X-Amz-Target: CodeDeploy_20141006.* JSON 1.1 30
CodePipeline POST / + X-Amz-Target: CodePipeline_20150709.* JSON 1.1 44
AWS Backup /backup-vaults/*, /backup/plans/*, /backup-jobs/*, /supported-resource-types REST JSON 20
CloudFront /2020-05-31/distribution/*, /2020-05-31/cache-policy/*, /2020-05-31/function/* REST XML 50
Route53 /2013-04-01/hostedzone/*, /2013-04-01/healthcheck/*, /2013-04-01/change/* REST XML 17
Cloud Map POST / + X-Amz-Target: Route53AutoNaming_v20170314.* JSON 1.1 22
AWS Config POST / + X-Amz-Target: StarlingDoveService.* JSON 1.1 20
CloudTrail POST / + X-Amz-Target: com.amazonaws.cloudtrail.v20131101.CloudTrail_20131101.* JSON 1.1 8
Textract POST / + X-Amz-Target: Textract.* JSON 1.1 6
Transcribe POST / + X-Amz-Target: Transcribe.* JSON 1.1 8
Pricing POST / + X-Amz-Target: AWSPriceListService.* JSON 1.1 5
Cost Explorer POST / + X-Amz-Target: AWSInsightsIndexService.* JSON 1.1 9
Cost and Usage Reports POST / + X-Amz-Target: AWSOrigamiServiceGatewayService.* JSON 1.1 6
BCM Data Exports POST / + X-Amz-Target: AWSBillingAndCostManagementDataExports.* JSON 1.1 7
Transfer Family POST / + X-Amz-Target: TransferService.* JSON 1.1 17
IoT Core /things/..., /endpoint, rules/policies REST paths REST JSON 62
IoT Data /things/{thingName}/shadow, MQTT topics REST JSON 11

Lambda, ElastiCache, RDS, MSK, ECS, EKS, and OpenSearch spin up real Docker containers and support IAM authentication and SigV4 request signing, the same auth flow as production AWS. RDS Data API executes SQL against the local RDS containers through AWS-compatible REST JSON routes.

ECR runs a shared registry:2 container so the stock docker client can push and pull image bytes against repositories returned by the AWS-shaped control plane. EKS (real mode) starts a k3s container per cluster and exposes the Kubernetes API server on a host port. OpenSearch (real mode) starts an opensearchproject/opensearch container per domain and exposes the data-plane REST API on a host port. DocumentDB starts a real mongo container per cluster and returns its host and port as the cluster endpoint, so any MongoDB driver can connect against the MongoDB-compatible wire protocol.

Common Setup

Before calling any service, configure your AWS client to point to Floci:

export AWS_ENDPOINT_URL=http://localhost:4566
export AWS_DEFAULT_REGION=us-east-1
export AWS_ACCESS_KEY_ID=test
export AWS_SECRET_ACCESS_KEY=test

AWS_ENDPOINT_URL is the standard env var recognised by the AWS CLI v2 and AWS SDKs v2+, so no --endpoint-url flag is needed on each command.