modifyMigrationProject method

Future<ModifyMigrationProjectResponse> modifyMigrationProject({
  1. required String migrationProjectIdentifier,
  2. String? description,
  3. String? instanceProfileIdentifier,
  4. String? migrationProjectName,
  5. SCApplicationAttributes? schemaConversionApplicationAttributes,
  6. List<DataProviderDescriptorDefinition>? sourceDataProviderDescriptors,
  7. List<DataProviderDescriptorDefinition>? targetDataProviderDescriptors,
  8. String? transformationRules,
})

Modifies the specified migration project using the provided parameters.

Required permissions: dms:UpdateMigrationProject. For more information, see Actions, resources, and condition keys for Database Migration Service.

May throw AccessDeniedFault. May throw FailedDependencyFault. May throw InvalidResourceStateFault. May throw ResourceNotFoundFault. May throw S3AccessDeniedFault. May throw S3ResourceNotFoundFault.

Parameter migrationProjectIdentifier : The identifier of the migration project. Identifiers must begin with a letter and must contain only ASCII letters, digits, and hyphens. They can't end with a hyphen, or contain two consecutive hyphens.

Parameter description : A user-friendly description of the migration project.

Parameter instanceProfileIdentifier : The name or Amazon Resource Name (ARN) for the instance profile.

Parameter migrationProjectName : A user-friendly name for the migration project.

Parameter schemaConversionApplicationAttributes : The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.

Parameter sourceDataProviderDescriptors : Information about the source data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.

Parameter targetDataProviderDescriptors : Information about the target data provider, including the name, ARN, and Amazon Web Services Secrets Manager parameters.

Parameter transformationRules : A JSON string that specifies the transformation rules for the migration project. Transformation rules let you customize how DMS Schema Conversion converts your source database objects, including renaming, adding prefixes or suffixes, and changing data types. For the transformation rule format and examples, see Transformation rules in DMS Schema Conversion.

Implementation

Future<ModifyMigrationProjectResponse> modifyMigrationProject({
  required String migrationProjectIdentifier,
  String? description,
  String? instanceProfileIdentifier,
  String? migrationProjectName,
  SCApplicationAttributes? schemaConversionApplicationAttributes,
  List<DataProviderDescriptorDefinition>? sourceDataProviderDescriptors,
  List<DataProviderDescriptorDefinition>? targetDataProviderDescriptors,
  String? transformationRules,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'AmazonDMSv20160101.ModifyMigrationProject'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'MigrationProjectIdentifier': migrationProjectIdentifier,
      if (description != null) 'Description': description,
      if (instanceProfileIdentifier != null)
        'InstanceProfileIdentifier': instanceProfileIdentifier,
      if (migrationProjectName != null)
        'MigrationProjectName': migrationProjectName,
      if (schemaConversionApplicationAttributes != null)
        'SchemaConversionApplicationAttributes':
            schemaConversionApplicationAttributes,
      if (sourceDataProviderDescriptors != null)
        'SourceDataProviderDescriptors': sourceDataProviderDescriptors,
      if (targetDataProviderDescriptors != null)
        'TargetDataProviderDescriptors': targetDataProviderDescriptors,
      if (transformationRules != null)
        'TransformationRules': transformationRules,
    },
  );

  return ModifyMigrationProjectResponse.fromJson(jsonResponse.body);
}