Class LocalStackRdsSupport

java.lang.Object
com.cloudforgeci.localstack.LocalStackRdsSupport
All Implemented Interfaces:
AutoCloseable

public final class LocalStackRdsSupport extends Object implements AutoCloseable
RDS helpers for LocalStack integration-test verification.

Engines match RdsFactory: postgres/postgresql, mysql, mariadb. LocalStack can provision all three; native snapshots are Postgres-only per LocalStack RDS docs.

  • Field Details

    • CLOUDFORGE_ENGINES

      public static final Set<String> CLOUDFORGE_ENGINES
      Engines RdsFactory can provision (CloudForge deployment support).
  • Constructor Details

    • LocalStackRdsSupport

      public LocalStackRdsSupport()
    • LocalStackRdsSupport

      public LocalStackRdsSupport(String endpoint, String region)
  • Method Details

    • listDbInstances

      public List<software.amazon.awssdk.services.rds.model.DBInstance> listDbInstances()
      All DB instances visible to the LocalStack RDS API.
    • resolveInstanceId

      public Optional<String> resolveInstanceId(String... engines)
      Prefer CFC_LOCALSTACK_RDS_INSTANCE, else first available instance whose engine matches one of engines (normalized). Empty engines → any CloudForge engine.
    • resolvePostgresInstanceId

      @Deprecated public Optional<String> resolvePostgresInstanceId()
      Deprecated.
      use resolveInstanceId(String...) with "postgres"
    • findAvailableInstance

      public Optional<software.amazon.awssdk.services.rds.model.DBInstance> findAvailableInstance(String... engines)
    • dbInstanceAvailable

      public boolean dbInstanceAvailable(String dbInstanceIdentifier)
    • supportsNativeSnapshots

      public static boolean supportsNativeSnapshots(String engine)
      LocalStack documents native create/restore snapshots for PostgreSQL only. MySQL and MariaDB instances are provisionable but snapshot APIs are not supported.
    • isCloudForgeEngine

      public static boolean isCloudForgeEngine(String engine)
    • normalizeEngine

      public static String normalizeEngine(String engine)
      Normalize engine id: trim/lower-case; map postgresqlpostgres.
    • createSnapshotAndWait

      public software.amazon.awssdk.services.rds.model.DBSnapshot createSnapshotAndWait(String dbInstanceIdentifier, String snapshotId)
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable