createDataProvider method

Future<CreateDataProviderResponse> createDataProvider({
  1. required String engine,
  2. required DataProviderSettings settings,
  3. String? dataProviderName,
  4. String? description,
  5. List<Tag>? tags,
  6. bool? virtual,
})

Creates a data provider using the provided settings. A data provider stores a data store type and location information about your database.

May throw AccessDeniedFault. May throw FailedDependencyFault. May throw ResourceAlreadyExistsFault. May throw ResourceQuotaExceededFault.

Parameter engine : The type of database engine for the data provider. Valid values include "aurora", "aurora-postgresql", "mysql", "oracle", "postgres", "sqlserver", redshift, mariadb, mongodb, db2, db2-zos, docdb, and sybase. A value of "aurora" represents Amazon Aurora MySQL-Compatible Edition.

Parameter settings : The settings in JSON format for a data provider.

Parameter dataProviderName : A user-friendly name for the data provider.

Parameter description : A user-friendly description of the data provider.

Parameter tags : One or more tags to be assigned to the data provider.

Parameter virtual : Indicates whether the data provider is virtual.

Implementation

Future<CreateDataProviderResponse> createDataProvider({
  required String engine,
  required DataProviderSettings settings,
  String? dataProviderName,
  String? description,
  List<Tag>? tags,
  bool? virtual,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AmazonDMSv20160101.CreateDataProvider'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'Engine': engine,
      'Settings': settings,
      if (dataProviderName != null) 'DataProviderName': dataProviderName,
      if (description != null) 'Description': description,
      if (tags != null) 'Tags': tags,
      if (virtual != null) 'Virtual': virtual,
    },
  );

  return CreateDataProviderResponse.fromJson(jsonResponse.body);
}