rds

package
v1.1.4 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 28 Imported by: 0

README

RDS

Parity grade: B+ · SDK aws-sdk-go-v2/service/rds@v1.116.2 · last audited 2026-07-11 (dad3e28d)

Coverage

Metric Value
Operations audited 45 (45 ok)
Feature families 23 (22 ok, 1 partial)
Known gaps 5
Deferred items 2
Resource leaks clean
Known gaps
  • DescribeDBClusters, DescribeDBSnapshots, DescribeDBClusterSnapshots, DescribeEvents still ignore Filters (DescribeDBInstances Filters support was added in a prior pass) — not fixed this pass (scope/time); follow-up under gopherstack-bgl
  • DB instance/cluster/snapshot/parameter-group identifiers are compared case-sensitively (Go map keys); real AWS treats DBInstanceIdentifier etc. as case-insensitive (e.g. creating "MyDB" then "mydb" should collide with DBInstanceAlreadyExistsFault but does not here) — not fixed: normalizing would touch every resource map across ~30K LOC and was judged too invasive for a scoped, low-risk pass; flagged for a dedicated follow-up
  • CreateDBInstance/CreateDBCluster do not validate the Engine name against a known-engine list; any string is accepted (real AWS returns InvalidParameterValue for an unsupported engine) — not fixed: many existing tests rely on the current permissive behavior with ad hoc engine strings; changing this is a larger, separately-scoped hardening task
  • CreateDBShardGroup/DeleteDBShardGroup/ModifyDBShardGroup/RebootDBShardGroup and CreateIntegration/DeleteIntegration/ModifyIntegration and CreateCustomDBEngineVersion/DeleteCustomDBEngineVersion/ModifyCustomDBEngineVersion (10 ops total) previously wrapped their response fields one XML level too deep (e.g. <CreateDBShardGroupResult><DBShardGroup><DBShardGroupIdentifier>...) when the real aws-sdk-go-v2 output for all 10 is a FLAT shape with no such wrapper (<CreateDBShardGroupResult><DBShardGroupIdentifier>...) — FIXED this pass, see Notes. A real aws-sdk-go-v2 client's query-XML deserializer only looks for named fields as direct children of the <XxxResult> element, so every field on these 10 ops (including the identifier needed to address the resource in a follow-up call) previously came back empty/zero to a real SDK client, even though the emulator's backend state was correct.
  • CreateCustomDBEngineVersion/ModifyCustomDBEngineVersion additionally serialized the description field under the wrong element name (DatabaseInstallationFilesS3BucketName instead of DBEngineVersionDescription) — FIXED this pass alongside the nesting fix, see Notes.
Deferred
  • Activity streams (StartActivityStream/StopActivityStream/ModifyActivityStream) — spot-checked only, not re-verified against the real SDK wire shape this pass (scope/time); given the wire-shape bug class found in shard-groups/integrations this pass, this family should be prioritized in the next audit
  • DB shard groups / integrations (Aurora Limitless / zero-ETL) — CRUD state logic was previously spot-checked as real (not a stub); this pass went further and verified wire shape op-by-op against the real SDK, finding and fixing the nesting bug above. Field coverage is still partial (e.g. Integration doesn't model Tags/KMSKeyId/CreateTime/Errors, DBShardGroup doesn't model DBShardGroupArn/DBShardGroupResourceId/PubliclyAccessible on the wire) — not fixed, judged lower priority than the nesting bug since partial-but-correctly-shaped field coverage is a common, accepted pattern elsewhere in this emulator (e.g. DBInstance doesn't model every AWS field either)

More

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrInstanceNotFound is returned when an RDS instance does not exist.
	ErrInstanceNotFound = awserr.New("DBInstanceNotFound", awserr.ErrNotFound)
	// ErrInstanceAlreadyExists is returned when an RDS instance already exists.
	ErrInstanceAlreadyExists = awserr.New("DBInstanceAlreadyExists", awserr.ErrAlreadyExists)
	// ErrSnapshotNotFound is returned when a snapshot does not exist.
	ErrSnapshotNotFound = awserr.New("DBSnapshotNotFound", awserr.ErrNotFound)
	// ErrSnapshotAlreadyExists is returned when a snapshot already exists.
	ErrSnapshotAlreadyExists = awserr.New("DBSnapshotAlreadyExists", awserr.ErrAlreadyExists)
	// ErrSubnetGroupNotFound is returned when a subnet group does not exist.
	ErrSubnetGroupNotFound = awserr.New("DBSubnetGroupNotFound", awserr.ErrNotFound)
	// ErrSubnetGroupAlreadyExists is returned when a subnet group already exists.
	ErrSubnetGroupAlreadyExists = awserr.New("DBSubnetGroupAlreadyExists", awserr.ErrAlreadyExists)
	// ErrInvalidParameter is returned for invalid input.
	ErrInvalidParameter = awserr.New("InvalidParameterValue", awserr.ErrInvalidParameter)
	// ErrInvalidParameterCombination is returned when a set of otherwise-valid
	// parameters cannot be used together (e.g. MonitoringInterval>0 without a
	// MonitoringRoleArn). AWS returns the InvalidParameterCombination error code.
	ErrInvalidParameterCombination = awserr.New("InvalidParameterCombination", awserr.ErrInvalidParameter)
	// ErrUnknownAction is returned for unrecognized RDS actions.
	ErrUnknownAction = awserr.New("InvalidAction", awserr.ErrInvalidParameter)
	// ErrInvalidDBInstanceState is returned when an instance operation is invalid given its current state.
	ErrInvalidDBInstanceState = awserr.New("InvalidDBInstanceState", awserr.ErrConflict)

	// ErrParameterGroupNotFound is returned when a DB parameter group does not exist.
	ErrParameterGroupNotFound = awserr.New("DBParameterGroupNotFound", awserr.ErrNotFound)
	// ErrParameterGroupAlreadyExists is returned when a DB parameter group already exists.
	ErrParameterGroupAlreadyExists = awserr.New("DBParameterGroupAlreadyExists", awserr.ErrAlreadyExists)
	// ErrOptionGroupNotFound is returned when an option group does not exist.
	ErrOptionGroupNotFound = awserr.New("OptionGroupNotFound", awserr.ErrNotFound)
	// ErrOptionGroupAlreadyExists is returned when an option group already exists.
	ErrOptionGroupAlreadyExists = awserr.New("OptionGroupAlreadyExists", awserr.ErrAlreadyExists)
	// ErrClusterNotFound is returned when a DB cluster does not exist.
	ErrClusterNotFound = awserr.New("DBClusterNotFound", awserr.ErrNotFound)
	// ErrClusterAlreadyExists is returned when a DB cluster already exists.
	ErrClusterAlreadyExists = awserr.New("DBClusterAlreadyExists", awserr.ErrAlreadyExists)
	// ErrClusterSnapshotNotFound is returned when a DB cluster snapshot does not exist.
	ErrClusterSnapshotNotFound = awserr.New("DBClusterSnapshotNotFound", awserr.ErrNotFound)
	// ErrClusterSnapshotAlreadyExists is returned when a DB cluster snapshot already exists.
	ErrClusterSnapshotAlreadyExists = awserr.New("DBClusterSnapshotAlreadyExists", awserr.ErrAlreadyExists)
	// ErrClusterEndpointNotFound is returned when a DB cluster endpoint does not exist.
	ErrClusterEndpointNotFound = awserr.New("DBClusterEndpointNotFound", awserr.ErrNotFound)
	// ErrClusterEndpointAlreadyExists is returned when a DB cluster endpoint already exists.
	ErrClusterEndpointAlreadyExists = awserr.New("DBClusterEndpointAlreadyExists", awserr.ErrAlreadyExists)
	// ErrExportTaskNotFound is returned when an export task does not exist.
	ErrExportTaskNotFound = awserr.New("ExportTaskNotFound", awserr.ErrNotFound)
	// ErrExportTaskAlreadyExists is returned when an export task already exists.
	ErrExportTaskAlreadyExists = awserr.New("ExportTaskAlreadyExists", awserr.ErrAlreadyExists)
	// ErrGlobalClusterNotFound is returned when a global cluster does not exist.
	ErrGlobalClusterNotFound = awserr.New("GlobalClusterNotFound", awserr.ErrNotFound)
	// ErrGlobalClusterAlreadyExists is returned when a global cluster already exists.
	ErrGlobalClusterAlreadyExists = awserr.New("GlobalClusterAlreadyExists", awserr.ErrAlreadyExists)
	// ErrInvalidDBClusterStateFault is returned when a cluster operation is invalid given its current state.
	ErrInvalidDBClusterStateFault = awserr.New("InvalidDBClusterStateFault", awserr.ErrConflict)
	// ErrInvalidGlobalClusterState is returned when a global cluster operation is invalid given its current state.
	ErrInvalidGlobalClusterState = awserr.New("InvalidGlobalClusterStateFault", awserr.ErrConflict)
	// ErrEventSubscriptionNotFound is returned when an event subscription does not exist.
	ErrEventSubscriptionNotFound = awserr.New("SubscriptionNotFound", awserr.ErrNotFound)
	// ErrEventSubscriptionAlreadyExists is returned when an event subscription already exists.
	ErrEventSubscriptionAlreadyExists = awserr.New("SubscriptionAlreadyExist", awserr.ErrAlreadyExists)
	// ErrDBSecurityGroupNotFound is returned when a DB security group does not exist.
	ErrDBSecurityGroupNotFound = awserr.New("DBSecurityGroupNotFound", awserr.ErrNotFound)
	// ErrDBSecurityGroupAlreadyExists is returned when a DB security group already exists.
	ErrDBSecurityGroupAlreadyExists = awserr.New("DBSecurityGroupAlreadyExists", awserr.ErrAlreadyExists)
	// ErrBlueGreenDeploymentNotFound is returned when a Blue/Green Deployment does not exist.
	ErrBlueGreenDeploymentNotFound = awserr.New("BlueGreenDeploymentNotFound", awserr.ErrNotFound)
	// ErrBlueGreenDeploymentAlreadyExists is returned when a Blue/Green Deployment already exists.
	ErrBlueGreenDeploymentAlreadyExists = awserr.New("BlueGreenDeploymentAlreadyExists", awserr.ErrAlreadyExists)
	// ErrNoServerlessV2Config is a sentinel indicating no ServerlessV2ScalingConfiguration was provided.
	ErrNoServerlessV2Config = errors.New("noServerlessV2Config")

	// ErrDBShardGroupNotFound is returned when a DB shard group does not exist.
	ErrDBShardGroupNotFound = awserr.New("DBShardGroupNotFound", awserr.ErrNotFound)
	// ErrDBShardGroupAlreadyExists is returned when a DB shard group already exists.
	ErrDBShardGroupAlreadyExists = awserr.New("DBShardGroupAlreadyExists", awserr.ErrAlreadyExists)

	// ErrIntegrationNotFound is returned when an integration does not exist.
	ErrIntegrationNotFound = awserr.New("IntegrationNotFound", awserr.ErrNotFound)
	// ErrIntegrationAlreadyExists is returned when an integration already exists.
	ErrIntegrationAlreadyExists = awserr.New("IntegrationAlreadyExists", awserr.ErrAlreadyExists)

	// ErrTenantDatabaseNotFound is returned when a tenant database does not exist.
	ErrTenantDatabaseNotFound = awserr.New("TenantDatabaseNotFound", awserr.ErrNotFound)
	// ErrTenantDatabaseAlreadyExists is returned when a tenant database already exists.
	ErrTenantDatabaseAlreadyExists = awserr.New("TenantDatabaseAlreadyExists", awserr.ErrAlreadyExists)

	// ErrDBClusterAutomatedBackupNotFound is returned when a cluster automated backup does not exist.
	ErrDBClusterAutomatedBackupNotFound = awserr.New("DBClusterAutomatedBackupNotFound", awserr.ErrNotFound)
	// ErrDBInstanceAutomatedBackupNotFound is returned when an instance automated backup does not exist.
	ErrDBInstanceAutomatedBackupNotFound = awserr.New("DBInstanceAutomatedBackupNotFound", awserr.ErrNotFound)
)
View Source
var (
	// ErrDBProxyAlreadyExists is returned when a DB proxy with the same name already exists.
	ErrDBProxyAlreadyExists             = awserr.New("DBProxyAlreadyExists", awserr.ErrAlreadyExists)
	ErrDBProxyEndpointAlreadyExists     = awserr.New("DBProxyEndpointAlreadyExists", awserr.ErrAlreadyExists)
	ErrCannotDeleteDefaultProxyEndpoint = awserr.New("InvalidDBProxyEndpointStateFault", awserr.ErrConflict)
	ErrActivityStreamAlreadyStarted     = awserr.New("InvalidDBClusterStateFault", awserr.ErrConflict)
	ErrActivityStreamNotStarted         = awserr.New("InvalidDBClusterStateFault", awserr.ErrConflict)
)
View Source
var ErrNilAppContext = errors.New("nil AppContext passed to RDS Provider.Init")

ErrNilAppContext is returned by Init when a nil AppContext is passed.

View Source
var ErrRebootFailed = errors.New("aws:rds:reboot-db-instances failed")

ErrRebootFailed is returned when one or more FIS reboot-instance actions fail.

Functions

func ValidateEngineLifecycleSupport

func ValidateEngineLifecycleSupport(val string) error

ValidateEngineLifecycleSupport returns an error if the value is not a recognized EngineLifecycleSupport option.

func ValidateStorageTypeForCluster

func ValidateStorageTypeForCluster(storageType string) error

ValidateStorageTypeForCluster returns an error if the storage type is not valid for an Aurora cluster.

Types

type AccountAttribute

type AccountAttribute struct {
	AttributeName string `json:"attributeName"`
	Used          int    `json:"used"`
	Max           int    `json:"max"`
}

AccountAttribute represents an RDS account quota attribute.

type BlueGreenDeployment

type BlueGreenDeployment struct {
	BlueGreenDeploymentIdentifier string `json:"blueGreenDeploymentIdentifier"`
	BlueGreenDeploymentName       string `json:"blueGreenDeploymentName"`
	Source                        string `json:"source"`
	Target                        string `json:"target,omitempty"`
	Status                        string `json:"status"`
}

BlueGreenDeployment represents an RDS Blue/Green Deployment.

type Certificate

type Certificate struct {
	CertificateIdentifier string `json:"certificateIdentifier"`
	CertificateType       string `json:"certificateType"`
	ValidTill             string `json:"validTill"`
	ValidFrom             string `json:"validFrom"`
	Thumbprint            string `json:"thumbprint"`
	CustomerOverride      bool   `json:"customerOverride"`
}

Certificate represents an RDS CA certificate.

type ConnectionPoolConfig

type ConnectionPoolConfig struct {
	InitQuery                 string   `json:"initQuery"`
	SessionPinningFilters     []string `json:"sessionPinningFilters"`
	ConnectionBorrowTimeout   int      `json:"connectionBorrowTimeout"`
	MaxConnectionsPercent     int      `json:"maxConnectionsPercent"`
	MaxIdleConnectionsPercent int      `json:"maxIdleConnectionsPercent"`
}

ConnectionPoolConfig holds connection pooling parameters for a proxy target group.

type CopyDBSnapshotOptions

type CopyDBSnapshotOptions struct {
	KmsKeyID     string
	SourceRegion string
	CopyTags     bool
}

CopyDBSnapshotOptions holds optional fields for CopyDBSnapshot.

type CustomDBEngineVersion

type CustomDBEngineVersion struct {
	Engine        string `json:"engine"`
	EngineVersion string `json:"engineVersion"`
	Status        string `json:"status"`
	Description   string `json:"description"`
}

CustomDBEngineVersion represents a custom engine version for RDS.

type DBCluster

type DBCluster struct {
	ClusterCreateTime               time.Time                         `json:"clusterCreateTime"`
	ServerlessV2ScalingConfig       *ServerlessV2ScalingConfiguration `json:"serverlessV2ScalingConfiguration,omitempty"`
	MonitoringRoleArn               string                            `json:"monitoringRoleArn,omitempty"`
	StorageType                     string                            `json:"storageType,omitempty"`
	Status                          string                            `json:"status"`
	MasterUsername                  string                            `json:"masterUsername"`
	DatabaseName                    string                            `json:"databaseName"`
	DBClusterParameterGroupName     string                            `json:"dbClusterParameterGroupName"`
	Engine                          string                            `json:"engine"`
	EngineVersion                   string                            `json:"engineVersion,omitempty"`
	ActivityStreamAuditPolicy       string                            `json:"activityStreamAuditPolicy"`
	DBClusterIdentifier             string                            `json:"dbClusterIdentifier"`
	ActivityStreamKinesisStreamName string                            `json:"activityStreamKinesisStreamName"`
	ActivityStreamKMSKeyID          string                            `json:"activityStreamKmsKeyId"`
	ActivityStreamMode              string                            `json:"activityStreamMode"`
	PreferredBackupWindow           string                            `json:"preferredBackupWindow,omitempty"`
	PreferredMaintenanceWindow      string                            `json:"preferredMaintenanceWindow,omitempty"`
	KmsKeyID                        string                            `json:"kmsKeyID,omitempty"`
	ActivityStreamStatus            string                            `json:"activityStreamStatus"`
	EngineLifecycleSupport          string                            `json:"engineLifecycleSupport,omitempty"`
	NetworkType                     string                            `json:"networkType,omitempty"`
	ReaderEndpoint                  string                            `json:"readerEndpoint,omitempty"`
	Endpoint                        string                            `json:"endpoint"`
	EnabledCloudwatchLogsExports    []string                          `json:"enabledCloudwatchLogsExports,omitempty"`
	ReaderAvailabilityZones         []string                          `json:"readerAvailabilityZones,omitempty"`
	AvailabilityZones               []string                          `json:"availabilityZones,omitempty"`
	DBClusterMembers                []DBClusterMember                 `json:"dbClusterMembers,omitempty"`
	BacktrackWindow                 int64                             `json:"backtrackWindow,omitempty"`
	Port                            int                               `json:"port"`
	BackupRetentionPeriod           int                               `json:"backupRetentionPeriod"`
	MonitoringInterval              int                               `json:"monitoringInterval,omitempty"`
	ServerlessCapacity              int                               `json:"serverlessCapacity"`
	MultiAZ                         bool                              `json:"multiAZ,omitempty"`
	HTTPEndpointEnabled             bool                              `json:"httpEndpointEnabled"`
	StorageEncrypted                bool                              `json:"storageEncrypted,omitempty"`
	CopyTagsToSnapshot              bool                              `json:"copyTagsToSnapshot,omitempty"`
	DeletionProtection              bool                              `json:"deletionProtection,omitempty"`
	OptimizedWrites                 bool                              `json:"optimizedWrites,omitempty"`
}

DBCluster represents an Aurora-style RDS cluster.

type DBClusterAutomatedBackup

type DBClusterAutomatedBackup struct {
	DBClusterIdentifier   string `json:"dbClusterIdentifier"`
	DBClusterResourceID   string `json:"dbClusterResourceId"`
	Engine                string `json:"engine"`
	EngineVersion         string `json:"engineVersion"`
	Region                string `json:"region"`
	Status                string `json:"status"`
	BackupRetentionPeriod int    `json:"backupRetentionPeriod"`
	StorageEncrypted      bool   `json:"storageEncrypted"`
}

DBClusterAutomatedBackup represents an automated backup record for an RDS cluster.

type DBClusterBacktrack

type DBClusterBacktrack struct {
	DBClusterIdentifier string `json:"dbClusterIdentifier"`
	BacktrackIdentifier string `json:"backtrackIdentifier"`
	BacktrackTo         string `json:"backtrackTo"`
	Status              string `json:"status"`
}

DBClusterBacktrack represents backtrack information for an Aurora cluster.

type DBClusterEndpoint

type DBClusterEndpoint struct {
	DBClusterEndpointIdentifier string `json:"dbClusterEndpointIdentifier"`
	DBClusterIdentifier         string `json:"dbClusterIdentifier"`
	EndpointType                string `json:"endpointType"`
	Status                      string `json:"status"`
	Endpoint                    string `json:"endpoint"`
}

DBClusterEndpoint represents a custom endpoint for an RDS cluster.

type DBClusterMember

type DBClusterMember struct {
	DBInstanceIdentifier        string `json:"dbInstanceIdentifier"`
	DBClusterParameterGroupName string `json:"dbClusterParameterGroupName"`
	PromotionTier               int    `json:"promotionTier"`
	IsClusterWriter             bool   `json:"isClusterWriter"`
}

DBClusterMember represents a member instance in a DB cluster.

type DBClusterOptions

type DBClusterOptions struct {
	EngineVersion                string
	KmsKeyID                     string
	PreferredBackupWindow        string
	PreferredMaintenanceWindow   string
	MonitoringRoleArn            string
	StorageType                  string
	NetworkType                  string
	EngineLifecycleSupport       string
	EnabledCloudwatchLogsExports []string
	AvailabilityZones            []string
	BacktrackWindow              int64
	BackupRetentionPeriod        int
	MonitoringInterval           int
	MultiAZ                      bool
	StorageEncrypted             bool
	StorageEncryptedChanged      bool
	CopyTagsToSnapshot           bool
	DeletionProtection           bool
	DeletionProtectionSet        bool
	OptimizedWrites              bool
}

DBClusterOptions holds optional fields for CreateDBCluster and ModifyDBCluster.

type DBClusterSnapshot

type DBClusterSnapshot struct {
	SnapshotCreateTime          time.Time `json:"snapshotCreateTime"`
	DBClusterSnapshotIdentifier string    `json:"dbClusterSnapshotIdentifier"`
	DBClusterIdentifier         string    `json:"dbClusterIdentifier"`
	Engine                      string    `json:"engine"`
	EngineVersion               string    `json:"engineVersion,omitempty"`
	Status                      string    `json:"status"`
	PercentProgress             int       `json:"percentProgress"`
	StorageEncrypted            bool      `json:"storageEncrypted,omitempty"`
}

DBClusterSnapshot represents an RDS cluster snapshot.

type DBClusterSnapshotAttributesResult

type DBClusterSnapshotAttributesResult struct {
	DBClusterSnapshotIdentifier string                `json:"dbClusterSnapshotIdentifier"`
	DBClusterSnapshotAttributes []DBSnapshotAttribute `json:"dbClusterSnapshotAttributes"`
}

DBClusterSnapshotAttributesResult holds attributes for a cluster snapshot.

type DBEngineVersion

type DBEngineVersion struct {
	Engine              string `json:"engine"`
	EngineVersion       string `json:"engineVersion"`
	DBEngineDescription string `json:"dbEngineDescription"`
}

DBEngineVersion represents an available RDS engine version.

type DBInstance

type DBInstance struct {
	InstanceCreateTime                time.Time                    `json:"instanceCreateTime"`
	EnhancedMonitoringResourceArn     string                       `json:"enhancedMonitoringResourceArn,omitempty"`
	PreferredBackupWindow             string                       `json:"preferredBackupWindow,omitempty"`
	KmsKeyID                          string                       `json:"kmsKeyID,omitempty"`
	DBClusterIdentifier               string                       `json:"dbClusterIdentifier,omitempty"`
	Engine                            string                       `json:"engine"`
	EngineVersion                     string                       `json:"engineVersion"`
	DBInstanceStatus                  string                       `json:"dbInstanceStatus"`
	MasterUsername                    string                       `json:"masterUsername"`
	DBName                            string                       `json:"dbName"`
	Endpoint                          string                       `json:"endpoint"`
	VpcID                             string                       `json:"vpcID"`
	DBSubnetGroupName                 string                       `json:"dbSubnetGroupName"`
	DBParameterGroupName              string                       `json:"dbParameterGroupName"`
	OptionGroupName                   string                       `json:"optionGroupName,omitempty"`
	ReplicaSourceDBInstanceIdentifier string                       `json:"replicaSourceDBInstanceIdentifier"`
	AvailabilityZone                  string                       `json:"availabilityZone"`
	StorageType                       string                       `json:"storageType"`
	LicenseModel                      string                       `json:"licenseModel,omitempty"`
	MonitoringRoleArn                 string                       `json:"monitoringRoleArn,omitempty"`
	DBInstanceIdentifier              string                       `json:"dbInstanceIdentifier"`
	DbiResourceID                     string                       `json:"dbiResourceID"`
	PreferredMaintenanceWindow        string                       `json:"preferredMaintenanceWindow,omitempty"`
	DBInstanceClass                   string                       `json:"dbInstanceClass"`
	EngineLifecycleSupport            string                       `json:"engineLifecycleSupport,omitempty"`
	EnabledCloudwatchLogsExports      []string                     `json:"enabledCloudwatchLogsExports,omitempty"`
	VpcSecurityGroups                 []VpcSecurityGroupMembership `json:"vpcSecurityGroups,omitempty"`
	PendingModifiedValues             *PendingModifiedValues       `json:"pendingModifiedValues,omitempty"`
	ReadReplicaIdentifiers            []string                     `json:"readReplicaIdentifiers,omitempty"`
	Port                              int                          `json:"port"`
	AllocatedStorage                  int                          `json:"allocatedStorage"`
	Iops                              int                          `json:"iops,omitempty"`
	StorageThroughput                 int                          `json:"storageThroughput,omitempty"`
	BackupRetentionPeriod             int                          `json:"backupRetentionPeriod"`
	MonitoringInterval                int                          `json:"monitoringInterval,omitempty"`
	MultiAZ                           bool                         `json:"multiAZ"`
	StorageEncrypted                  bool                         `json:"storageEncrypted"`
	IAMDatabaseAuthenticationEnabled  bool                         `json:"iamDatabaseAuthenticationEnabled"`
	DeletionProtection                bool                         `json:"deletionProtection"`
	CopyTagsToSnapshot                bool                         `json:"copyTagsToSnapshot,omitempty"`
	PubliclyAccessible                bool                         `json:"publiclyAccessible,omitempty"`
	PerformanceInsightsEnabled        bool                         `json:"performanceInsightsEnabled,omitempty"`
	StorageOptimized                  bool                         `json:"storageOptimized,omitempty"`
	OptimizedWrites                   bool                         `json:"optimizedWrites,omitempty"`
}

DBInstance represents an RDS database instance.

type DBInstanceAutomatedBackup

type DBInstanceAutomatedBackup struct {
	DBInstanceIdentifier  string `json:"dbInstanceIdentifier"`
	DbiResourceID         string `json:"dbiResourceId"`
	Engine                string `json:"engine"`
	EngineVersion         string `json:"engineVersion"`
	DBInstanceArn         string `json:"dbInstanceArn"`
	Region                string `json:"region"`
	Status                string `json:"status"`
	AllocatedStorage      int    `json:"allocatedStorage"`
	Port                  int    `json:"port"`
	BackupRetentionPeriod int    `json:"backupRetentionPeriod"`
	Encrypted             bool   `json:"encrypted"`
}

DBInstanceAutomatedBackup represents an automated backup record for an RDS instance.

type DBInstanceOptions

type DBInstanceOptions struct {
	EngineVersion                    string
	StorageType                      string
	AvailabilityZone                 string
	DBParameterGroupName             string
	OptionGroupName                  string
	SourceRegion                     string
	LicenseModel                     string
	MonitoringRoleArn                string
	PreferredMaintenanceWindow       string
	PreferredBackupWindow            string
	KmsKeyID                         string
	DBClusterIdentifier              string
	EngineLifecycleSupport           string
	VpcSecurityGroupIDs              []string
	EnabledCloudwatchLogsExports     []string
	BackupRetentionPeriod            int
	Iops                             int
	StorageThroughput                int
	MonitoringInterval               int
	MultiAZ                          bool
	MultiAZSet                       bool
	StorageEncrypted                 bool
	IAMDatabaseAuthenticationEnabled bool
	IAMDatabaseAuthSet               bool
	DeletionProtection               bool
	DeletionProtectionSet            bool
	CopyTagsToSnapshot               bool
	AllowMajorVersionUpgrade         bool
	ApplyImmediately                 bool
	PubliclyAccessible               bool
	PerformanceInsightsEnabled       bool
	StorageOptimized                 bool
	OptimizedWrites                  bool
}

DBInstanceOptions holds optional fields for CreateDBInstance and ModifyDBInstance.

type DBLogFile

type DBLogFile struct {
	LogFileName string `json:"logFileName"`
	// LastWritten is the epoch-millisecond timestamp at which the log file was
	// last written, matching the RDS DescribeDBLogFilesDetails.LastWritten field.
	LastWritten int64 `json:"lastWritten"`
	Size        int64 `json:"size"`
}

DBLogFile represents a log file for a DB instance.

type DBMajorEngineVersion

type DBMajorEngineVersion struct {
	Engine             string `json:"engine"`
	MajorEngineVersion string `json:"majorEngineVersion"`
	Status             string `json:"status"`
}

DBMajorEngineVersion represents a major engine version.

type DBParameter

type DBParameter struct {
	ParameterName  string `json:"parameterName"`
	ParameterValue string `json:"parameterValue"`
	Description    string `json:"description"`
	ApplyType      string `json:"applyType"`
	DataType       string `json:"dataType"`
	Source         string `json:"source"`
	ApplyMethod    string `json:"applyMethod"`
	IsModifiable   bool   `json:"isModifiable"`
}

DBParameter represents a single RDS parameter.

type DBParameterGroup

type DBParameterGroup struct {
	Parameters             map[string]DBParameter `json:"parameters"`
	DBParameterGroupName   string                 `json:"dbParameterGroupName"`
	DBParameterGroupFamily string                 `json:"dbParameterGroupFamily"`
	Description            string                 `json:"description"`
}

DBParameterGroup represents an RDS DB parameter group.

type DBProxy

type DBProxy struct {
	CreatedDate          time.Time            `json:"createdDate"`
	UpdatedDate          time.Time            `json:"updatedDate"`
	RoleARN              string               `json:"roleArn"`
	Status               string               `json:"status"`
	Endpoint             string               `json:"endpoint"`
	EngineFamily         string               `json:"engineFamily"`
	DBProxyARN           string               `json:"dbProxyArn"`
	DBProxyName          string               `json:"dbProxyName"`
	VpcSecurityGroupIDs  []string             `json:"vpcSecurityGroupIds"`
	Auth                 []UserAuthConfig     `json:"auth"`
	VpcSubnetIDs         []string             `json:"vpcSubnetIds"`
	ConnectionPoolConfig ConnectionPoolConfig `json:"connectionPoolConfig"`
	IdleClientTimeout    int                  `json:"idleClientTimeout"`
	DebugLogging         bool                 `json:"debugLogging"`
	RequireTLS           bool                 `json:"requireTls"`
}

DBProxy represents an RDS DB proxy.

type DBProxyEndpoint

type DBProxyEndpoint struct {
	CreatedDate         time.Time `json:"createdDate"`
	DBProxyEndpointName string    `json:"dbProxyEndpointName"`
	DBProxyEndpointARN  string    `json:"dbProxyEndpointArn"`
	DBProxyName         string    `json:"dbProxyName"`
	Status              string    `json:"status"`
	VpcID               string    `json:"vpcId"`
	Endpoint            string    `json:"endpoint"`
	TargetRole          string    `json:"targetRole"`
	VpcSecurityGroupIDs []string  `json:"vpcSecurityGroupIds"`
	VpcSubnetIDs        []string  `json:"vpcSubnetIds"`
	IsDefault           bool      `json:"isDefault"`
}

DBProxyEndpoint represents a custom endpoint for a DB proxy.

type DBProxyTarget

type DBProxyTarget struct {
	TargetARN        string `json:"targetArn"`
	Endpoint         string `json:"endpoint"`
	TrackedClusterID string `json:"trackedClusterId"`
	RdsResourceID    string `json:"rdsResourceId"`
	Type             string `json:"type"`
	Role             string `json:"role"`
	TargetHealth     string `json:"targetHealth"`
	Port             int    `json:"port"`
}

DBProxyTarget represents a single target within a DB proxy target group.

type DBProxyTargetGroup

type DBProxyTargetGroup struct {
	CreatedDate          time.Time            `json:"createdDate"`
	UpdatedDate          time.Time            `json:"updatedDate"`
	DBProxyName          string               `json:"dbProxyName"`
	TargetGroupName      string               `json:"targetGroupName"`
	TargetGroupARN       string               `json:"targetGroupArn"`
	Status               string               `json:"status"`
	ConnectionPoolConfig ConnectionPoolConfig `json:"connectionPoolConfig"`
	IsDefault            bool                 `json:"isDefault"`
}

DBProxyTargetGroup represents a group of targets for a DB proxy.

type DBRecommendation

type DBRecommendation struct {
	RecommendationID string `json:"recommendationId"`
	TypeID           string `json:"typeId"`
	Severity         string `json:"severity"`
	Status           string `json:"status"`
	Description      string `json:"description"`
	Reason           string `json:"reason"`
	ResourceARN      string `json:"resourceArn"`
	UpdatedTime      string `json:"updatedTime"`
	CreatedTime      string `json:"createdTime"`
}

DBRecommendation represents an RDS performance recommendation.

type DBSecurityGroup

type DBSecurityGroup struct {
	DBSecurityGroupName        string    `json:"dbSecurityGroupName"`
	DBSecurityGroupDescription string    `json:"dbSecurityGroupDescription"`
	IPRanges                   []IPRange `json:"ipRanges"`
}

DBSecurityGroup represents an RDS DB security group.

type DBShardGroup

type DBShardGroup struct {
	DBShardGroupIdentifier string  `json:"dbShardGroupIdentifier"`
	DBClusterIdentifier    string  `json:"dbClusterIdentifier"`
	Status                 string  `json:"status"`
	Endpoint               string  `json:"endpoint,omitempty"`
	MaxACU                 float64 `json:"maxACU,omitempty"`
	MinACU                 float64 `json:"minACU,omitempty"`
	ComputeRedundancy      int     `json:"computeRedundancy,omitempty"`
	PubliclyAccessible     bool    `json:"publiclyAccessible,omitempty"`
}

DBShardGroup represents an Aurora Limitless DB shard group.

type DBSnapshot

type DBSnapshot struct {
	SnapshotCreateTime   time.Time `json:"snapshotCreateTime"`
	DBSnapshotIdentifier string    `json:"dbSnapshotIdentifier"`
	DBInstanceIdentifier string    `json:"dbInstanceIdentifier"`
	Engine               string    `json:"engine"`
	EngineVersion        string    `json:"engineVersion"`
	Status               string    `json:"status"`
	StorageType          string    `json:"storageType"`
	OptionGroupName      string    `json:"optionGroupName"`
	KmsKeyID             string    `json:"kmsKeyID,omitempty"`
	SourceRegion         string    `json:"sourceRegion,omitempty"`
	SnapshotType         string    `json:"snapshotType,omitempty"`
	AllocatedStorage     int       `json:"allocatedStorage"`
	Port                 int       `json:"port"`
	PercentProgress      int       `json:"percentProgress"`
	StorageEncrypted     bool      `json:"storageEncrypted"`
	CopyTagsToSnapshot   bool      `json:"copyTagsToSnapshot,omitempty"`
}

DBSnapshot represents an RDS database snapshot.

type DBSnapshotAttribute

type DBSnapshotAttribute struct {
	AttributeName   string   `json:"attributeName"`
	AttributeValues []string `json:"attributeValues"`
}

DBSnapshotAttribute represents an attribute of a DB snapshot.

type DBSnapshotAttributesResult

type DBSnapshotAttributesResult struct {
	DBSnapshotIdentifier string                `json:"dbSnapshotIdentifier"`
	DBSnapshotAttributes []DBSnapshotAttribute `json:"dbSnapshotAttributes"`
}

DBSnapshotAttributesResult holds attributes for a DB snapshot.

type DBSnapshotTenantDatabase

type DBSnapshotTenantDatabase struct {
	DBSnapshotIdentifier string `json:"dbSnapshotIdentifier"`
	DBInstanceIdentifier string `json:"dbInstanceIdentifier"`
	TenantDatabaseName   string `json:"tenantDatabaseName"`
	Engine               string `json:"engine"`
	Status               string `json:"status"`
}

DBSnapshotTenantDatabase represents a tenant database within a DB snapshot.

type DBSubnetGroup

type DBSubnetGroup struct {
	DBSubnetGroupName        string   `json:"dbSubnetGroupName"`
	DBSubnetGroupDescription string   `json:"dbSubnetGroupDescription"`
	VpcID                    string   `json:"vpcID"`
	Status                   string   `json:"status"`
	SubnetIDs                []string `json:"subnetIDs"`
}

DBSubnetGroup represents an RDS DB subnet group.

type DNSRegistrar

type DNSRegistrar interface {
	Register(hostname string)
	Deregister(hostname string)
}

DNSRegistrar can register and deregister hostnames with an embedded DNS server.

type Event

type Event struct {
	CreatedAt        time.Time `json:"createdAt"`
	Message          string    `json:"message"`
	SourceIdentifier string    `json:"sourceIdentifier"`
	SourceType       string    `json:"sourceType"`
}

Event represents a published RDS lifecycle event.

type EventSubscription

type EventSubscription struct {
	SubscriptionName string   `json:"subscriptionName"`
	SnsTopicArn      string   `json:"snsTopicArn"`
	Status           string   `json:"status"`
	SourceType       string   `json:"sourceType"`
	SourceIDs        []string `json:"sourceIds"`
	EventCategories  []string `json:"eventCategories,omitempty"`
	Enabled          bool     `json:"enabled"`
}

EventSubscription represents an RDS event notification subscription.

type ExportTask

type ExportTask struct {
	ExportTaskIdentifier string `json:"exportTaskIdentifier"`
	SourceArn            string `json:"sourceArn"`
	Status               string `json:"status"`
	S3Bucket             string `json:"s3Bucket"`
}

ExportTask represents an RDS export task.

type GlobalCluster

type GlobalCluster struct {
	GlobalClusterIdentifier string                `json:"globalClusterIdentifier"`
	Engine                  string                `json:"engine"`
	EngineVersion           string                `json:"engineVersion"`
	Status                  string                `json:"status"`
	PrimaryRegion           string                `json:"primaryRegion,omitempty"`
	GlobalClusterMembers    []GlobalClusterMember `json:"globalClusterMembers,omitempty"`
	ClusterARNs             []string              `json:"clusterARNs"`
	StorageEncrypted        bool                  `json:"storageEncrypted"`
	DeletionProtection      bool                  `json:"deletionProtection"`
}

GlobalCluster represents an RDS global cluster.

type GlobalClusterMember

type GlobalClusterMember struct {
	DBClusterArn          string `json:"dbClusterArn"`
	GlobalWriteForwarding bool   `json:"globalWriteForwarding"`
	IsWriter              bool   `json:"isWriter"`
}

GlobalClusterMember represents a member cluster in a global cluster.

type Handler

type Handler struct {
	Backend *InMemoryBackend
	// contains filtered or unexported fields
}

Handler is the Echo HTTP handler for RDS operations.

func NewHandler

func NewHandler(backend *InMemoryBackend) *Handler

NewHandler creates a new RDS handler.

func (*Handler) ChaosOperations

func (h *Handler) ChaosOperations() []string

ChaosOperations returns all operations that can be fault-injected.

func (*Handler) ChaosRegions

func (h *Handler) ChaosRegions() []string

ChaosRegions returns all regions this RDS instance handles.

func (*Handler) ChaosServiceName

func (h *Handler) ChaosServiceName() string

ChaosServiceName returns the lowercase AWS service name for fault rule matching.

func (*Handler) ExecuteFISAction

func (h *Handler) ExecuteFISAction(ctx context.Context, action service.FISActionExecution) error

ExecuteFISAction executes a FIS action against resolved RDS targets.

func (*Handler) ExtractOperation

func (h *Handler) ExtractOperation(c *echo.Context) string

ExtractOperation extracts the RDS action from the request.

func (*Handler) ExtractResource

func (h *Handler) ExtractResource(c *echo.Context) string

ExtractResource returns the DB instance identifier from the request.

func (*Handler) FISActions

func (h *Handler) FISActions() []service.FISActionDefinition

FISActions returns the FIS action definitions that the RDS service supports.

func (*Handler) GetSupportedOperations

func (h *Handler) GetSupportedOperations() []string

GetSupportedOperations returns supported RDS operations.

func (*Handler) Handler

func (h *Handler) Handler() echo.HandlerFunc

Handler returns the Echo handler function.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns the routing priority.

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) Reset

func (h *Handler) Reset()

Reset clears all backend state. Useful for test isolation.

func (*Handler) Restore

func (h *Handler) Restore(ctx context.Context, data []byte) error

Restore implements persistence.Persistable by delegating to the backend.

func (*Handler) RouteMatcher

func (h *Handler) RouteMatcher() service.Matcher

RouteMatcher returns a function that matches RDS requests.

func (*Handler) Snapshot

func (h *Handler) Snapshot(ctx context.Context) []byte

Snapshot implements persistence.Persistable by delegating to the backend.

type IPRange

type IPRange struct {
	CIDRIP string `json:"cidrip"`
	Status string `json:"status"`
}

IPRange represents a CIDR IP range authorized for a DB security group.

type InMemoryBackend

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

InMemoryBackend is the in-memory store for RDS resources.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a new InMemoryBackend with a background reconciler.

func (*InMemoryBackend) AccountID

func (b *InMemoryBackend) AccountID() string

AccountID returns the AWS account ID this backend is configured for.

func (*InMemoryBackend) AddBlueGreenDeploymentInternal

func (b *InMemoryBackend) AddBlueGreenDeploymentInternal(name, source string) *BlueGreenDeployment

AddBlueGreenDeploymentInternal creates a Blue/Green Deployment directly. Used for seeding tests.

func (*InMemoryBackend) AddClusterInternal

func (b *InMemoryBackend) AddClusterInternal(id, engine string) *DBCluster

AddClusterInternal creates a DB cluster directly, bypassing normal validation. Used for seeding tests.

func (*InMemoryBackend) AddDBRecommendation

func (b *InMemoryBackend) AddDBRecommendation(rec DBRecommendation)

AddDBRecommendation adds a recommendation to the backend. Used by tests and internal workflows to seed recommendations so that ModifyDBRecommendation and DescribeDBRecommendations can exercise real state transitions.

func (*InMemoryBackend) AddDBSnapshotTenantDatabase

func (b *InMemoryBackend) AddDBSnapshotTenantDatabase(
	snapshotID, instanceID, tenantDBName, engine string,
)

AddDBSnapshotTenantDatabase records a tenant database within a snapshot. Called internally when creating snapshots from instances with tenant databases.

func (*InMemoryBackend) AddEventSubscriptionInternal

func (b *InMemoryBackend) AddEventSubscriptionInternal(name, snsTopicArn string) *EventSubscription

AddEventSubscriptionInternal creates an event subscription directly. Used for seeding tests.

func (*InMemoryBackend) AddInstanceInternal

func (b *InMemoryBackend) AddInstanceInternal(id, engine string) *DBInstance

AddInstanceInternal creates a DB instance directly, bypassing normal validation. Used for seeding tests.

func (*InMemoryBackend) AddRoleToDBCluster

func (b *InMemoryBackend) AddRoleToDBCluster(clusterID, roleARN string) error

AddRoleToDBCluster associates an IAM role with the given DB cluster.

func (*InMemoryBackend) AddRoleToDBInstance

func (b *InMemoryBackend) AddRoleToDBInstance(instanceID, roleARN string) error

AddRoleToDBInstance associates an IAM role with the given DB instance.

func (*InMemoryBackend) AddSecurityGroupInternal

func (b *InMemoryBackend) AddSecurityGroupInternal(name, description string) *DBSecurityGroup

AddSecurityGroupInternal creates a DB security group directly. Used for seeding tests.

func (*InMemoryBackend) AddSourceIdentifierToSubscription

func (b *InMemoryBackend) AddSourceIdentifierToSubscription(
	subscriptionName, sourceIdentifier string,
) (*EventSubscription, error)

AddSourceIdentifierToSubscription adds a source identifier to an event notification subscription. If the subscription does not exist it is created automatically.

func (*InMemoryBackend) AddTagsToResource

func (b *InMemoryBackend) AddTagsToResource(arn string, tags []Tag)

AddTagsToResource adds or overwrites tags on the resource identified by arn.

func (*InMemoryBackend) ApplyPendingMaintenanceAction

func (b *InMemoryBackend) ApplyPendingMaintenanceAction(
	resourceID, applyAction string,
) (string, error)

ApplyPendingMaintenanceAction applies a pending maintenance action to a resource. The resource is identified by its ARN. This implementation validates the resource exists and returns a stub response.

func (*InMemoryBackend) AuthorizeDBSecurityGroupIngress

func (b *InMemoryBackend) AuthorizeDBSecurityGroupIngress(
	groupName, cidrIP string,
) (*DBSecurityGroup, error)

AuthorizeDBSecurityGroupIngress authorizes CIDR IP access to a DB security group. If the group does not exist it is created automatically (matching AWS behaviour for legacy VPC-less accounts).

func (*InMemoryBackend) BacktrackDBCluster

func (b *InMemoryBackend) BacktrackDBCluster(
	clusterID, backtrackTo string,
) (*DBClusterBacktrack, error)

BacktrackDBCluster backtracks an Aurora DB cluster to a specific time.

func (*InMemoryBackend) CancelExportTask

func (b *InMemoryBackend) CancelExportTask(taskID string) (*ExportTask, error)

CancelExportTask cancels and removes the export task with the given identifier.

func (*InMemoryBackend) Close

func (b *InMemoryBackend) Close()

Close stops the background reconciler goroutine and waits for any in-flight delayed lifecycle transitions to finish. Close is safe to call more than once.

func (*InMemoryBackend) CopyDBClusterParameterGroup

func (b *InMemoryBackend) CopyDBClusterParameterGroup(
	sourceGroupName, targetGroupName, targetDescription string,
) (*DBParameterGroup, error)

CopyDBClusterParameterGroup creates a copy of the source cluster parameter group.

func (*InMemoryBackend) CopyDBClusterSnapshot

func (b *InMemoryBackend) CopyDBClusterSnapshot(sourceSnapshotID, targetSnapshotID string) (*DBClusterSnapshot, error)

CopyDBClusterSnapshot creates a copy of the given cluster snapshot.

func (*InMemoryBackend) CopyDBParameterGroup

func (b *InMemoryBackend) CopyDBParameterGroup(
	sourceGroupName, targetGroupName, targetDescription string,
) (*DBParameterGroup, error)

CopyDBParameterGroup creates a copy of the source parameter group.

func (*InMemoryBackend) CopyDBSnapshot

func (b *InMemoryBackend) CopyDBSnapshot(
	sourceSnapshotID, targetSnapshotID string,
	opts CopyDBSnapshotOptions,
) (*DBSnapshot, error)

CopyDBSnapshot creates a copy of the given snapshot with a new identifier.

func (*InMemoryBackend) CopyOptionGroup

func (b *InMemoryBackend) CopyOptionGroup(
	sourceGroupName, targetGroupName, targetDescription string,
) (*OptionGroup, error)

CopyOptionGroup creates a copy of the source option group.

func (*InMemoryBackend) CreateBlueGreenDeployment

func (b *InMemoryBackend) CreateBlueGreenDeployment(
	name, source string,
) (*BlueGreenDeployment, error)

CreateBlueGreenDeployment creates a new Blue/Green Deployment.

func (*InMemoryBackend) CreateCustomDBEngineVersion

func (b *InMemoryBackend) CreateCustomDBEngineVersion(
	engine, engineVersion, description string,
) (*CustomDBEngineVersion, error)

CreateCustomDBEngineVersion creates a custom DB engine version.

func (*InMemoryBackend) CreateDBCluster

func (b *InMemoryBackend) CreateDBCluster(
	id, engine, masterUser, dbName, paramGroupName string,
	port int,
	serverlessV2Cfg *ServerlessV2ScalingConfiguration,
	opts DBClusterOptions,
) (*DBCluster, error)

CreateDBCluster creates a new DB cluster.

func (*InMemoryBackend) CreateDBClusterAutomatedBackup

func (b *InMemoryBackend) CreateDBClusterAutomatedBackup(
	clusterID string,
) *DBClusterAutomatedBackup

CreateDBClusterAutomatedBackup records an automated backup for a cluster. Called internally when creating clusters with backup retention > 0.

func (*InMemoryBackend) CreateDBClusterEndpoint

func (b *InMemoryBackend) CreateDBClusterEndpoint(
	endpointID, clusterID, endpointType string,
) (*DBClusterEndpoint, error)

CreateDBClusterEndpoint creates a custom endpoint for the given cluster.

func (*InMemoryBackend) CreateDBClusterParameterGroup

func (b *InMemoryBackend) CreateDBClusterParameterGroup(name, family, description string) (*DBParameterGroup, error)

CreateDBClusterParameterGroup creates a new cluster parameter group.

func (*InMemoryBackend) CreateDBClusterSnapshot

func (b *InMemoryBackend) CreateDBClusterSnapshot(snapshotID, clusterID string) (*DBClusterSnapshot, error)

CreateDBClusterSnapshot creates a snapshot of the given cluster.

func (*InMemoryBackend) CreateDBInstance

func (b *InMemoryBackend) CreateDBInstance(
	id, engine, instanceClass, dbName, masterUser, paramGroupName string,
	allocatedStorage int,
	opts DBInstanceOptions,
) (*DBInstance, error)

func (*InMemoryBackend) CreateDBInstanceReadReplica

func (b *InMemoryBackend) CreateDBInstanceReadReplica(id, sourceID, sourceRegion string) (*DBInstance, error)

CreateDBInstanceReadReplica creates a read replica of the given source instance. sourceRegion is optional; when non-empty it indicates a cross-region replica.

func (*InMemoryBackend) CreateDBParameterGroup

func (b *InMemoryBackend) CreateDBParameterGroup(name, family, description string) (*DBParameterGroup, error)

CreateDBParameterGroup creates a new DB parameter group.

func (*InMemoryBackend) CreateDBProxy

func (b *InMemoryBackend) CreateDBProxy(name, engineFamily, roleARN string, auth []UserAuthConfig) (*DBProxy, error)

CreateDBProxy creates a new RDS DB proxy.

func (*InMemoryBackend) CreateDBProxyEndpoint

func (b *InMemoryBackend) CreateDBProxyEndpoint(
	proxyName, endpointName, targetRole string,
	vpcSubnetIDs, vpcSGIDs []string,
) (*DBProxyEndpoint, error)

CreateDBProxyEndpoint creates a custom endpoint for a DB proxy.

func (*InMemoryBackend) CreateDBSecurityGroup

func (b *InMemoryBackend) CreateDBSecurityGroup(name, description string) (*DBSecurityGroup, error)

CreateDBSecurityGroup creates a new DB security group.

func (*InMemoryBackend) CreateDBShardGroup

func (b *InMemoryBackend) CreateDBShardGroup(
	id, clusterID string,
	maxACU float64,
	minACU float64,
	computeRedundancy int,
	publiclyAccessible bool,
) (*DBShardGroup, error)

CreateDBShardGroup creates a new Aurora Limitless DB shard group.

func (*InMemoryBackend) CreateDBSnapshot

func (b *InMemoryBackend) CreateDBSnapshot(snapshotID, instanceID string) (*DBSnapshot, error)

CreateDBSnapshot creates a snapshot of the given DB instance.

func (*InMemoryBackend) CreateDBSubnetGroup

func (b *InMemoryBackend) CreateDBSubnetGroup(
	name, description, vpcID string,
	subnetIDs []string,
) (*DBSubnetGroup, error)

CreateDBSubnetGroup creates a DB subnet group.

func (*InMemoryBackend) CreateEventSubscription

func (b *InMemoryBackend) CreateEventSubscription(
	name, snsTopicARN, sourceType string,
	sourceIDs, eventCategories []string,
) (*EventSubscription, error)

CreateEventSubscription creates a new event notification subscription.

func (*InMemoryBackend) CreateGlobalCluster

func (b *InMemoryBackend) CreateGlobalCluster(
	id, engine, engineVersion string,
	storageEncrypted, deletionProtection bool,
) (*GlobalCluster, error)

CreateGlobalCluster creates a new global cluster.

func (*InMemoryBackend) CreateIntegration

func (b *InMemoryBackend) CreateIntegration(
	name, sourceARN, targetARN, kmsKeyID, dataFilter, description string,
) (*Integration, error)

CreateIntegration creates a new zero-ETL integration.

func (*InMemoryBackend) CreateOptionGroup

func (b *InMemoryBackend) CreateOptionGroup(name, engine, majorVersion, description string) (*OptionGroup, error)

CreateOptionGroup creates a new option group.

func (*InMemoryBackend) CreateTenantDatabase

func (b *InMemoryBackend) CreateTenantDatabase(
	instanceID, tenantDBName, masterUsername string,
) (*TenantDatabase, error)

CreateTenantDatabase creates a new tenant database within an RDS instance.

func (*InMemoryBackend) DeleteBlueGreenDeployment

func (b *InMemoryBackend) DeleteBlueGreenDeployment(id string) (*BlueGreenDeployment, error)

DeleteBlueGreenDeployment deletes the named blue/green deployment.

func (*InMemoryBackend) DeleteCustomDBEngineVersion

func (b *InMemoryBackend) DeleteCustomDBEngineVersion(engine, engineVersion string) (*CustomDBEngineVersion, error)

DeleteCustomDBEngineVersion deletes a custom DB engine version.

func (*InMemoryBackend) DeleteDBCluster

func (b *InMemoryBackend) DeleteDBCluster(id string) (*DBCluster, error)

DeleteDBCluster removes the given cluster. DeleteDBCluster removes the DB cluster with the given identifier, skipping the AWS final-snapshot contract (SkipFinalSnapshot=true). It exists for existing callers (e.g. CloudFormation resource cleanup) that pre-date the SkipFinalSnapshot/FinalDBSnapshotIdentifier parameters. New callers that need AWS-accurate DeleteDBCluster behavior should use DeleteDBClusterWithOptions.

func (*InMemoryBackend) DeleteDBClusterAutomatedBackup

func (b *InMemoryBackend) DeleteDBClusterAutomatedBackup(
	resourceID string,
) (*DBClusterAutomatedBackup, error)

DeleteDBClusterAutomatedBackup deletes a cluster automated backup by resource ID.

func (*InMemoryBackend) DeleteDBClusterEndpoint

func (b *InMemoryBackend) DeleteDBClusterEndpoint(endpointID string) (*DBClusterEndpoint, error)

DeleteDBClusterEndpoint removes the given custom cluster endpoint.

func (*InMemoryBackend) DeleteDBClusterParameterGroup

func (b *InMemoryBackend) DeleteDBClusterParameterGroup(name string) error

DeleteDBClusterParameterGroup deletes a cluster parameter group.

func (*InMemoryBackend) DeleteDBClusterSnapshot

func (b *InMemoryBackend) DeleteDBClusterSnapshot(snapshotID string) (*DBClusterSnapshot, error)

DeleteDBClusterSnapshot removes the given cluster snapshot.

func (*InMemoryBackend) DeleteDBClusterWithOptions

func (b *InMemoryBackend) DeleteDBClusterWithOptions(
	id string, skipFinalSnapshot bool, finalSnapshotID string,
) (*DBCluster, error)

DeleteDBClusterWithOptions removes the DB cluster with the given identifier, honoring the AWS DeleteDBCluster parameter contract:

  • SkipFinalSnapshot=false (the AWS default) requires a non-empty finalSnapshotID; a manual cluster snapshot is taken before the cluster is removed.
  • SkipFinalSnapshot=true is mutually exclusive with a non-empty finalSnapshotID (AWS: InvalidParameterCombination either way).

func (*InMemoryBackend) DeleteDBInstance

func (b *InMemoryBackend) DeleteDBInstance(id string) (*DBInstance, error)

DeleteDBInstance removes the DB instance with the given identifier, skipping the AWS final-snapshot contract (SkipFinalSnapshot=true). It exists for existing callers (e.g. CloudFormation resource cleanup) that pre-date the SkipFinalSnapshot/FinalDBSnapshotIdentifier parameters and manage their own snapshot semantics. New callers that need AWS-accurate DeleteDBInstance behavior (final snapshot, DeleteAutomatedBackups) should use DeleteDBInstanceWithOptions.

func (*InMemoryBackend) DeleteDBInstanceAutomatedBackup

func (b *InMemoryBackend) DeleteDBInstanceAutomatedBackup(
	resourceID string,
) (*DBInstanceAutomatedBackup, error)

DeleteDBInstanceAutomatedBackup marks an automated backup as deleted.

func (*InMemoryBackend) DeleteDBInstanceWithOptions

func (b *InMemoryBackend) DeleteDBInstanceWithOptions(
	id string,
	skipFinalSnapshot bool,
	finalSnapshotID string,
	deleteAutomatedBackups bool,
) (*DBInstance, error)

DeleteDBInstanceWithOptions removes the DB instance with the given identifier, honoring the AWS DeleteDBInstance parameter contract:

  • SkipFinalSnapshot=false (the AWS default) requires a non-empty finalSnapshotID; a manual snapshot of the instance is taken before it is removed.
  • SkipFinalSnapshot=true is mutually exclusive with a non-empty finalSnapshotID (AWS: InvalidParameterCombination either way).
  • deleteAutomatedBackups (AWS default true) controls whether the instance's automated backup record is removed along with the instance.

func (*InMemoryBackend) DeleteDBParameterGroup

func (b *InMemoryBackend) DeleteDBParameterGroup(name string) error

DeleteDBParameterGroup removes the given parameter group.

func (*InMemoryBackend) DeleteDBProxy

func (b *InMemoryBackend) DeleteDBProxy(name string) (*DBProxy, error)

DeleteDBProxy deletes a DB proxy.

func (*InMemoryBackend) DeleteDBProxyEndpoint

func (b *InMemoryBackend) DeleteDBProxyEndpoint(endpointName string) (*DBProxyEndpoint, error)

DeleteDBProxyEndpoint deletes a custom proxy endpoint.

func (*InMemoryBackend) DeleteDBSecurityGroup

func (b *InMemoryBackend) DeleteDBSecurityGroup(name string) error

DeleteDBSecurityGroup removes the named security group.

func (*InMemoryBackend) DeleteDBShardGroup

func (b *InMemoryBackend) DeleteDBShardGroup(id string) (*DBShardGroup, error)

DeleteDBShardGroup deletes a DB shard group.

func (*InMemoryBackend) DeleteDBSnapshot

func (b *InMemoryBackend) DeleteDBSnapshot(snapshotID string) (*DBSnapshot, error)

DeleteDBSnapshot removes the given snapshot.

func (*InMemoryBackend) DeleteDBSubnetGroup

func (b *InMemoryBackend) DeleteDBSubnetGroup(name string) error

DeleteDBSubnetGroup removes the given subnet group.

func (*InMemoryBackend) DeleteEventSubscription

func (b *InMemoryBackend) DeleteEventSubscription(name string) (*EventSubscription, error)

DeleteEventSubscription deletes the named event subscription.

func (*InMemoryBackend) DeleteGlobalCluster

func (b *InMemoryBackend) DeleteGlobalCluster(id string) (*GlobalCluster, error)

DeleteGlobalCluster removes the given global cluster.

func (*InMemoryBackend) DeleteIntegration

func (b *InMemoryBackend) DeleteIntegration(identifier string) (*Integration, error)

DeleteIntegration deletes an integration by name or ARN identifier.

func (*InMemoryBackend) DeleteOptionGroup

func (b *InMemoryBackend) DeleteOptionGroup(name string) error

DeleteOptionGroup removes the given option group.

func (*InMemoryBackend) DeleteTenantDatabase

func (b *InMemoryBackend) DeleteTenantDatabase(
	instanceID, tenantDBName string,
) (*TenantDatabase, error)

DeleteTenantDatabase deletes a tenant database.

func (*InMemoryBackend) DeregisterDBProxyTargets

func (b *InMemoryBackend) DeregisterDBProxyTargets(
	proxyName, _ string,
	dbInstanceIDs, dbClusterIDs []string,
) error

DeregisterDBProxyTargets removes targets from a DB proxy.

func (*InMemoryBackend) DescribeAccountAttributes

func (b *InMemoryBackend) DescribeAccountAttributes() []AccountAttribute

DescribeAccountAttributes returns RDS account-level quota attributes.

func (*InMemoryBackend) DescribeBlueGreenDeployments

func (b *InMemoryBackend) DescribeBlueGreenDeployments(id string) ([]BlueGreenDeployment, error)

DescribeBlueGreenDeployments returns blue/green deployments, optionally by ID.

func (*InMemoryBackend) DescribeCertificates

func (b *InMemoryBackend) DescribeCertificates(certID string) ([]Certificate, error)

DescribeCertificates returns RDS CA certificates, optionally filtered by ID. The certificate currently set as the account default (via ModifyCertificates) is reported with CustomerOverride=true.

func (*InMemoryBackend) DescribeCustomDBEngineVersions

func (b *InMemoryBackend) DescribeCustomDBEngineVersions(engine, engineVersion string) []CustomDBEngineVersion

DescribeCustomDBEngineVersions returns all custom engine versions, filtered by engine and/or engineVersion if non-empty.

func (*InMemoryBackend) DescribeDBClusterAutomatedBackups

func (b *InMemoryBackend) DescribeDBClusterAutomatedBackups(
	clusterID string,
) []DBClusterAutomatedBackup

DescribeDBClusterAutomatedBackups lists cluster automated backups, optionally filtered.

func (*InMemoryBackend) DescribeDBClusterBacktracks

func (b *InMemoryBackend) DescribeDBClusterBacktracks(clusterID string) ([]DBClusterBacktrack, error)

DescribeDBClusterBacktracks returns backtracks for a DB cluster.

func (*InMemoryBackend) DescribeDBClusterEndpoints

func (b *InMemoryBackend) DescribeDBClusterEndpoints(clusterID, endpointID string) ([]DBClusterEndpoint, error)

DescribeDBClusterEndpoints returns cluster endpoints, filtered by cluster or endpoint ID.

func (*InMemoryBackend) DescribeDBClusterParameterGroups

func (b *InMemoryBackend) DescribeDBClusterParameterGroups(name string) ([]DBParameterGroup, error)

DescribeDBClusterParameterGroups returns cluster parameter groups.

func (*InMemoryBackend) DescribeDBClusterParameters

func (b *InMemoryBackend) DescribeDBClusterParameters(groupName string) ([]DBParameter, error)

DescribeDBClusterParameters returns parameters for a cluster parameter group.

func (*InMemoryBackend) DescribeDBClusterSnapshotAttributes

func (b *InMemoryBackend) DescribeDBClusterSnapshotAttributes(
	snapshotID string,
) (*DBClusterSnapshotAttributesResult, error)

DescribeDBClusterSnapshotAttributes returns attributes for a DB cluster snapshot.

func (*InMemoryBackend) DescribeDBClusterSnapshots

func (b *InMemoryBackend) DescribeDBClusterSnapshots(snapshotID, clusterID string) ([]DBClusterSnapshot, error)

DescribeDBClusterSnapshots returns cluster snapshots. If clusterID is non-empty, only snapshots whose DBClusterIdentifier matches are returned.

func (*InMemoryBackend) DescribeDBClusters

func (b *InMemoryBackend) DescribeDBClusters(id string) ([]DBCluster, error)

DescribeDBClusters returns clusters. If id is non-empty, returns only that cluster.

func (*InMemoryBackend) DescribeDBEngineVersions

func (b *InMemoryBackend) DescribeDBEngineVersions(engine, engineVersion string) []DBEngineVersion

DescribeDBEngineVersions returns available engine versions, filtered by engine and/or version.

func (*InMemoryBackend) DescribeDBInstanceAutomatedBackups

func (b *InMemoryBackend) DescribeDBInstanceAutomatedBackups(instanceID string) []DBInstanceAutomatedBackup

DescribeDBInstanceAutomatedBackups returns automated backup records for instances. If instanceID is non-empty, filters to that instance.

func (*InMemoryBackend) DescribeDBInstances

func (b *InMemoryBackend) DescribeDBInstances(id string) ([]DBInstance, error)

DescribeDBInstances returns instances. If id is non-empty, returns only that instance.

func (*InMemoryBackend) DescribeDBLogFiles

func (b *InMemoryBackend) DescribeDBLogFiles(instanceID string, filter LogFileFilter) ([]DBLogFile, error)

DescribeDBLogFiles returns the log files for the given instance, filtered by the supplied LogFileFilter. The instance is seeded with a small set of realistic log files on first access.

func (*InMemoryBackend) DescribeDBMajorEngineVersions

func (b *InMemoryBackend) DescribeDBMajorEngineVersions(engine string) []DBMajorEngineVersion

DescribeDBMajorEngineVersions returns available major engine versions.

func (*InMemoryBackend) DescribeDBParameterGroups

func (b *InMemoryBackend) DescribeDBParameterGroups(name string) ([]DBParameterGroup, error)

DescribeDBParameterGroups returns parameter groups. If name is non-empty, returns only that group.

func (*InMemoryBackend) DescribeDBParameters

func (b *InMemoryBackend) DescribeDBParameters(groupName string) ([]DBParameter, error)

DescribeDBParameters returns parameters for a parameter group.

func (*InMemoryBackend) DescribeDBProxies

func (b *InMemoryBackend) DescribeDBProxies(name string) ([]DBProxy, error)

DescribeDBProxies returns DB proxies, optionally filtered by name.

func (*InMemoryBackend) DescribeDBProxyEndpoints

func (b *InMemoryBackend) DescribeDBProxyEndpoints(proxyName, endpointName string) ([]DBProxyEndpoint, error)

DescribeDBProxyEndpoints returns proxy endpoints, optionally filtered.

func (*InMemoryBackend) DescribeDBProxyTargetGroups

func (b *InMemoryBackend) DescribeDBProxyTargetGroups(proxyName, targetGroupName string) ([]DBProxyTargetGroup, error)

DescribeDBProxyTargetGroups returns target groups for a DB proxy.

func (*InMemoryBackend) DescribeDBProxyTargets

func (b *InMemoryBackend) DescribeDBProxyTargets(proxyName, _ string) ([]DBProxyTarget, error)

DescribeDBProxyTargets returns the targets for a DB proxy.

func (*InMemoryBackend) DescribeDBRecommendations

func (b *InMemoryBackend) DescribeDBRecommendations(recID, status string) []DBRecommendation

DescribeDBRecommendations returns DB recommendations filtered by optional parameters.

func (*InMemoryBackend) DescribeDBSecurityGroups

func (b *InMemoryBackend) DescribeDBSecurityGroups(name string) ([]DBSecurityGroup, error)

DescribeDBSecurityGroups returns security groups, optionally by name.

func (*InMemoryBackend) DescribeDBShardGroups

func (b *InMemoryBackend) DescribeDBShardGroups(id string) ([]DBShardGroup, error)

DescribeDBShardGroups returns DB shard groups, optionally filtered by ID.

func (*InMemoryBackend) DescribeDBSnapshotAttributes

func (b *InMemoryBackend) DescribeDBSnapshotAttributes(snapshotID string) (*DBSnapshotAttributesResult, error)

DescribeDBSnapshotAttributes returns attributes for a DB snapshot.

func (*InMemoryBackend) DescribeDBSnapshotTenantDatabases

func (b *InMemoryBackend) DescribeDBSnapshotTenantDatabases(
	snapshotID, instanceID string,
) []DBSnapshotTenantDatabase

DescribeDBSnapshotTenantDatabases lists tenant databases within snapshots.

func (*InMemoryBackend) DescribeDBSnapshots

func (b *InMemoryBackend) DescribeDBSnapshots(snapshotID, instanceID string) ([]DBSnapshot, error)

DescribeDBSnapshots returns snapshots. If snapshotID is non-empty, returns only that snapshot. If instanceID is non-empty, returns all snapshots for that instance.

func (*InMemoryBackend) DescribeDBSubnetGroups

func (b *InMemoryBackend) DescribeDBSubnetGroups(name string) ([]DBSubnetGroup, error)

DescribeDBSubnetGroups returns subnet groups. If name is non-empty, returns only that group.

func (*InMemoryBackend) DescribeEngineDefaultClusterParameters

func (b *InMemoryBackend) DescribeEngineDefaultClusterParameters(_ string) []DBParameter

DescribeEngineDefaultClusterParameters returns default cluster parameters for an engine family.

func (*InMemoryBackend) DescribeEngineDefaultParameters

func (b *InMemoryBackend) DescribeEngineDefaultParameters(_ string) []DBParameter

DescribeEngineDefaultParameters returns default parameters for an engine family.

func (*InMemoryBackend) DescribeEventCategories

func (b *InMemoryBackend) DescribeEventCategories(_ string) ([]string, error)

DescribeEventCategories returns event category names, optionally filtered by source type.

func (*InMemoryBackend) DescribeEventSubscriptions

func (b *InMemoryBackend) DescribeEventSubscriptions(name string) ([]EventSubscription, error)

DescribeEventSubscriptions returns all subscriptions or the named one.

func (*InMemoryBackend) DescribeEvents

func (b *InMemoryBackend) DescribeEvents(sourceID, sourceType string, durationMinutes int) ([]Event, error)

DescribeEvents returns published events filtered by sourceID, sourceType, and/or duration minutes. Results are sorted by creation time ascending, matching AWS behaviour.

func (*InMemoryBackend) DescribeExportTasks

func (b *InMemoryBackend) DescribeExportTasks(taskID string) ([]ExportTask, error)

DescribeExportTasks returns export tasks, optionally filtered by task ID.

func (*InMemoryBackend) DescribeGlobalClusters

func (b *InMemoryBackend) DescribeGlobalClusters(id string) ([]GlobalCluster, error)

DescribeGlobalClusters returns global clusters, optionally filtered by identifier.

func (*InMemoryBackend) DescribeIntegrations

func (b *InMemoryBackend) DescribeIntegrations(identifier string) ([]Integration, error)

DescribeIntegrations returns integrations, optionally filtered by identifier.

func (*InMemoryBackend) DescribeOptionGroups

func (b *InMemoryBackend) DescribeOptionGroups(name string) ([]OptionGroup, error)

DescribeOptionGroups returns option groups. If name is non-empty, returns only that group.

func (*InMemoryBackend) DescribeOrderableDBInstanceOptions

func (b *InMemoryBackend) DescribeOrderableDBInstanceOptions(engine, engineVersion string) []OrderableDBInstanceOption

DescribeOrderableDBInstanceOptions returns orderable instance options for the given engine.

func (*InMemoryBackend) DescribePendingMaintenanceActions

func (b *InMemoryBackend) DescribePendingMaintenanceActions(_ string) []PendingMaintenanceAction

DescribePendingMaintenanceActions returns pending maintenance actions.

func (*InMemoryBackend) DescribeReservedDBInstances

func (b *InMemoryBackend) DescribeReservedDBInstances(
	reservedDBInstanceID, dbInstanceClass string,
) []ReservedDBInstance

DescribeReservedDBInstances returns reserved DB instances.

func (*InMemoryBackend) DescribeReservedDBInstancesOfferings

func (b *InMemoryBackend) DescribeReservedDBInstancesOfferings(
	offeringID, dbInstanceClass string,
) []ReservedDBInstancesOffering

DescribeReservedDBInstancesOfferings returns available reserved DB instance offerings.

func (*InMemoryBackend) DescribeSourceRegions

func (b *InMemoryBackend) DescribeSourceRegions(regionName string) []SourceRegion

DescribeSourceRegions returns available source regions for cross-region operations.

func (*InMemoryBackend) DescribeTenantDatabases

func (b *InMemoryBackend) DescribeTenantDatabases(
	instanceID, tenantDBName string,
) ([]TenantDatabase, error)

DescribeTenantDatabases returns tenant databases, optionally filtered by instance and name.

func (*InMemoryBackend) DescribeValidDBInstanceModifications

func (b *InMemoryBackend) DescribeValidDBInstanceModifications(id string) (*DBInstance, error)

DescribeValidDBInstanceModifications returns the valid modifications for the given instance. This is a stub that returns a minimal set of valid instance classes.

func (*InMemoryBackend) DisableHTTPEndpoint

func (b *InMemoryBackend) DisableHTTPEndpoint(resourceARN string) error

DisableHTTPEndpoint disables the HTTP endpoint for an Aurora Serverless cluster.

func (*InMemoryBackend) DownloadDBLogFilePortion

func (b *InMemoryBackend) DownloadDBLogFilePortion(
	instanceID, logFileName, marker string,
	numberOfLines int,
) (LogFilePortion, error)

DownloadDBLogFilePortion returns a portion of the named log file for the given instance, honoring the supplied marker and line count. Marker is "0" or "" for the start of the file; the returned marker is the next line offset to read from.

func (*InMemoryBackend) EnableHTTPEndpoint

func (b *InMemoryBackend) EnableHTTPEndpoint(resourceARN string) error

EnableHTTPEndpoint enables the HTTP endpoint for an Aurora Serverless cluster.

func (*InMemoryBackend) FailoverDBCluster

func (b *InMemoryBackend) FailoverDBCluster(clusterID, _ string) (*DBCluster, error)

FailoverDBCluster triggers a failover on an Aurora DB cluster.

func (*InMemoryBackend) FailoverGlobalCluster

func (b *InMemoryBackend) FailoverGlobalCluster(
	globalClusterID, _ string,
) (*GlobalCluster, error)

FailoverGlobalCluster initiates a failover for a global cluster.

func (*InMemoryBackend) GetPerformanceInsightsData

func (b *InMemoryBackend) GetPerformanceInsightsData(
	resourceID, metric string,
	_ time.Time, _ time.Time,
	_ int,
) ([]PIDataPoint, error)

GetPerformanceInsightsData returns synthetic Performance Insights metric data points for the given resource identifier, metric name, and time range. The data is deterministically generated based on the resource identifier and time bucket so tests get repeatable results without external state.

func (*InMemoryBackend) IsClusterFailoverActive

func (b *InMemoryBackend) IsClusterFailoverActive(clusterID string) bool

IsClusterFailoverActive reports whether a FIS failover simulation is currently active for the cluster with the given identifier. Expired entries are lazily evicted to prevent unbounded map growth.

func (*InMemoryBackend) ListTagsForResource

func (b *InMemoryBackend) ListTagsForResource(arn string) []Tag

ListTagsForResource returns the tags for the resource identified by arn.

func (*InMemoryBackend) ModifyActivityStream

func (b *InMemoryBackend) ModifyActivityStream(clusterID string, auditPolicy string) (*DBCluster, error)

ModifyActivityStream modifies activity stream settings for a DB cluster.

func (*InMemoryBackend) ModifyCertificates

func (b *InMemoryBackend) ModifyCertificates(certID string) (*Certificate, error)

ModifyCertificates sets (or, when certID is empty, resets) the default CA certificate identifier for the account and returns the resulting default.

func (*InMemoryBackend) ModifyCurrentDBClusterCapacity

func (b *InMemoryBackend) ModifyCurrentDBClusterCapacity(clusterID string, capacity int) (*DBCluster, error)

ModifyCurrentDBClusterCapacity modifies the serverless capacity of a DB cluster.

func (*InMemoryBackend) ModifyCustomDBEngineVersion

func (b *InMemoryBackend) ModifyCustomDBEngineVersion(
	engine, engineVersion, description, status string,
) (*CustomDBEngineVersion, error)

ModifyCustomDBEngineVersion modifies a custom DB engine version.

func (*InMemoryBackend) ModifyDBCluster

func (b *InMemoryBackend) ModifyDBCluster(id, paramGroupName string, opts DBClusterOptions) (*DBCluster, error)

ModifyDBCluster modifies a DB cluster.

func (*InMemoryBackend) ModifyDBClusterEndpoint

func (b *InMemoryBackend) ModifyDBClusterEndpoint(endpointID, endpointType string) (*DBClusterEndpoint, error)

ModifyDBClusterEndpoint modifies a custom DB cluster endpoint.

func (*InMemoryBackend) ModifyDBClusterParameterGroup

func (b *InMemoryBackend) ModifyDBClusterParameterGroup(name string, params []DBParameter) (string, error)

ModifyDBClusterParameterGroup modifies parameters in a cluster parameter group.

func (*InMemoryBackend) ModifyDBClusterSnapshotAttribute

func (b *InMemoryBackend) ModifyDBClusterSnapshotAttribute(
	snapshotID, attributeName string,
	valuesToAdd, valuesToRemove []string,
) (*DBClusterSnapshotAttributesResult, error)

ModifyDBClusterSnapshotAttribute adds or removes attribute values for a cluster snapshot.

func (*InMemoryBackend) ModifyDBInstance

func (b *InMemoryBackend) ModifyDBInstance(
	id, instanceClass string,
	allocatedStorage int,
	opts DBInstanceOptions,
) (*DBInstance, error)

func (*InMemoryBackend) ModifyDBParameterGroup

func (b *InMemoryBackend) ModifyDBParameterGroup(name string, params []DBParameter) (*DBParameterGroup, error)

ModifyDBParameterGroup modifies parameters in a parameter group.

func (*InMemoryBackend) ModifyDBProxy

func (b *InMemoryBackend) ModifyDBProxy(
	name string,
	requireTLS *bool,
	idleClientTimeout *int,
	auth []UserAuthConfig,
) (*DBProxy, error)

ModifyDBProxy modifies a DB proxy's settings.

func (*InMemoryBackend) ModifyDBProxyEndpoint

func (b *InMemoryBackend) ModifyDBProxyEndpoint(endpointName string, vpcSGIDs []string) (*DBProxyEndpoint, error)

ModifyDBProxyEndpoint modifies a proxy endpoint's settings.

func (*InMemoryBackend) ModifyDBProxyTargetGroup

func (b *InMemoryBackend) ModifyDBProxyTargetGroup(
	proxyName, targetGroupName string,
	cfg ConnectionPoolConfig,
) (*DBProxyTargetGroup, error)

ModifyDBProxyTargetGroup modifies the connection pool settings for a proxy target group.

func (*InMemoryBackend) ModifyDBRecommendation

func (b *InMemoryBackend) ModifyDBRecommendation(recID, status string) (*DBRecommendation, error)

ModifyDBRecommendation modifies the status of a DB recommendation.

func (*InMemoryBackend) ModifyDBShardGroup

func (b *InMemoryBackend) ModifyDBShardGroup(
	id string,
	maxACU float64,
	computeRedundancy int,
) (*DBShardGroup, error)

ModifyDBShardGroup modifies a DB shard group's settings.

func (*InMemoryBackend) ModifyDBSnapshot

func (b *InMemoryBackend) ModifyDBSnapshot(snapshotID, optionGroupName, engineVersion string) (*DBSnapshot, error)

ModifyDBSnapshot modifies settings of a DB snapshot.

func (*InMemoryBackend) ModifyDBSnapshotAttribute

func (b *InMemoryBackend) ModifyDBSnapshotAttribute(
	snapshotID, attributeName string,
	valuesToAdd, valuesToRemove []string,
) (*DBSnapshotAttributesResult, error)

ModifyDBSnapshotAttribute adds or removes attribute values for a DB snapshot.

func (*InMemoryBackend) ModifyDBSubnetGroup

func (b *InMemoryBackend) ModifyDBSubnetGroup(name, description string, subnetIDs []string) (*DBSubnetGroup, error)

ModifyDBSubnetGroup modifies an existing DB subnet group.

func (*InMemoryBackend) ModifyEventSubscription

func (b *InMemoryBackend) ModifyEventSubscription(
	name, snsTopicARN, sourceType string,
	sourceIDs, eventCategories []string,
	enabled *bool,
) (*EventSubscription, error)

ModifyEventSubscription modifies an existing event subscription.

func (*InMemoryBackend) ModifyGlobalCluster

func (b *InMemoryBackend) ModifyGlobalCluster(
	id, newGlobalClusterID, engineVersion string,
	deletionProtection *bool,
) (*GlobalCluster, error)

ModifyGlobalCluster modifies properties of a global cluster.

func (*InMemoryBackend) ModifyIntegration

func (b *InMemoryBackend) ModifyIntegration(identifier, dataFilter, description string) (*Integration, error)

ModifyIntegration modifies an integration's description or data filter.

func (*InMemoryBackend) ModifyOptionGroup

func (b *InMemoryBackend) ModifyOptionGroup(
	name string,
	optionsToAdd []OptionGroupOption,
	optionsToRemove []string,
) (*OptionGroup, error)

ModifyOptionGroup modifies an option group by adding/removing options.

func (*InMemoryBackend) ModifyTenantDatabase

func (b *InMemoryBackend) ModifyTenantDatabase(
	instanceID, tenantDBName string,
) (*TenantDatabase, error)

ModifyTenantDatabase modifies a tenant database (e.g. master password).

func (*InMemoryBackend) PromoteReadReplica

func (b *InMemoryBackend) PromoteReadReplica(id string) (*DBInstance, error)

PromoteReadReplica promotes a read replica to a standalone instance.

func (*InMemoryBackend) PromoteReadReplicaDBCluster

func (b *InMemoryBackend) PromoteReadReplicaDBCluster(clusterID string) (*DBCluster, error)

PromoteReadReplicaDBCluster promotes a read replica DB cluster.

func (*InMemoryBackend) PurchaseReservedDBInstancesOffering

func (b *InMemoryBackend) PurchaseReservedDBInstancesOffering(
	offeringID, reservedDBInstanceID string,
	dbInstanceCount int,
) (*ReservedDBInstance, error)

PurchaseReservedDBInstancesOffering purchases a reserved DB instance offering.

func (*InMemoryBackend) RebootDBCluster

func (b *InMemoryBackend) RebootDBCluster(clusterID string) (*DBCluster, error)

RebootDBCluster reboots the named Aurora DB cluster. The cluster transitions to "rebooting" status and reverts to "available" after a brief delay.

func (*InMemoryBackend) RebootDBInstance

func (b *InMemoryBackend) RebootDBInstance(id string) (*DBInstance, error)

RebootDBInstance reboots the given instance. AWS returns the instance in "rebooting" state; it transitions to "available" after the delay.

func (*InMemoryBackend) RebootDBShardGroup

func (b *InMemoryBackend) RebootDBShardGroup(id string) (*DBShardGroup, error)

RebootDBShardGroup reboots a DB shard group.

func (*InMemoryBackend) Region

func (b *InMemoryBackend) Region() string

Region returns the AWS region this backend is configured for.

func (*InMemoryBackend) RegisterDBProxyTargets

func (b *InMemoryBackend) RegisterDBProxyTargets(
	proxyName, _ string,
	dbInstanceIDs, dbClusterIDs []string,
) ([]DBProxyTarget, error)

RegisterDBProxyTargets registers DB instances or clusters as targets for a proxy.

func (*InMemoryBackend) RemoveFromGlobalCluster

func (b *InMemoryBackend) RemoveFromGlobalCluster(globalClusterID, dbClusterARN string) (*GlobalCluster, error)

RemoveFromGlobalCluster removes a DB cluster from a global cluster.

func (*InMemoryBackend) RemoveRoleFromDBCluster

func (b *InMemoryBackend) RemoveRoleFromDBCluster(clusterID, roleARN string) error

RemoveRoleFromDBCluster disassociates an IAM role from the given cluster. Returns an error if the cluster does not exist. Removing a role that is not associated is a no-op.

func (*InMemoryBackend) RemoveRoleFromDBInstance

func (b *InMemoryBackend) RemoveRoleFromDBInstance(instanceID, roleARN string) error

RemoveRoleFromDBInstance disassociates an IAM role from the given instance. Returns an error if the instance does not exist. Removing a role that is not associated is a no-op.

func (*InMemoryBackend) RemoveSourceIdentifierFromSubscription

func (b *InMemoryBackend) RemoveSourceIdentifierFromSubscription(
	subscriptionName, sourceIdentifier string,
) (*EventSubscription, error)

RemoveSourceIdentifierFromSubscription removes a source identifier from an event subscription. Returns an error if the subscription does not exist.

func (*InMemoryBackend) RemoveTagsFromResource

func (b *InMemoryBackend) RemoveTagsFromResource(arn string, keys []string)

RemoveTagsFromResource removes the named tags from the resource identified by arn.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all backend state, returning it to a clean empty state.

func (*InMemoryBackend) ResetDBClusterParameterGroup

func (b *InMemoryBackend) ResetDBClusterParameterGroup(
	groupName string,
	resetAllParameters bool,
	params []string,
) (string, error)

ResetDBClusterParameterGroup resets parameters in a cluster parameter group.

func (*InMemoryBackend) ResetDBParameterGroup

func (b *InMemoryBackend) ResetDBParameterGroup(
	name string,
	resetAll bool,
	params []string,
) (*DBParameterGroup, error)

ResetDBParameterGroup resets parameters in a parameter group.

func (*InMemoryBackend) Restore

func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error

Restore loads backend state from a JSON snapshot. It implements persistence.Persistable.

func (*InMemoryBackend) RestoreDBClusterFromS3

func (b *InMemoryBackend) RestoreDBClusterFromS3(id, engine, masterUsername, s3Bucket string) (*DBCluster, error)

RestoreDBClusterFromS3 restores a DB cluster from an S3 backup.

func (*InMemoryBackend) RestoreDBClusterFromSnapshot

func (b *InMemoryBackend) RestoreDBClusterFromSnapshot(clusterID, snapshotID, engine string) (*DBCluster, error)

RestoreDBClusterFromSnapshot creates a new DB cluster from the given snapshot.

func (*InMemoryBackend) RestoreDBClusterToPointInTime

func (b *InMemoryBackend) RestoreDBClusterToPointInTime(clusterID, sourceClusterID string) (*DBCluster, error)

RestoreDBClusterToPointInTime creates a new DB cluster as a point-in-time restore of the source cluster.

func (*InMemoryBackend) RestoreDBInstanceFromDBSnapshot

func (b *InMemoryBackend) RestoreDBInstanceFromDBSnapshot(
	id, snapshotID string,
	opts DBInstanceOptions,
) (*DBInstance, error)

RestoreDBInstanceFromDBSnapshot creates a new DB instance from the given snapshot.

func (*InMemoryBackend) RestoreDBInstanceFromS3

func (b *InMemoryBackend) RestoreDBInstanceFromS3(id, engine, dbInstanceClass, s3Bucket string) (*DBInstance, error)

RestoreDBInstanceFromS3 restores a DB instance from an S3 backup.

func (*InMemoryBackend) RestoreDBInstanceToPointInTime

func (b *InMemoryBackend) RestoreDBInstanceToPointInTime(
	id, sourceID string,
	opts DBInstanceOptions,
) (*DBInstance, error)

RestoreDBInstanceToPointInTime creates a new DB instance as a point-in-time restore of the source.

func (*InMemoryBackend) RevokeDBSecurityGroupIngress

func (b *InMemoryBackend) RevokeDBSecurityGroupIngress(groupName, cidrIP string) (*DBSecurityGroup, error)

RevokeDBSecurityGroupIngress revokes a CIDR IP from a security group.

func (*InMemoryBackend) SetDNSRegistrar

func (b *InMemoryBackend) SetDNSRegistrar(dns DNSRegistrar)

SetDNSRegistrar wires a DNS server so RDS instance hostnames are auto-registered.

func (*InMemoryBackend) SetPerformanceInsightsData

func (b *InMemoryBackend) SetPerformanceInsightsData(resourceID, metric string, points []PIDataPoint)

SetPerformanceInsightsData stores PI metrics for testing.

func (*InMemoryBackend) Snapshot

func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte

Snapshot serialises the backend state to JSON. It implements persistence.Persistable.

func (*InMemoryBackend) StartActivityStream

func (b *InMemoryBackend) StartActivityStream(clusterID, kmsKeyID, mode string) (*DBCluster, error)

StartActivityStream starts the database activity stream for a DB cluster.

func (*InMemoryBackend) StartDBCluster

func (b *InMemoryBackend) StartDBCluster(id string) (*DBCluster, error)

StartDBCluster starts a stopped DB cluster.

func (*InMemoryBackend) StartDBInstance

func (b *InMemoryBackend) StartDBInstance(id string) (*DBInstance, error)

StartDBInstance starts a stopped DB instance.

func (*InMemoryBackend) StartDBInstanceAutomatedBackupsReplication

func (b *InMemoryBackend) StartDBInstanceAutomatedBackupsReplication(
	sourceInstanceARN string,
	backupRetentionPeriod int,
) (*DBInstanceAutomatedBackup, error)

StartDBInstanceAutomatedBackupsReplication starts cross-region replication for an instance backup.

func (*InMemoryBackend) StartExportTask

func (b *InMemoryBackend) StartExportTask(taskID, sourceARN, s3Bucket string) (*ExportTask, error)

StartExportTask creates a new export task for the given source ARN.

func (*InMemoryBackend) StopActivityStream

func (b *InMemoryBackend) StopActivityStream(clusterID string) (*DBCluster, error)

StopActivityStream stops the database activity stream for a DB cluster.

func (*InMemoryBackend) StopDBCluster

func (b *InMemoryBackend) StopDBCluster(id string) (*DBCluster, error)

StopDBCluster stops a running DB cluster.

func (*InMemoryBackend) StopDBInstance

func (b *InMemoryBackend) StopDBInstance(id string) (*DBInstance, error)

StopDBInstance stops a running DB instance.

func (*InMemoryBackend) StopDBInstanceAutomatedBackupsReplication

func (b *InMemoryBackend) StopDBInstanceAutomatedBackupsReplication(
	sourceInstanceARN string,
) (*DBInstanceAutomatedBackup, error)

StopDBInstanceAutomatedBackupsReplication stops cross-region replication for an instance backup.

func (*InMemoryBackend) SwitchoverBlueGreenDeployment

func (b *InMemoryBackend) SwitchoverBlueGreenDeployment(id string) (*BlueGreenDeployment, error)

SwitchoverBlueGreenDeployment switches over a blue/green deployment.

func (*InMemoryBackend) SwitchoverGlobalCluster

func (b *InMemoryBackend) SwitchoverGlobalCluster(
	globalClusterID, _ string,
) (*GlobalCluster, error)

SwitchoverGlobalCluster initiates a switchover for a global cluster.

func (*InMemoryBackend) SwitchoverReadReplica

func (b *InMemoryBackend) SwitchoverReadReplica(instanceID string) (*DBInstance, error)

SwitchoverReadReplica converts a read replica to a standalone instance.

type Integration

type Integration struct {
	CreatedAt              time.Time `json:"createdAt"`
	IntegrationArn         string    `json:"integrationArn"`
	IntegrationName        string    `json:"integrationName"`
	SourceArn              string    `json:"sourceArn"`
	TargetArn              string    `json:"targetArn"`
	KmsKeyID               string    `json:"kmsKeyId,omitempty"`
	DataFilter             string    `json:"dataFilter,omitempty"`
	IntegrationDescription string    `json:"integrationDescription,omitempty"`
	Status                 string    `json:"status"`
}

Integration represents an RDS zero-ETL integration to Amazon Redshift.

type LogFileFilter

type LogFileFilter struct {
	// FilenameContains, when non-empty, keeps only log files whose name contains it.
	FilenameContains string
	// FileLastWritten, when > 0, keeps only files written at or after this epoch-ms time.
	FileLastWritten int64
	// FileSize, when > 0, keeps only files at least this many bytes.
	FileSize int64
}

LogFileFilter narrows the results returned by DescribeDBLogFiles, matching the RDS DescribeDBLogFiles request filters.

type LogFilePortion

type LogFilePortion struct {
	LogFileData           string
	Marker                string
	AdditionalDataPending bool
}

LogFilePortion is a chunk of a DB log file returned by DownloadDBLogFilePortion.

type OptionGroup

type OptionGroup struct {
	OptionGroupName        string              `json:"optionGroupName"`
	OptionGroupDescription string              `json:"optionGroupDescription"`
	EngineName             string              `json:"engineName"`
	MajorEngineVersion     string              `json:"majorEngineVersion"`
	Options                []OptionGroupOption `json:"options"`
}

OptionGroup represents an RDS option group.

type OptionGroupOption

type OptionGroupOption struct {
	OptionName    string `json:"optionName"`
	OptionVersion string `json:"optionVersion"`
}

OptionGroupOption represents an option within an option group.

type OrderableDBInstanceOption

type OrderableDBInstanceOption struct {
	Engine          string `json:"engine"`
	EngineVersion   string `json:"engineVersion"`
	DBInstanceClass string `json:"dbInstanceClass"`
	MultiAZCapable  bool   `json:"multiAZCapable"`
}

OrderableDBInstanceOption represents an orderable DB instance option.

type PIDataPoint

type PIDataPoint struct {
	Timestamp string
	Value     float64
}

PIDataPoint is a single Performance Insights metric data point.

type PendingMaintenanceAction

type PendingMaintenanceAction struct {
	ResourceIdentifier   string `json:"resourceIdentifier"`
	Action               string `json:"action"`
	AutoAppliedAfterDate string `json:"autoAppliedAfterDate"`
	CurrentApplyDate     string `json:"currentApplyDate"`
	Description          string `json:"description"`
}

PendingMaintenanceAction represents a pending maintenance action for a resource.

type PendingModifiedValues

type PendingModifiedValues struct {
	MultiAZChange    *bool  `json:"multiAZChange,omitempty"`
	DBInstanceClass  string `json:"dbInstanceClass,omitempty"`
	EngineVersion    string `json:"engineVersion,omitempty"`
	StorageType      string `json:"storageType,omitempty"`
	AllocatedStorage int    `json:"allocatedStorage,omitempty"`
	Iops             int    `json:"iops,omitempty"`
}

PendingModifiedValues holds deferred instance changes (ApplyImmediately=false). A non-nil pointer means at least one field is pending. Nil means nothing pending.

type Provider

type Provider struct{}

Provider implements service.Provider for RDS.

func (*Provider) Init

Init initializes the RDS service backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type ReservedDBInstance

type ReservedDBInstance struct {
	ReservedDBInstanceID          string  `json:"reservedDBInstanceId"`
	ReservedDBInstancesOfferingID string  `json:"reservedDBInstancesOfferingId"`
	DBInstanceClass               string  `json:"dbInstanceClass"`
	StartTime                     string  `json:"startTime"`
	ProductDescription            string  `json:"productDescription"`
	OfferingType                  string  `json:"offeringType"`
	State                         string  `json:"state"`
	CurrencyCode                  string  `json:"currencyCode"`
	FixedPrice                    float64 `json:"fixedPrice"`
	UsagePrice                    float64 `json:"usagePrice"`
	Duration                      int     `json:"duration"`
	DBInstanceCount               int     `json:"dbInstanceCount"`
	MultiAZ                       bool    `json:"multiAZ"`
}

ReservedDBInstance represents a purchased reserved DB instance.

type ReservedDBInstancesOffering

type ReservedDBInstancesOffering struct {
	ReservedDBInstancesOfferingID string  `json:"reservedDBInstancesOfferingId"`
	DBInstanceClass               string  `json:"dbInstanceClass"`
	ProductDescription            string  `json:"productDescription"`
	OfferingType                  string  `json:"offeringType"`
	CurrencyCode                  string  `json:"currencyCode"`
	FixedPrice                    float64 `json:"fixedPrice"`
	UsagePrice                    float64 `json:"usagePrice"`
	Duration                      int     `json:"duration"`
	MultiAZ                       bool    `json:"multiAZ"`
}

ReservedDBInstancesOffering represents an available reserved DB instance offering.

type ServerlessV2ScalingConfiguration

type ServerlessV2ScalingConfiguration struct {
	MinCapacity float64 `json:"minCapacity"`
	MaxCapacity float64 `json:"maxCapacity"`
}

ServerlessV2ScalingConfiguration holds Aurora Serverless v2 capacity settings.

type SourceRegion

type SourceRegion struct {
	RegionName string `json:"regionName"`
	Endpoint   string `json:"endpoint"`
	Status     string `json:"status"`
}

SourceRegion represents an available source region for cross-region operations.

type StorageBackend

type StorageBackend interface {
	// Lifecycle
	Region() string
	AccountID() string
	Reset()
	Snapshot(ctx context.Context) []byte
	Restore(ctx context.Context, data []byte) error

	// DB instance operations
	CreateDBInstance(
		id, engine, instanceClass, dbName, masterUser, paramGroupName string,
		allocatedStorage int,
		opts DBInstanceOptions,
	) (*DBInstance, error)
	DeleteDBInstance(id string) (*DBInstance, error)
	DeleteDBInstanceWithOptions(
		id string,
		skipFinalSnapshot bool,
		finalSnapshotID string,
		deleteAutomatedBackups bool,
	) (*DBInstance, error)
	DescribeDBInstances(id string) ([]DBInstance, error)
	ModifyDBInstance(
		id, instanceClass string,
		allocatedStorage int,
		opts DBInstanceOptions,
	) (*DBInstance, error)
	StartDBInstance(id string) (*DBInstance, error)
	StopDBInstance(id string) (*DBInstance, error)
	RebootDBInstance(id string) (*DBInstance, error)
	CreateDBInstanceReadReplica(id, sourceID, sourceRegion string) (*DBInstance, error)
	PromoteReadReplica(id string) (*DBInstance, error)
	DescribeDBInstanceAutomatedBackups(instanceID string) []DBInstanceAutomatedBackup
	DescribeValidDBInstanceModifications(id string) (*DBInstance, error)

	// DB snapshot operations
	CreateDBSnapshot(snapshotID, instanceID string) (*DBSnapshot, error)
	DescribeDBSnapshots(snapshotID, instanceID string) ([]DBSnapshot, error)
	DeleteDBSnapshot(snapshotID string) (*DBSnapshot, error)
	CopyDBSnapshot(
		sourceSnapshotID, targetSnapshotID string,
		opts CopyDBSnapshotOptions,
	) (*DBSnapshot, error)
	RestoreDBInstanceFromDBSnapshot(
		id, snapshotID string,
		opts DBInstanceOptions,
	) (*DBInstance, error)
	RestoreDBInstanceToPointInTime(id, sourceID string, opts DBInstanceOptions) (*DBInstance, error)

	// DB subnet group operations
	CreateDBSubnetGroup(name, description, vpcID string, subnetIDs []string) (*DBSubnetGroup, error)
	DescribeDBSubnetGroups(name string) ([]DBSubnetGroup, error)
	DeleteDBSubnetGroup(name string) error

	// DB parameter group operations
	CreateDBParameterGroup(name, family, description string) (*DBParameterGroup, error)
	DescribeDBParameterGroups(name string) ([]DBParameterGroup, error)
	DeleteDBParameterGroup(name string) error
	ModifyDBParameterGroup(name string, params []DBParameter) (*DBParameterGroup, error)
	DescribeDBParameters(groupName string) ([]DBParameter, error)
	ResetDBParameterGroup(name string, resetAll bool, params []string) (*DBParameterGroup, error)
	CopyDBParameterGroup(
		sourceGroupName, targetGroupName, targetDescription string,
	) (*DBParameterGroup, error)

	// Option group operations
	CreateOptionGroup(name, engine, majorVersion, description string) (*OptionGroup, error)
	DescribeOptionGroups(name string) ([]OptionGroup, error)
	DeleteOptionGroup(name string) error
	ModifyOptionGroup(
		name string,
		optionsToAdd []OptionGroupOption,
		optionsToRemove []string,
	) (*OptionGroup, error)
	CopyOptionGroup(
		sourceGroupName, targetGroupName, targetDescription string,
	) (*OptionGroup, error)

	// DB cluster operations
	CreateDBCluster(
		id, engine, masterUser, dbName, paramGroupName string,
		port int,
		serverlessV2Cfg *ServerlessV2ScalingConfiguration,
		opts DBClusterOptions,
	) (*DBCluster, error)
	DescribeDBClusters(id string) ([]DBCluster, error)
	DeleteDBCluster(id string) (*DBCluster, error)
	DeleteDBClusterWithOptions(id string, skipFinalSnapshot bool, finalSnapshotID string) (*DBCluster, error)
	ModifyDBCluster(id, paramGroupName string, opts DBClusterOptions) (*DBCluster, error)
	StartDBCluster(id string) (*DBCluster, error)
	StopDBCluster(id string) (*DBCluster, error)
	RestoreDBClusterFromSnapshot(clusterID, snapshotID, engine string) (*DBCluster, error)
	RestoreDBClusterToPointInTime(clusterID, sourceClusterID string) (*DBCluster, error)

	// DB cluster parameter group operations
	CreateDBClusterParameterGroup(name, family, description string) (*DBParameterGroup, error)
	DescribeDBClusterParameterGroups(name string) ([]DBParameterGroup, error)
	CopyDBClusterParameterGroup(
		sourceGroupName, targetGroupName, targetDescription string,
	) (*DBParameterGroup, error)

	// DB cluster snapshot operations
	CreateDBClusterSnapshot(snapshotID, clusterID string) (*DBClusterSnapshot, error)
	DescribeDBClusterSnapshots(snapshotID, clusterID string) ([]DBClusterSnapshot, error)
	DeleteDBClusterSnapshot(snapshotID string) (*DBClusterSnapshot, error)
	CopyDBClusterSnapshot(sourceSnapshotID, targetSnapshotID string) (*DBClusterSnapshot, error)

	// DB cluster endpoint operations
	CreateDBClusterEndpoint(endpointID, clusterID, endpointType string) (*DBClusterEndpoint, error)
	DescribeDBClusterEndpoints(clusterID, endpointID string) ([]DBClusterEndpoint, error)
	DeleteDBClusterEndpoint(endpointID string) (*DBClusterEndpoint, error)

	// Global cluster operations
	CreateGlobalCluster(
		id, engine, engineVersion string,
		storageEncrypted, deletionProtection bool,
	) (*GlobalCluster, error)
	DescribeGlobalClusters(id string) ([]GlobalCluster, error)
	DeleteGlobalCluster(id string) (*GlobalCluster, error)
	ModifyGlobalCluster(
		id, newID, engineVersion string,
		deletionProtection *bool,
	) (*GlobalCluster, error)

	// Export task operations
	StartExportTask(taskID, sourceARN, s3Bucket string) (*ExportTask, error)
	DescribeExportTasks(taskID string) ([]ExportTask, error)
	CancelExportTask(taskID string) (*ExportTask, error)

	// Tag operations
	AddTagsToResource(arn string, tags []Tag)
	RemoveTagsFromResource(arn string, keys []string)
	ListTagsForResource(arn string) []Tag

	// Engine and instance metadata
	DescribeDBEngineVersions(engine, engineVersion string) []DBEngineVersion
	CreateCustomDBEngineVersion(
		engine, engineVersion, description string,
	) (*CustomDBEngineVersion, error)
	DeleteCustomDBEngineVersion(engine, engineVersion string) (*CustomDBEngineVersion, error)
	ModifyCustomDBEngineVersion(
		engine, engineVersion, description, status string,
	) (*CustomDBEngineVersion, error)
	DescribeCustomDBEngineVersions(engine, engineVersion string) []CustomDBEngineVersion
	DescribeOrderableDBInstanceOptions(engine, engineVersion string) []OrderableDBInstanceOption
	DescribeDBLogFiles(instanceID string, filter LogFileFilter) ([]DBLogFile, error)
	DownloadDBLogFilePortion(instanceID, logFileName, marker string, numberOfLines int) (LogFilePortion, error)

	// IAM role operations
	AddRoleToDBCluster(clusterID, roleARN string) error
	RemoveRoleFromDBCluster(clusterID, roleARN string) error
	AddRoleToDBInstance(instanceID, roleARN string) error
	RemoveRoleFromDBInstance(instanceID, roleARN string) error

	// Event subscription operations
	AddSourceIdentifierToSubscription(
		subscriptionName, sourceIdentifier string,
	) (*EventSubscription, error)
	RemoveSourceIdentifierFromSubscription(
		subscriptionName, sourceIdentifier string,
	) (*EventSubscription, error)

	// Maintenance operations
	ApplyPendingMaintenanceAction(resourceID, applyAction string) (string, error)
	BacktrackDBCluster(clusterID, backtrackTo string) (*DBClusterBacktrack, error)

	// Security group operations
	AuthorizeDBSecurityGroupIngress(groupName, cidrIP string) (*DBSecurityGroup, error)
	CreateDBSecurityGroup(name, description string) (*DBSecurityGroup, error)

	// Blue/Green Deployment operations
	CreateBlueGreenDeployment(name, source string) (*BlueGreenDeployment, error)

	// Global cluster membership operations
	RemoveFromGlobalCluster(globalClusterID, dbClusterARN string) (*GlobalCluster, error)
	FailoverGlobalCluster(globalClusterID, targetDBClusterIdentifier string) (*GlobalCluster, error)
	SwitchoverGlobalCluster(
		globalClusterID, targetDBClusterIdentifier string,
	) (*GlobalCluster, error)

	// Read replica promotion operations
	SwitchoverReadReplica(instanceID string) (*DBInstance, error)
	PromoteReadReplicaDBCluster(clusterID string) (*DBCluster, error)

	// Account and certificate operations
	DescribeAccountAttributes() []AccountAttribute
	DescribeCertificates(certID string) ([]Certificate, error)
	ModifyCertificates(certID string) (*Certificate, error)
	DescribePendingMaintenanceActions(resourceARN string) []PendingMaintenanceAction
	DescribeSourceRegions(regionName string) []SourceRegion
	DescribeDBMajorEngineVersions(engine string) []DBMajorEngineVersion
	DescribeEngineDefaultParameters(dbParameterGroupFamily string) []DBParameter
	DescribeEngineDefaultClusterParameters(dbParameterGroupFamily string) []DBParameter

	// Snapshot attribute operations
	DescribeDBSnapshotAttributes(snapshotID string) (*DBSnapshotAttributesResult, error)
	ModifyDBSnapshot(snapshotID, optionGroupName, engineVersion string) (*DBSnapshot, error)
	ModifyDBSnapshotAttribute(
		snapshotID, attributeName string,
		valuesToAdd, valuesToRemove []string,
	) (*DBSnapshotAttributesResult, error)
	DescribeDBClusterSnapshotAttributes(
		snapshotID string,
	) (*DBClusterSnapshotAttributesResult, error)
	ModifyDBClusterSnapshotAttribute(
		snapshotID, attributeName string,
		valuesToAdd, valuesToRemove []string,
	) (*DBClusterSnapshotAttributesResult, error)
	DescribeDBClusterBacktracks(clusterID string) ([]DBClusterBacktrack, error)

	// HTTP endpoint operations
	EnableHTTPEndpoint(resourceARN string) error
	DisableHTTPEndpoint(resourceARN string) error
	ModifyCurrentDBClusterCapacity(clusterID string, capacity int) (*DBCluster, error)

	// S3 restore operations
	RestoreDBInstanceFromS3(id, engine, dbInstanceClass, s3Bucket string) (*DBInstance, error)
	RestoreDBClusterFromS3(id, engine, masterUsername, s3Bucket string) (*DBCluster, error)

	// Recommendation operations
	ModifyDBRecommendation(recID, status string) (*DBRecommendation, error)
	DescribeDBRecommendations(recID, status string) []DBRecommendation

	// Reserved instance operations
	PurchaseReservedDBInstancesOffering(
		offeringID, reservedDBInstanceID string,
		dbInstanceCount int,
	) (*ReservedDBInstance, error)
	DescribeReservedDBInstances(reservedDBInstanceID, dbInstanceClass string) []ReservedDBInstance
	DescribeReservedDBInstancesOfferings(
		offeringID, dbInstanceClass string,
	) []ReservedDBInstancesOffering

	// DB Proxy operations
	CreateDBProxy(name, engineFamily, roleARN string, auth []UserAuthConfig) (*DBProxy, error)
	DeleteDBProxy(name string) (*DBProxy, error)
	DescribeDBProxies(name string) ([]DBProxy, error)
	ModifyDBProxy(
		name string,
		requireTLS *bool,
		idleClientTimeout *int,
		auth []UserAuthConfig,
	) (*DBProxy, error)

	// DB Proxy target operations
	RegisterDBProxyTargets(
		proxyName, targetGroupName string,
		dbInstanceIDs, dbClusterIDs []string,
	) ([]DBProxyTarget, error)
	DeregisterDBProxyTargets(
		proxyName, targetGroupName string,
		dbInstanceIDs, dbClusterIDs []string,
	) error
	DescribeDBProxyTargets(proxyName, targetGroupName string) ([]DBProxyTarget, error)
	DescribeDBProxyTargetGroups(proxyName, targetGroupName string) ([]DBProxyTargetGroup, error)
	ModifyDBProxyTargetGroup(
		proxyName, targetGroupName string,
		cfg ConnectionPoolConfig,
	) (*DBProxyTargetGroup, error)

	// DB Proxy endpoint operations
	CreateDBProxyEndpoint(
		proxyName, endpointName, targetRole string,
		vpcSubnetIDs, vpcSGIDs []string,
	) (*DBProxyEndpoint, error)
	DeleteDBProxyEndpoint(endpointName string) (*DBProxyEndpoint, error)
	DescribeDBProxyEndpoints(proxyName, endpointName string) ([]DBProxyEndpoint, error)
	ModifyDBProxyEndpoint(endpointName string, vpcSGIDs []string) (*DBProxyEndpoint, error)

	// Activity stream operations
	StartActivityStream(clusterID, kmsKeyID, mode string) (*DBCluster, error)
	StopActivityStream(clusterID string) (*DBCluster, error)
	ModifyActivityStream(clusterID string, auditPolicy string) (*DBCluster, error)

	// DB Shard Group operations
	CreateDBShardGroup(
		id, clusterID string,
		maxACU, minACU float64,
		computeRedundancy int,
		publiclyAccessible bool,
	) (*DBShardGroup, error)
	DeleteDBShardGroup(id string) (*DBShardGroup, error)
	DescribeDBShardGroups(id string) ([]DBShardGroup, error)
	ModifyDBShardGroup(id string, maxACU float64, computeRedundancy int) (*DBShardGroup, error)
	RebootDBShardGroup(id string) (*DBShardGroup, error)

	// Integration operations
	CreateIntegration(name, sourceARN, targetARN, kmsKeyID, dataFilter, description string) (*Integration, error)
	DeleteIntegration(identifier string) (*Integration, error)
	DescribeIntegrations(identifier string) ([]Integration, error)
	ModifyIntegration(identifier, dataFilter, description string) (*Integration, error)

	// Tenant Database operations
	CreateTenantDatabase(instanceID, tenantDBName, masterUsername string) (*TenantDatabase, error)
	DeleteTenantDatabase(instanceID, tenantDBName string) (*TenantDatabase, error)
	DescribeTenantDatabases(instanceID, tenantDBName string) ([]TenantDatabase, error)
	ModifyTenantDatabase(instanceID, tenantDBName string) (*TenantDatabase, error)

	// DB Cluster Automated Backup operations
	DeleteDBClusterAutomatedBackup(resourceID string) (*DBClusterAutomatedBackup, error)
	DescribeDBClusterAutomatedBackups(clusterID string) []DBClusterAutomatedBackup

	// DB Instance Automated Backup enhanced operations
	DeleteDBInstanceAutomatedBackup(resourceID string) (*DBInstanceAutomatedBackup, error)
	StartDBInstanceAutomatedBackupsReplication(
		sourceInstanceARN string,
		backupRetentionPeriod int,
	) (*DBInstanceAutomatedBackup, error)
	StopDBInstanceAutomatedBackupsReplication(
		sourceInstanceARN string,
	) (*DBInstanceAutomatedBackup, error)

	// DB Snapshot Tenant Database operations
	DescribeDBSnapshotTenantDatabases(snapshotID, instanceID string) []DBSnapshotTenantDatabase

	// Performance Insights operations
	GetPerformanceInsightsData(
		resourceID, metric string,
		startTime, endTime time.Time,
		periodInSeconds int,
	) ([]PIDataPoint, error)
}

StorageBackend defines the interface for RDS backend implementations. All mutating methods must be safe for concurrent use.

type Tag

type Tag struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

Tag is a key/value tag attached to an RDS resource.

type TenantDatabase

type TenantDatabase struct {
	CreatedAt            time.Time `json:"createdAt"`
	DBInstanceIdentifier string    `json:"dbInstanceIdentifier"`
	TenantDBName         string    `json:"tenantDBName"`
	MasterUsername       string    `json:"masterUsername"`
	TenantDatabaseARN    string    `json:"tenantDatabaseArn"`
	DbiResourceID        string    `json:"dbiResourceId"`
	Status               string    `json:"status"`
}

TenantDatabase represents a tenant database within a multi-tenant RDS instance.

type UserAuthConfig

type UserAuthConfig struct {
	AuthScheme  string `json:"authScheme"`
	Description string `json:"description"`
	IAMAuth     string `json:"iamAuth"`
	SecretARN   string `json:"secretArn"`
	UserName    string `json:"userName"`
}

UserAuthConfig holds authentication details for a DB proxy.

type VpcSecurityGroupMembership

type VpcSecurityGroupMembership struct {
	VpcSecurityGroupID string `json:"vpcSecurityGroupId"`
	Status             string `json:"status"`
}

VpcSecurityGroupMembership represents a VPC security group association.

Jump to

Keyboard shortcuts

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