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 ¶
- type Mock
- func (m *Mock) CreateCluster(_ context.Context, cfg rdsdriver.ClusterConfig) (*rdsdriver.Cluster, error)
- func (m *Mock) CreateClusterSnapshot(_ context.Context, cfg rdsdriver.ClusterSnapshotConfig) (*rdsdriver.ClusterSnapshot, error)
- func (m *Mock) CreateInstance(_ context.Context, cfg rdsdriver.InstanceConfig) (*rdsdriver.Instance, error)
- func (m *Mock) CreateSnapshot(_ context.Context, cfg rdsdriver.SnapshotConfig) (*rdsdriver.Snapshot, error)
- func (m *Mock) DeleteCluster(_ context.Context, id string) error
- func (m *Mock) DeleteClusterSnapshot(_ context.Context, id string) error
- func (m *Mock) DeleteInstance(_ context.Context, id string) error
- func (m *Mock) DeleteSnapshot(_ context.Context, id string) error
- func (m *Mock) DescribeClusterSnapshots(_ context.Context, ids []string, clusterID string) ([]rdsdriver.ClusterSnapshot, error)
- func (m *Mock) DescribeClusters(_ context.Context, ids []string) ([]rdsdriver.Cluster, error)
- func (m *Mock) DescribeInstances(_ context.Context, ids []string) ([]rdsdriver.Instance, error)
- func (m *Mock) DescribeSnapshots(_ context.Context, ids []string, instanceID string) ([]rdsdriver.Snapshot, error)
- func (m *Mock) ModifyCluster(_ context.Context, id string, input rdsdriver.ModifyInstanceInput) (*rdsdriver.Cluster, error)
- func (m *Mock) ModifyInstance(_ context.Context, id string, input rdsdriver.ModifyInstanceInput) (*rdsdriver.Instance, error)
- func (m *Mock) RebootInstance(_ context.Context, id string) error
- func (m *Mock) RestoreClusterFromSnapshot(_ context.Context, input rdsdriver.RestoreClusterInput) (*rdsdriver.Cluster, error)
- func (m *Mock) RestoreInstanceFromSnapshot(_ context.Context, input rdsdriver.RestoreInstanceInput) (*rdsdriver.Instance, error)
- func (m *Mock) SetMonitoring(mon mondriver.Monitoring)
- func (m *Mock) StartCluster(_ context.Context, id string) error
- func (m *Mock) StartInstance(_ context.Context, id string) error
- func (m *Mock) StopCluster(_ context.Context, id string) error
- func (m *Mock) StopInstance(_ context.Context, id string) error
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 (*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 ¶
DeleteCluster removes a cluster (only if it has no members).
func (*Mock) DeleteClusterSnapshot ¶
DeleteClusterSnapshot removes a cluster snapshot.
func (*Mock) DeleteInstance ¶
DeleteInstance removes an instance.
func (*Mock) DeleteSnapshot ¶
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 ¶
DescribeClusters returns all clusters if ids is empty, else only matching ones.
func (*Mock) DescribeInstances ¶
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 ¶
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 ¶
StartCluster moves a stopped cluster to available.
func (*Mock) StartInstance ¶
StartInstance moves a stopped instance back to available.
func (*Mock) StopCluster ¶
StopCluster moves an available cluster to stopped.