describeDBEngineVersions method

Future<DBEngineVersionMessage> describeDBEngineVersions({
  1. String? dBParameterGroupFamily,
  2. bool? defaultOnly,
  3. String? engine,
  4. String? engineVersion,
  5. List<Filter>? filters,
  6. bool? listSupportedCharacterSets,
  7. bool? listSupportedTimezones,
  8. String? marker,
  9. int? maxRecords,
})

Returns a list of the available engines.

Parameter dBParameterGroupFamily : The name of a specific parameter group family to return details for.

Constraints:

  • If provided, must match an existing DBParameterGroupFamily.

Parameter defaultOnly : Indicates that only the default version of the specified engine or engine and major version combination is returned.

Parameter engine : The database engine to return.

Parameter engineVersion : The database engine version to return.

Example: 3.6.0

Parameter filters : This parameter is not currently supported.

Parameter listSupportedCharacterSets : If this parameter is specified and the requested engine supports the CharacterSetName parameter for CreateDBInstance, the response includes a list of supported character sets for each engine version.

Parameter listSupportedTimezones : If this parameter is specified and the requested engine supports the TimeZone parameter for CreateDBInstance, the response includes a list of supported time zones for each engine version.

Parameter marker : An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

Parameter maxRecords : The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.

Default: 100

Constraints: Minimum 20, maximum 100.

Implementation

Future<DBEngineVersionMessage> describeDBEngineVersions({
  String? dBParameterGroupFamily,
  bool? defaultOnly,
  String? engine,
  String? engineVersion,
  List<Filter>? filters,
  bool? listSupportedCharacterSets,
  bool? listSupportedTimezones,
  String? marker,
  int? maxRecords,
}) async {
  final $request = <String, String>{
    if (dBParameterGroupFamily != null)
      'DBParameterGroupFamily': dBParameterGroupFamily,
    if (defaultOnly != null) 'DefaultOnly': defaultOnly.toString(),
    if (engine != null) 'Engine': engine,
    if (engineVersion != null) 'EngineVersion': engineVersion,
    if (filters != null)
      if (filters.isEmpty)
        'Filters': ''
      else
        for (var i1 = 0; i1 < filters.length; i1++)
          for (var e3 in filters[i1].toQueryMap().entries)
            'Filters.Filter.${i1 + 1}.${e3.key}': e3.value,
    if (listSupportedCharacterSets != null)
      'ListSupportedCharacterSets': listSupportedCharacterSets.toString(),
    if (listSupportedTimezones != null)
      'ListSupportedTimezones': listSupportedTimezones.toString(),
    if (marker != null) 'Marker': marker,
    if (maxRecords != null) 'MaxRecords': maxRecords.toString(),
  };
  final $result = await _protocol.send(
    $request,
    action: 'DescribeDBEngineVersions',
    version: '2014-10-31',
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    resultWrapper: 'DescribeDBEngineVersionsResult',
  );
  return DBEngineVersionMessage.fromXml($result);
}