ModifyMigrationProject
Modifies the specified migration project using the provided parameters.
Required permissions:
dms:UpdateMigrationProject. For more information, see
Actions, resources, and condition keys for AWS Database Migration Service.
Note
The migration project must be closed before you can modify it.
Request Syntax
{
"Description": "string",
"InstanceProfileIdentifier": "string",
"MigrationProjectIdentifier": "string",
"MigrationProjectName": "string",
"SchemaConversionApplicationAttributes": {
"S3BucketPath": "string",
"S3BucketRoleArn": "string"
},
"SourceDataProviderDescriptors": [
{
"DataProviderIdentifier": "string",
"SecretsManagerAccessRoleArn": "string",
"SecretsManagerSecretId": "string"
}
],
"TargetDataProviderDescriptors": [
{
"DataProviderIdentifier": "string",
"SecretsManagerAccessRoleArn": "string",
"SecretsManagerSecretId": "string"
}
],
"TransformationRules": "string"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- Description
-
A user-friendly description of the migration project.
Type: String
Required: No
- InstanceProfileIdentifier
-
The name or Amazon Resource Name (ARN) for the instance profile.
Type: String
Required: No
- 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.
Type: String
Required: Yes
- MigrationProjectName
-
A user-friendly name for the migration project.
Type: String
Required: No
- SchemaConversionApplicationAttributes
-
The schema conversion application attributes, including the Amazon S3 bucket name and Amazon S3 role ARN.
Type: SCApplicationAttributes object
Required: No
- SourceDataProviderDescriptors
-
Information about the source data provider, including the name, ARN, and AWS Secrets Manager parameters.
Type: Array of DataProviderDescriptorDefinition objects
Required: No
- TargetDataProviderDescriptors
-
Information about the target data provider, including the name, ARN, and AWS Secrets Manager parameters.
Type: Array of DataProviderDescriptorDefinition objects
Required: No
- 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.
Note
Homogeneous data migrations do not support transformation rules.
Type: String
Required: No
Response Syntax
{
"MigrationProject": {
"Description": "string",
"InstanceProfileArn": "string",
"InstanceProfileName": "string",
"MigrationProjectArn": "string",
"MigrationProjectCreationTime": "string",
"MigrationProjectName": "string",
"SchemaConversionApplicationAttributes": {
"S3BucketPath": "string",
"S3BucketRoleArn": "string"
},
"SourceDataProviderDescriptors": [
{
"DataProviderArn": "string",
"DataProviderName": "string",
"SecretsManagerAccessRoleArn": "string",
"SecretsManagerSecretId": "string"
}
],
"TargetDataProviderDescriptors": [
{
"DataProviderArn": "string",
"DataProviderName": "string",
"SecretsManagerAccessRoleArn": "string",
"SecretsManagerSecretId": "string"
}
],
"TransformationRules": "string"
}
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- MigrationProject
-
The migration project that was modified.
Type: MigrationProject object
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedFault
-
AWS DMS was denied access to the endpoint. Check that the role is correctly configured.
- message
HTTP Status Code: 400
- FailedDependencyFault
-
A dependency threw an exception.
HTTP Status Code: 400
- InvalidResourceStateFault
-
The resource is in a state that prevents it from being used for database migration.
- message
HTTP Status Code: 400
- ResourceNotFoundFault
-
The resource could not be found.
- message
HTTP Status Code: 400
- S3AccessDeniedFault
-
Insufficient privileges are preventing access to an Amazon S3 object.
HTTP Status Code: 400
- S3ResourceNotFoundFault
-
A specified Amazon S3 bucket, bucket folder, or other object can't be found.
HTTP Status Code: 400
Examples
Modify a migration project
The following example updates the source data provider and description of a migration project.
Sample Request
POST / HTTP/1.1
Host: dms.<region>.<domain>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=<SignedHeaders>, Signature=<Signature>
X-Amz-Date: <Date>
X-Amz-Target: AmazonDMSv20160101.ModifyMigrationProject
{
"MigrationProjectIdentifier": "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS",
"Description": "Updated migration project description",
"SourceDataProviderDescriptors": [
{
"DataProviderIdentifier": "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS"
}
]
}
Sample Response
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
{
"MigrationProject": {
"MigrationProjectName": "example-migration-project",
"MigrationProjectArn": "arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS",
"MigrationProjectCreationTime": "2026-01-09T12:30:00.000000+00:00",
"SourceDataProviderDescriptors": [
{
"SecretsManagerSecretId": "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3",
"SecretsManagerAccessRoleArn": "arn:aws:iam::111122223333:role/example-secrets-manager-role",
"DataProviderName": "example-data-provider",
"DataProviderArn": "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS"
}
],
"TargetDataProviderDescriptors": [
{
"SecretsManagerSecretId": "arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3",
"SecretsManagerAccessRoleArn": "arn:aws:iam::111122223333:role/example-secrets-manager-role",
"DataProviderName": "example-data-provider",
"DataProviderArn": "arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS"
}
],
"InstanceProfileArn": "arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS",
"InstanceProfileName": "example-instance-profile",
"TransformationRules": "{\"rules\":[{\"rule-type\":\"transformation\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-target\":\"schema\",\"rule-action\":\"rename\",\"object-locator\":{\"schema-name\":\"ExampleSchema\"},\"value\":\"TargetSchema\"}]}",
"Description": "Updated migration project description",
"SchemaConversionApplicationAttributes": {
"S3BucketPath": "s3://amzn-s3-demo-bucket",
"S3BucketRoleArn": "arn:aws:iam::111122223333:role/example-s3-access-role"
}
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: