Documentation
¶
Overview ¶
Package aws assembles CloudEmu's AWS-compatible HTTP server.
New takes a Drivers bundle and returns a *server.Server preloaded with the handler for each non-nil driver. Consumers that want a single service can skip this package and register the handler directly on their own server.Server.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶
New returns a server that speaks the AWS SDK wire protocols for every non-nil driver in d. Handlers are registered most-specific-first so the dispatch is unambiguous:
- CloudWatch matches on Smithy-Protocol: rpc-v2-cbor header.
- DynamoDB matches on X-Amz-Target header (JSON-RPC).
- RDS matches form-encoded POSTs whose Action is one of the known RDS operations. It must register before EC2 because both speak the AWS query protocol on the same content type.
- EC2 matches on Action= (form-encoded POST or query string). The EC2 handler also serves VPC and Auto Scaling ops since real AWS uses the same query-protocol endpoint for all of them.
- Lambda matches on the /2015-03-31/functions path prefix and must register before S3 so its REST URLs aren't swallowed by the catch-all.
- S3 is the REST fallback.
keeps the caller API ergonomic (awsserver.New(Drivers{...})).
Types ¶
type Drivers ¶ added in v1.5.1
type Drivers struct {
S3 storagedriver.Bucket
DynamoDB dbdriver.Database
EC2 computedriver.Compute
VPC netdriver.Networking
CloudWatch mondriver.Monitoring
Lambda sdrv.Serverless
SQS mqdriver.MessageQueue
RDS rdbdriver.RelationalDB
Redshift rdbdriver.RelationalDB
EKS eksdriver.EKS
}
Drivers bundles the driver interfaces the AWS server can expose. Leave a field nil to omit that service; the server returns 501 Not Implemented for any request that no registered handler matches.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package cloudwatch implements AWS CloudWatch's Smithy RPC-v2-CBOR protocol as a server.Handler.
|
Package cloudwatch implements AWS CloudWatch's Smithy RPC-v2-CBOR protocol as a server.Handler. |
|
Package dynamodb implements the DynamoDB JSON-RPC protocol as a server.Handler.
|
Package dynamodb implements the DynamoDB JSON-RPC protocol as a server.Handler. |
|
Package ec2 implements the AWS EC2 query-protocol as a server.Handler.
|
Package ec2 implements the AWS EC2 query-protocol as a server.Handler. |
|
Package eks implements the AWS EKS REST/JSON control-plane API as a server.Handler.
|
Package eks implements the AWS EKS REST/JSON control-plane API as a server.Handler. |
|
Package lambda implements the AWS Lambda REST+JSON control-plane protocol as a server.Handler.
|
Package lambda implements the AWS Lambda REST+JSON control-plane protocol as a server.Handler. |
|
Package rds implements the AWS RDS query-protocol as a server.Handler.
|
Package rds implements the AWS RDS query-protocol as a server.Handler. |
|
Package redshift implements the AWS Redshift query-protocol as a server.Handler.
|
Package redshift implements the AWS Redshift query-protocol as a server.Handler. |
|
Package s3 implements the S3 REST+XML protocol as a server.Handler.
|
Package s3 implements the S3 REST+XML protocol as a server.Handler. |
|
Package sqs implements the AWS SQS JSON-RPC protocol as a server.Handler.
|
Package sqs implements the AWS SQS JSON-RPC protocol as a server.Handler. |