rds

package
v1.6.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package rds provides an in-memory mock of AWS RDS (and Aurora). It implements relationaldb/driver.RelationalDB so the same backend serves both the portable API (relationaldb.DB) and the SDK-compat HTTP layer.

The mock manages instance/cluster lifecycle, snapshot/restore, and emits CloudWatch-shaped metrics on lifecycle transitions so consumers can assert on monitoring side-effects exactly as they would in real AWS.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Mock

type Mock struct {
	// contains filtered or unexported fields
}

Mock is the in-memory AWS RDS implementation.

func New

func New(opts *config.Options) *Mock

New creates a new AWS RDS mock.

func (*Mock) CreateCluster

func (m *Mock) CreateCluster(_ context.Context, cfg rdsdriver.ClusterConfig) (*rdsdriver.Cluster, error)

CreateCluster creates an Aurora-style cluster.

func (*Mock) CreateClusterSnapshot

func (m *Mock) CreateClusterSnapshot(
	_ context.Context, cfg rdsdriver.ClusterSnapshotConfig,
) (*rdsdriver.ClusterSnapshot, error)

CreateClusterSnapshot snapshots a cluster.

func (*Mock) CreateInstance

func (m *Mock) CreateInstance(_ context.Context, cfg rdsdriver.InstanceConfig) (*rdsdriver.Instance, error)

CreateInstance creates a new database instance.

func (*Mock) CreateSnapshot

func (m *Mock) CreateSnapshot(_ context.Context, cfg rdsdriver.SnapshotConfig) (*rdsdriver.Snapshot, error)

CreateSnapshot snapshots an instance.

func (*Mock) DeleteCluster

func (m *Mock) DeleteCluster(_ context.Context, id string) error

DeleteCluster removes a cluster (only if it has no members).

func (*Mock) DeleteClusterSnapshot

func (m *Mock) DeleteClusterSnapshot(_ context.Context, id string) error

DeleteClusterSnapshot removes a cluster snapshot.

func (*Mock) DeleteInstance

func (m *Mock) DeleteInstance(_ context.Context, id string) error

DeleteInstance removes an instance.

func (*Mock) DeleteSnapshot

func (m *Mock) DeleteSnapshot(_ context.Context, id string) error

DeleteSnapshot removes an instance snapshot.

func (*Mock) DescribeClusterSnapshots

func (m *Mock) DescribeClusterSnapshots(
	_ context.Context, ids []string, clusterID string,
) ([]rdsdriver.ClusterSnapshot, error)

DescribeClusterSnapshots returns cluster snapshots filtered by ids and/or cluster.

func (*Mock) DescribeClusters

func (m *Mock) DescribeClusters(_ context.Context, ids []string) ([]rdsdriver.Cluster, error)

DescribeClusters returns all clusters if ids is empty, else only matching ones.

func (*Mock) DescribeInstances

func (m *Mock) DescribeInstances(_ context.Context, ids []string) ([]rdsdriver.Instance, error)

DescribeInstances returns all instances if ids is empty, else only matching ones.

func (*Mock) DescribeSnapshots

func (m *Mock) DescribeSnapshots(
	_ context.Context, ids []string, instanceID string,
) ([]rdsdriver.Snapshot, error)

DescribeSnapshots returns snapshots filtered by ids and/or instance.

func (*Mock) ModifyCluster

func (m *Mock) ModifyCluster(
	_ context.Context, id string, input rdsdriver.ModifyInstanceInput,
) (*rdsdriver.Cluster, error)

ModifyCluster applies changes.

func (*Mock) ModifyInstance

func (m *Mock) ModifyInstance(
	_ context.Context, id string, input rdsdriver.ModifyInstanceInput,
) (*rdsdriver.Instance, error)

ModifyInstance applies the supplied changes.

func (*Mock) RebootInstance

func (m *Mock) RebootInstance(_ context.Context, id string) error

RebootInstance cycles an instance through rebooting → available.

func (*Mock) RestoreClusterFromSnapshot

func (m *Mock) RestoreClusterFromSnapshot(
	_ context.Context, input rdsdriver.RestoreClusterInput,
) (*rdsdriver.Cluster, error)

RestoreClusterFromSnapshot creates a new cluster from a cluster snapshot.

func (*Mock) RestoreInstanceFromSnapshot

func (m *Mock) RestoreInstanceFromSnapshot(
	_ context.Context, input rdsdriver.RestoreInstanceInput,
) (*rdsdriver.Instance, error)

RestoreInstanceFromSnapshot creates a new instance from a snapshot.

func (*Mock) SetMonitoring

func (m *Mock) SetMonitoring(mon mondriver.Monitoring)

SetMonitoring wires a CloudWatch-style backend for auto-metric emission.

func (*Mock) StartCluster

func (m *Mock) StartCluster(_ context.Context, id string) error

StartCluster moves a stopped cluster to available.

func (*Mock) StartInstance

func (m *Mock) StartInstance(_ context.Context, id string) error

StartInstance moves a stopped instance back to available.

func (*Mock) StopCluster

func (m *Mock) StopCluster(_ context.Context, id string) error

StopCluster moves an available cluster to stopped.

func (*Mock) StopInstance

func (m *Mock) StopInstance(_ context.Context, id string) error

StopInstance moves an available instance to stopped.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL