45 lines
1.7 KiB
TypeScript
45 lines
1.7 KiB
TypeScript
import type { EngineVersion } from './engine-version';
|
|
/**
|
|
* A common interface for database engines.
|
|
* Don't implement this interface directly,
|
|
* instead implement one of the known sub-interfaces,
|
|
* like IClusterEngine and IInstanceEngine.
|
|
*/
|
|
export interface IEngine {
|
|
/** The type of the engine, for example "mysql". */
|
|
readonly engineType: string;
|
|
/**
|
|
* The exact version of the engine that is used,
|
|
* for example "5.1.42".
|
|
*
|
|
* @default - use the default version for this engine type
|
|
*/
|
|
readonly engineVersion?: EngineVersion;
|
|
/**
|
|
* The family to use for ParameterGroups using this engine.
|
|
* This is usually equal to "<engineType><engineMajorVersion>",
|
|
* but can sometimes be a variation of that.
|
|
* You can pass this property when creating new ParameterGroup.
|
|
*
|
|
* @default - the ParameterGroup family is not known
|
|
* (which means the major version of the engine is also not known)
|
|
*/
|
|
readonly parameterGroupFamily?: string;
|
|
/**
|
|
* The family this engine belongs to,
|
|
* like "MYSQL", or "POSTGRESQL".
|
|
* This property is used when creating a Database Proxy.
|
|
* Most engines don't belong to any family
|
|
* (and because of that, you can't create Database Proxies for their Clusters or Instances).
|
|
*
|
|
* @default - the engine doesn't belong to any family
|
|
*/
|
|
readonly engineFamily?: string;
|
|
/**
|
|
* The default name of the master database user if one was not provided explicitly.
|
|
* The global default of 'admin' will be used if this is `undefined`.
|
|
* Note that 'admin' is a reserved word in PostgreSQL and cannot be used.
|
|
*/
|
|
readonly defaultUsername?: string;
|
|
}
|