# DatabaseInstanceEngine

A database instance engine.

Provides mapping to DatabaseEngine used for
secret rotation.

- Source: [`aws-rds/lib/instance-engine.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-rds/lib/instance-engine.ts#L3387)
- Type last changed: v2.34.0 · 29 Jul 2022

## Example

```ts
declare const vpc: ec2.Vpc;
const instance = new rds.DatabaseInstance(this, 'Instance', {
  engine: rds.DatabaseInstanceEngine.oracleSe2({ version: rds.OracleEngineVersion.VER_19_0_0_0_2020_04_R1 }),
  // optional, defaults to m5.large
  instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL),
  credentials: rds.Credentials.fromGeneratedSecret('syscdk'), // Optional - will default to 'admin' username and generated password
  vpc,
  vpcSubnets: {
    subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS,
  }
});
```

## Initializer

```ts
new DatabaseInstanceEngine()
```

## Properties

- `MARIADB`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'mariadb' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `mariaDb()` method

- `MYSQL`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'mysql' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `mysql()` method

- `ORACLE_EE`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'oracle-ee' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `oracleEe()` method

- `ORACLE_EE_CDB`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'oracle-ee-cdb' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `oracleEeCdb()` method

- `ORACLE_SE2`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'oracle-se2' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `oracleSe2()` method

- `ORACLE_SE2_CDB`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'oracle-se2-cdb' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `oracleSe2Cdb()` method

- `POSTGRES`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'postgres' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `postgres()` method

- `SQL_SERVER_EE`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'sqlserver-ee' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `sqlServerEe()` method

- `SQL_SERVER_EX`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'sqlserver-ex' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `sqlServerEx()` method

- `SQL_SERVER_SE`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'sqlserver-se' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `sqlServerSe()` method

- `SQL_SERVER_WEB`: [IInstanceEngine](/cdk/api/v2/docs/aws-cdk-lib.aws_rds.IInstanceEngine.html) (static) — The unversioned 'sqlserver-web' instance engine.

  NOTE: using unversioned engines is an availability risk.
    We recommend using versioned engines created using the `sqlServerWeb()` method

## Methods

- `mariaDb(props: MariaDbInstanceEngineProps): IInstanceEngine` (static) — Creates a new MariaDB instance engine.

- `mysql(props: MySqlInstanceEngineProps): IInstanceEngine` (static) — Creates a new MySQL instance engine.

- `oracleEe(props: OracleEeInstanceEngineProps): IInstanceEngine` (static) — Creates a new Oracle Enterprise Edition instance engine.

- `oracleEeCdb(props: OracleEeCdbInstanceEngineProps): IInstanceEngine` (static) — Creates a new Oracle Enterprise Edition (CDB) instance engine.

- `oracleSe2(props: OracleSe2InstanceEngineProps): IInstanceEngine` (static) — Creates a new Oracle Standard Edition 2 instance engine.

- `oracleSe2Cdb(props: OracleSe2CdbInstanceEngineProps): IInstanceEngine` (static) — Creates a new Oracle Standard Edition 2 (CDB) instance engine.

- `postgres(props: PostgresInstanceEngineProps): IInstanceEngine` (static) — Creates a new PostgreSQL instance engine.

- `sqlServerEe(props: SqlServerEeInstanceEngineProps): IInstanceEngine` (static) — Creates a new SQL Server Enterprise Edition instance engine.

- `sqlServerEx(props: SqlServerExInstanceEngineProps): IInstanceEngine` (static) — Creates a new SQL Server Express Edition instance engine.

- `sqlServerSe(props: SqlServerSeInstanceEngineProps): IInstanceEngine` (static) — Creates a new SQL Server Standard Edition instance engine.

- `sqlServerWeb(props: SqlServerWebInstanceEngineProps): IInstanceEngine` (static) — Creates a new SQL Server Web Edition instance engine.
