Files
spinifex/docs/compatibility/rds-api-coverage/README.md
T
2026-09-14 11:49:46 +10:00

11 KiB

title, seoTitle, description, category, sections, tags
title seoTitle description category sections tags
RDS API Coverage Relational Database Service API Coverage — Spinifex Docs Every operation in the Amazon RDS API model and whether Spinifex implements it, for the managed PostgreSQL and MariaDB engines it offers on each build. Coverage
overview
aws
compatibility
coverage
rds
databases
postgresql
mariadb

RDS API Coverage

Overview

Spinifex implements 26 of the 162 operations in the RDS 2014-10-31 API model, as pinned in aws-sdk-go v1.55.8 — 16.0%.

Engines

Spinifex offers PostgreSQL and MariaDB. Each DB instance is one dedicated system-owned VM running the engine directly, launched from a platform AMI and hidden from the customer's EC2 API. Engine is fixed at create: there is no in-place engine change, no cross-engine snapshot restore and no migration between the two.

mysql is not an accepted engine and is not an alias for mariadb. MariaDB is offered under its own AWS engine name, exactly as AWS RDS offers it, so a client — including Terraform's aws_db_instance — must set engine = "mariadb". Aliasing would report an engine and a version the instance is not running, and the discrepancy would propagate into DescribeDBInstances, parameter-group families and snapshot metadata.

Engine versions are pinned per engine. An EngineVersion naming anything but the pin is rejected, including a narrower minor version, because the AMI makes no promise about which minor it carries.

The endpoint is private

The engine is reached over a customer-account ENI injected into a subnet of the DB subnet group, so the endpoint is reachable from inside the VPC only. The DB VM has other NICs that no customer security group governs, and the engine binds none of them — the port is not open there at all, rather than open and gated.

TLS is required by default

Both engines enforce encrypted connections by default: rds.force_ssl on PostgreSQL and require_secure_transport on MariaDB. For MariaDB this is a deliberate divergence from AWS, which leaves it off. Both are boolean, modifiable and dynamic, so setting either to 0 in a parameter group restores plaintext without a reboot.

Enforcement requires that the connection is encrypted, not that the client validates the certificate. The engine serves a per-instance certificate signed by the cluster CA carrying both the ENI address and the DNS name, so a client that wants full verification can have it. A deployment holding no cluster CA cannot serve TLS at all, and a parameter group asking for enforcement there is refused rather than quietly ignored.

Rejected parameters

A parameter whose omission would create a false safety, security or availability guarantee is rejected rather than silently dropped — MultiAZ=true on a single-AZ platform, PubliclyAccessible=true against a private endpoint, StorageEncrypted=false where unencrypted storage is not offered. Parameters that are merely inert are accepted as no-ops.

Operations

Operation Status
AddRoleToDBCluster ❌ Not implemented
AddRoleToDBInstance ❌ Not implemented
AddSourceIdentifierToSubscription ❌ Not implemented
AddTagsToResource ✅ Implemented
ApplyPendingMaintenanceAction ❌ Not implemented
AuthorizeDBSecurityGroupIngress ❌ Not implemented
BacktrackDBCluster ❌ Not implemented
CancelExportTask ❌ Not implemented
CopyDBClusterParameterGroup ❌ Not implemented
CopyDBClusterSnapshot ❌ Not implemented
CopyDBParameterGroup ❌ Not implemented
CopyDBSnapshot ❌ Not implemented
CopyOptionGroup ❌ Not implemented
CreateBlueGreenDeployment ❌ Not implemented
CreateCustomDBEngineVersion ❌ Not implemented
CreateDBCluster 🚫 Not supported
CreateDBClusterEndpoint ❌ Not implemented
CreateDBClusterParameterGroup ❌ Not implemented
CreateDBClusterSnapshot ❌ Not implemented
CreateDBInstance ✅ Implemented
CreateDBInstanceReadReplica 🚫 Not supported
CreateDBParameterGroup ✅ Implemented
CreateDBProxy ❌ Not implemented
CreateDBProxyEndpoint ❌ Not implemented
CreateDBSecurityGroup ❌ Not implemented
CreateDBShardGroup ❌ Not implemented
CreateDBSnapshot ✅ Implemented
CreateDBSubnetGroup ✅ Implemented
CreateEventSubscription ❌ Not implemented
CreateGlobalCluster ❌ Not implemented
CreateIntegration ❌ Not implemented
CreateOptionGroup 🚫 Not supported
CreateTenantDatabase ❌ Not implemented
DeleteBlueGreenDeployment ❌ Not implemented
DeleteCustomDBEngineVersion ❌ Not implemented
DeleteDBCluster 🚫 Not supported
DeleteDBClusterAutomatedBackup ❌ Not implemented
DeleteDBClusterEndpoint ❌ Not implemented
DeleteDBClusterParameterGroup ❌ Not implemented
DeleteDBClusterSnapshot ❌ Not implemented
DeleteDBInstance ✅ Implemented
DeleteDBInstanceAutomatedBackup ❌ Not implemented
DeleteDBParameterGroup ✅ Implemented
DeleteDBProxy ❌ Not implemented
DeleteDBProxyEndpoint ❌ Not implemented
DeleteDBSecurityGroup ❌ Not implemented
DeleteDBShardGroup ❌ Not implemented
DeleteDBSnapshot ✅ Implemented
DeleteDBSubnetGroup ✅ Implemented
DeleteEventSubscription ❌ Not implemented
DeleteGlobalCluster ❌ Not implemented
DeleteIntegration ❌ Not implemented
DeleteOptionGroup 🚫 Not supported
DeleteTenantDatabase ❌ Not implemented
DeregisterDBProxyTargets ❌ Not implemented
DescribeAccountAttributes ❌ Not implemented
DescribeBlueGreenDeployments ❌ Not implemented
DescribeCertificates ❌ Not implemented
DescribeDBClusterAutomatedBackups ❌ Not implemented
DescribeDBClusterBacktracks ❌ Not implemented
DescribeDBClusterEndpoints ❌ Not implemented
DescribeDBClusterParameterGroups ❌ Not implemented
DescribeDBClusterParameters ❌ Not implemented
DescribeDBClusterSnapshotAttributes ❌ Not implemented
DescribeDBClusterSnapshots ❌ Not implemented
DescribeDBClusters 🚫 Not supported
DescribeDBEngineVersions ✅ Implemented
DescribeDBInstanceAutomatedBackups ✅ Implemented
DescribeDBInstances ✅ Implemented
DescribeDBLogFiles ❌ Not implemented
DescribeDBParameterGroups ✅ Implemented
DescribeDBParameters ✅ Implemented
DescribeDBProxies ❌ Not implemented
DescribeDBProxyEndpoints ❌ Not implemented
DescribeDBProxyTargetGroups ❌ Not implemented
DescribeDBProxyTargets ❌ Not implemented
DescribeDBRecommendations ❌ Not implemented
DescribeDBSecurityGroups ❌ Not implemented
DescribeDBShardGroups ❌ Not implemented
DescribeDBSnapshotAttributes ❌ Not implemented
DescribeDBSnapshotTenantDatabases ❌ Not implemented
DescribeDBSnapshots ✅ Implemented
DescribeDBSubnetGroups ✅ Implemented
DescribeEngineDefaultClusterParameters ❌ Not implemented
DescribeEngineDefaultParameters ❌ Not implemented
DescribeEventCategories ❌ Not implemented
DescribeEventSubscriptions ❌ Not implemented
DescribeEvents ✅ Implemented
DescribeExportTasks ❌ Not implemented
DescribeGlobalClusters ❌ Not implemented
DescribeIntegrations ❌ Not implemented
DescribeOptionGroupOptions ❌ Not implemented
DescribeOptionGroups 🚫 Not supported
DescribeOrderableDBInstanceOptions ✅ Implemented
DescribePendingMaintenanceActions ❌ Not implemented
DescribeReservedDBInstances ❌ Not implemented
DescribeReservedDBInstancesOfferings ❌ Not implemented
DescribeSourceRegions ❌ Not implemented
DescribeTenantDatabases ❌ Not implemented
DescribeValidDBInstanceModifications ❌ Not implemented
DisableHttpEndpoint ❌ Not implemented
DownloadDBLogFilePortion ❌ Not implemented
EnableHttpEndpoint ❌ Not implemented
FailoverDBCluster 🚫 Not supported
FailoverGlobalCluster ❌ Not implemented
ListTagsForResource ✅ Implemented
ModifyActivityStream ❌ Not implemented
ModifyCertificates ❌ Not implemented
ModifyCurrentDBClusterCapacity ❌ Not implemented
ModifyCustomDBEngineVersion ❌ Not implemented
ModifyDBCluster 🚫 Not supported
ModifyDBClusterEndpoint ❌ Not implemented
ModifyDBClusterParameterGroup ❌ Not implemented
ModifyDBClusterSnapshotAttribute ❌ Not implemented
ModifyDBInstance ✅ Implemented
ModifyDBParameterGroup ✅ Implemented
ModifyDBProxy ❌ Not implemented
ModifyDBProxyEndpoint ❌ Not implemented
ModifyDBProxyTargetGroup ❌ Not implemented
ModifyDBRecommendation ❌ Not implemented
ModifyDBShardGroup ❌ Not implemented
ModifyDBSnapshot ❌ Not implemented
ModifyDBSnapshotAttribute ❌ Not implemented
ModifyDBSubnetGroup ❌ Not implemented
ModifyEventSubscription ❌ Not implemented
ModifyGlobalCluster ❌ Not implemented
ModifyIntegration ❌ Not implemented
ModifyOptionGroup 🚫 Not supported
ModifyTenantDatabase ❌ Not implemented
PromoteReadReplica 🚫 Not supported
PromoteReadReplicaDBCluster ❌ Not implemented
PurchaseReservedDBInstancesOffering ❌ Not implemented
RebootDBCluster ❌ Not implemented
RebootDBInstance ✅ Implemented
RebootDBShardGroup ❌ Not implemented
RegisterDBProxyTargets ❌ Not implemented
RemoveFromGlobalCluster ❌ Not implemented
RemoveRoleFromDBCluster ❌ Not implemented
RemoveRoleFromDBInstance ❌ Not implemented
RemoveSourceIdentifierFromSubscription ❌ Not implemented
RemoveTagsFromResource ✅ Implemented
ResetDBClusterParameterGroup ❌ Not implemented
ResetDBParameterGroup ❌ Not implemented
RestoreDBClusterFromS3 ❌ Not implemented
RestoreDBClusterFromSnapshot ❌ Not implemented
RestoreDBClusterToPointInTime ❌ Not implemented
RestoreDBInstanceFromDBSnapshot ✅ Implemented
RestoreDBInstanceFromS3 ❌ Not implemented
RestoreDBInstanceToPointInTime 🚫 Not supported
RevokeDBSecurityGroupIngress ❌ Not implemented
StartActivityStream ❌ Not implemented
StartDBCluster ❌ Not implemented
StartDBInstance ✅ Implemented
StartDBInstanceAutomatedBackupsReplication ❌ Not implemented
StartExportTask ❌ Not implemented
StopActivityStream ❌ Not implemented
StopDBCluster ❌ Not implemented
StopDBInstance ✅ Implemented
StopDBInstanceAutomatedBackupsReplication ❌ Not implemented
SwitchoverBlueGreenDeployment ❌ Not implemented
SwitchoverGlobalCluster ❌ Not implemented
SwitchoverReadReplica ❌ Not implemented
AcknowledgeDBBootstrap 🔒 Outside the pinned model
GetDBBootstrapConfig 🔒 Outside the pinned model
PollDBCommands 🔒 Outside the pinned model
RegisterDBInstance 🔒 Outside the pinned model
SubmitDBStateChange 🔒 Outside the pinned model