Documentation
¶
Overview ¶
Package relationaldb provides a portable relational-database service API (RDS, Cloud SQL, Azure SQL) layered on top of driver.RelationalDB. It threads recording, metrics, rate-limit, error-injection and latency through every call so consumers get the same cross-cutting story the other portable services have.
Index ¶
- type DB
- func (db *DB) CreateCluster(ctx context.Context, cfg driver.ClusterConfig) (*driver.Cluster, error)
- func (db *DB) CreateClusterSnapshot(ctx context.Context, cfg driver.ClusterSnapshotConfig) (*driver.ClusterSnapshot, error)
- func (db *DB) CreateInstance(ctx context.Context, cfg driver.InstanceConfig) (*driver.Instance, error)
- func (db *DB) CreateSnapshot(ctx context.Context, cfg driver.SnapshotConfig) (*driver.Snapshot, error)
- func (db *DB) DeleteCluster(ctx context.Context, id string) error
- func (db *DB) DeleteClusterSnapshot(ctx context.Context, id string) error
- func (db *DB) DeleteInstance(ctx context.Context, id string) error
- func (db *DB) DeleteSnapshot(ctx context.Context, id string) error
- func (db *DB) DescribeClusterSnapshots(ctx context.Context, ids []string, clusterID string) ([]driver.ClusterSnapshot, error)
- func (db *DB) DescribeClusters(ctx context.Context, ids []string) ([]driver.Cluster, error)
- func (db *DB) DescribeInstances(ctx context.Context, ids []string) ([]driver.Instance, error)
- func (db *DB) DescribeSnapshots(ctx context.Context, ids []string, instanceID string) ([]driver.Snapshot, error)
- func (db *DB) ModifyCluster(ctx context.Context, id string, input driver.ModifyInstanceInput) (*driver.Cluster, error)
- func (db *DB) ModifyInstance(ctx context.Context, id string, input driver.ModifyInstanceInput) (*driver.Instance, error)
- func (db *DB) RebootInstance(ctx context.Context, id string) error
- func (db *DB) RestoreClusterFromSnapshot(ctx context.Context, input driver.RestoreClusterInput) (*driver.Cluster, error)
- func (db *DB) RestoreInstanceFromSnapshot(ctx context.Context, input driver.RestoreInstanceInput) (*driver.Instance, error)
- func (db *DB) StartCluster(ctx context.Context, id string) error
- func (db *DB) StartInstance(ctx context.Context, id string) error
- func (db *DB) StopCluster(ctx context.Context, id string) error
- func (db *DB) StopInstance(ctx context.Context, id string) error
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DB ¶
type DB struct {
// contains filtered or unexported fields
}
DB is the portable handle around a relational-database driver.
func NewDB ¶
func NewDB(d driver.RelationalDB, opts ...Option) *DB
NewDB wraps d with the supplied options.
func (*DB) CreateCluster ¶
CreateCluster creates an Aurora-style cluster.
func (*DB) CreateClusterSnapshot ¶
func (db *DB) CreateClusterSnapshot( ctx context.Context, cfg driver.ClusterSnapshotConfig, ) (*driver.ClusterSnapshot, error)
CreateClusterSnapshot snapshots a cluster.
func (*DB) CreateInstance ¶
func (db *DB) CreateInstance(ctx context.Context, cfg driver.InstanceConfig) (*driver.Instance, error)
CreateInstance creates a new database instance.
func (*DB) CreateSnapshot ¶
func (db *DB) CreateSnapshot(ctx context.Context, cfg driver.SnapshotConfig) (*driver.Snapshot, error)
CreateSnapshot snapshots an instance.
func (*DB) DeleteCluster ¶
DeleteCluster removes a cluster.
func (*DB) DeleteClusterSnapshot ¶
DeleteClusterSnapshot removes a cluster snapshot.
func (*DB) DeleteInstance ¶
DeleteInstance removes an instance.
func (*DB) DeleteSnapshot ¶
DeleteSnapshot removes an instance snapshot.
func (*DB) DescribeClusterSnapshots ¶
func (db *DB) DescribeClusterSnapshots( ctx context.Context, ids []string, clusterID string, ) ([]driver.ClusterSnapshot, error)
DescribeClusterSnapshots returns cluster snapshots matching ids and/or cluster.
func (*DB) DescribeClusters ¶
DescribeClusters returns clusters matching ids (or all if empty).
func (*DB) DescribeInstances ¶
DescribeInstances returns instances matching ids (or all if empty).
func (*DB) DescribeSnapshots ¶
func (db *DB) DescribeSnapshots( ctx context.Context, ids []string, instanceID string, ) ([]driver.Snapshot, error)
DescribeSnapshots returns snapshots matching ids and/or instance.
func (*DB) ModifyCluster ¶
func (db *DB) ModifyCluster( ctx context.Context, id string, input driver.ModifyInstanceInput, ) (*driver.Cluster, error)
ModifyCluster applies changes to a cluster.
func (*DB) ModifyInstance ¶
func (db *DB) ModifyInstance( ctx context.Context, id string, input driver.ModifyInstanceInput, ) (*driver.Instance, error)
ModifyInstance applies the supplied changes to an instance.
func (*DB) RebootInstance ¶
RebootInstance cycles an instance through rebooting → available.
func (*DB) RestoreClusterFromSnapshot ¶
func (db *DB) RestoreClusterFromSnapshot( ctx context.Context, input driver.RestoreClusterInput, ) (*driver.Cluster, error)
RestoreClusterFromSnapshot creates a new cluster from a cluster snapshot.
func (*DB) RestoreInstanceFromSnapshot ¶
func (db *DB) RestoreInstanceFromSnapshot( ctx context.Context, input driver.RestoreInstanceInput, ) (*driver.Instance, error)
RestoreInstanceFromSnapshot creates a new instance from a snapshot.
func (*DB) StartCluster ¶
StartCluster moves a stopped cluster to available.
func (*DB) StartInstance ¶
StartInstance moves a stopped instance to available.
func (*DB) StopCluster ¶
StopCluster moves an available cluster to stopped.
type Option ¶
type Option func(*DB)
Option configures a DB.
func WithErrorInjection ¶
WithErrorInjection attaches an error injector.
func WithLatency ¶
WithLatency adds artificial per-call latency.
func WithMetrics ¶
WithMetrics attaches a metrics collector.
func WithRateLimiter ¶
WithRateLimiter attaches a rate limiter.
func WithRecorder ¶
WithRecorder attaches a call recorder.