SDK for PHP V3

Client: Aws\DatabaseMigrationService\DatabaseMigrationServiceClient
Service ID: dms
Version: 2016-01-01

This page describes the parameters and results for the operations of the AWS Database Migration Service (2016-01-01), and shows how to use the Aws\DatabaseMigrationService\DatabaseMigrationServiceClient object to call the described operations. This documentation is specific to the 2016-01-01 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

AddTagsToResource ( array $params = [] )
Adds metadata tags to an DMS resource, including replication instance, endpoint, subnet group, and migration task.
ApplyPendingMaintenanceAction ( array $params = [] )
Applies a pending maintenance action to a resource (for example, to a replication instance).
BatchStartRecommendations ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
CancelMetadataModelConversion ( array $params = [] )
Cancels a single metadata model conversion operation that was started with StartMetadataModelConversion.
CancelMetadataModelCreation ( array $params = [] )
Cancels a single metadata model creation operation that was started with StartMetadataModelCreation.
CancelReplicationTaskAssessmentRun ( array $params = [] )
Cancels a single premigration assessment run.
CreateDataMigration ( array $params = [] )
Creates a data migration using the provided settings.
CreateDataProvider ( array $params = [] )
Creates a data provider using the provided settings.
CreateEndpoint ( array $params = [] )
Creates an endpoint using the provided settings.
CreateEventSubscription ( array $params = [] )
Creates an DMS event notification subscription.
CreateFleetAdvisorCollector ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
CreateInstanceProfile ( array $params = [] )
Creates the instance profile using the specified parameters.
CreateMigrationProject ( array $params = [] )
Creates the migration project using the specified parameters.
CreateReplicationConfig ( array $params = [] )
Creates a configuration that you can later provide to configure and start an DMS Serverless replication.
CreateReplicationInstance ( array $params = [] )
Creates the replication instance using the specified parameters.
CreateReplicationSubnetGroup ( array $params = [] )
Creates a replication subnet group given a list of the subnet IDs in a VPC.
CreateReplicationTask ( array $params = [] )
Creates a replication task using the specified parameters.
DeleteCertificate ( array $params = [] )
Deletes the specified certificate.
DeleteConnection ( array $params = [] )
Deletes the connection between a replication instance and an endpoint.
DeleteDataMigration ( array $params = [] )
Deletes the specified data migration.
DeleteDataProvider ( array $params = [] )
Deletes the specified data provider.
DeleteEndpoint ( array $params = [] )
Deletes the specified endpoint.
DeleteEventSubscription ( array $params = [] )
Deletes an DMS event subscription.
DeleteFleetAdvisorCollector ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DeleteFleetAdvisorDatabases ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DeleteInstanceProfile ( array $params = [] )
Deletes the specified instance profile.
DeleteMigrationProject ( array $params = [] )
Deletes the specified migration project.
DeleteReplicationConfig ( array $params = [] )
Deletes an DMS Serverless replication configuration.
DeleteReplicationInstance ( array $params = [] )
Deletes the specified replication instance.
DeleteReplicationSubnetGroup ( array $params = [] )
Deletes a subnet group.
DeleteReplicationTask ( array $params = [] )
Deletes the specified replication task.
DeleteReplicationTaskAssessmentRun ( array $params = [] )
Deletes the record of a single premigration assessment run.
DescribeAccountAttributes ( array $params = [] )
Lists all of the DMS attributes for a customer account.
DescribeApplicableIndividualAssessments ( array $params = [] )
Provides a list of individual assessments that you can specify for a new premigration assessment run, given one or more parameters.
DescribeCertificates ( array $params = [] )
Provides a description of the certificate.
DescribeConnections ( array $params = [] )
Describes the status of the connections that have been made between the replication instance and an endpoint.
DescribeConversionConfiguration ( array $params = [] )
Returns configuration parameters for a schema conversion project.
DescribeDataMigrations ( array $params = [] )
Returns information about data migrations.
DescribeDataProviders ( array $params = [] )
Returns a paginated list of data providers for your account in the current region.
DescribeEndpointSettings ( array $params = [] )
Returns information about the possible endpoint settings available when you create an endpoint for a specific database engine.
DescribeEndpointTypes ( array $params = [] )
Returns information about the type of endpoints available.
DescribeEndpoints ( array $params = [] )
Returns information about the endpoints for your account in the current region.
DescribeEngineVersions ( array $params = [] )
Returns information about the replication instance versions used in the project.
DescribeEventCategories ( array $params = [] )
Lists categories for all event source types, or, if specified, for a specified source type.
DescribeEventSubscriptions ( array $params = [] )
Lists all the event subscriptions for a customer account.
DescribeEvents ( array $params = [] )
Lists events for a given source identifier and source type.
DescribeExtensionPackAssociations ( array $params = [] )
Returns a paginated list of extension pack installation requests for a migration project, initiated by StartExtensionPackAssociation.
DescribeFleetAdvisorCollectors ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DescribeFleetAdvisorDatabases ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DescribeFleetAdvisorLsaAnalysis ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DescribeFleetAdvisorSchemaObjectSummary ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DescribeFleetAdvisorSchemas ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DescribeInstanceProfiles ( array $params = [] )
Returns a paginated list of instance profiles for your account in the current region.
DescribeMetadataModel ( array $params = [] )
Gets detailed information about the specified metadata model, including its definition and corresponding converted objects in the target database if applicable.
DescribeMetadataModelAssessments ( array $params = [] )
Returns a paginated list of metadata model assessment requests for a migration project, initiated by StartMetadataModelAssessment.
DescribeMetadataModelChildren ( array $params = [] )
Gets a list of child metadata models for the specified metadata model in the database hierarchy.
DescribeMetadataModelConversions ( array $params = [] )
Returns a paginated list of metadata model conversion requests for a migration project, initiated by StartMetadataModelConversion.
DescribeMetadataModelCreations ( array $params = [] )
Returns a paginated list of metadata model creation requests for a migration project, initiated by StartMetadataModelCreation.
DescribeMetadataModelExportsAsScript ( array $params = [] )
Returns a paginated list of metadata model export requests for a migration project, initiated by StartMetadataModelExportAsScript.
DescribeMetadataModelExportsToTarget ( array $params = [] )
Returns a paginated list of metadata model export requests for a migration project, initiated by StartMetadataModelExportToTarget.
DescribeMetadataModelImports ( array $params = [] )
Returns a paginated list of metadata model import requests for a migration project, initiated by StartMetadataModelImport.
DescribeMigrationProjects ( array $params = [] )
Returns a paginated list of migration projects for your account in the current region.
DescribeOrderableReplicationInstances ( array $params = [] )
Returns information about the replication instance types that can be created in the specified region.
DescribePendingMaintenanceActions ( array $params = [] )
Returns a list of upcoming maintenance events for replication instances in your account in the current Region.
DescribeRecommendationLimitations ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DescribeRecommendations ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
DescribeRefreshSchemasStatus ( array $params = [] )
Returns the status of the RefreshSchemas operation.
DescribeReplicationConfigs ( array $params = [] )
Returns one or more existing DMS Serverless replication configurations as a list of structures.
DescribeReplicationInstanceTaskLogs ( array $params = [] )
Returns information about the task logs for the specified task.
DescribeReplicationInstances ( array $params = [] )
Returns information about replication instances for your account in the current region.
DescribeReplicationSubnetGroups ( array $params = [] )
Returns information about the replication subnet groups.
DescribeReplicationTableStatistics ( array $params = [] )
Returns table and schema statistics for one or more provisioned replications that use a given DMS Serverless replication configuration.
DescribeReplicationTaskAssessmentResults ( array $params = [] )
Returns the task assessment results from the Amazon S3 bucket that DMS creates in your Amazon Web Services account.
DescribeReplicationTaskAssessmentRuns ( array $params = [] )
Returns a paginated list of premigration assessment runs based on filter settings.
DescribeReplicationTaskIndividualAssessments ( array $params = [] )
Returns a paginated list of individual assessments based on filter settings.
DescribeReplicationTasks ( array $params = [] )
Returns information about replication tasks for your account in the current region.
DescribeReplications ( array $params = [] )
Provides details on replication progress by returning status information for one or more provisioned DMS Serverless replications.
DescribeSchemas ( array $params = [] )
Returns information about the schema for the specified endpoint.
DescribeTableStatistics ( array $params = [] )
Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.
ExportMetadataModelAssessment ( array $params = [] )
Saves a copy of a database migration assessment report to your Amazon S3 bucket.
GetTargetSelectionRules ( array $params = [] )
Converts source selection rules into their target counterparts for schema conversion operations.
ImportCertificate ( array $params = [] )
Uploads the specified certificate.
ListTagsForResource ( array $params = [] )
Lists all metadata tags attached to an DMS resource, including replication instance, endpoint, subnet group, and migration task.
ModifyConversionConfiguration ( array $params = [] )
Modifies the specified schema conversion configuration using the provided parameters.
ModifyDataMigration ( array $params = [] )
Modifies an existing DMS data migration.
ModifyDataProvider ( array $params = [] )
Modifies the specified data provider using the provided settings.
ModifyEndpoint ( array $params = [] )
Modifies the specified endpoint.
ModifyEventSubscription ( array $params = [] )
Modifies an existing DMS event notification subscription.
ModifyInstanceProfile ( array $params = [] )
Modifies the specified instance profile using the provided parameters.
ModifyMigrationProject ( array $params = [] )
Modifies the specified migration project using the provided parameters.
ModifyReplicationConfig ( array $params = [] )
Modifies an existing DMS Serverless replication configuration that you can use to start a replication.
ModifyReplicationInstance ( array $params = [] )
Modifies the replication instance to apply new settings.
ModifyReplicationSubnetGroup ( array $params = [] )
Modifies the settings for the specified replication subnet group.
ModifyReplicationTask ( array $params = [] )
Modifies the specified replication task.
MoveReplicationTask ( array $params = [] )
Moves a replication task from its current replication instance to a different target replication instance using the specified parameters.
RebootReplicationInstance ( array $params = [] )
Reboots a replication instance.
RefreshSchemas ( array $params = [] )
Populates the schema for the specified endpoint.
ReloadReplicationTables ( array $params = [] )
Reloads the target database table with the source data for a given DMS Serverless replication configuration.
ReloadTables ( array $params = [] )
Reloads the target database table with the source data.
RemoveTagsFromResource ( array $params = [] )
Removes metadata tags from an DMS resource, including replication instance, endpoint, subnet group, and migration task.
RunFleetAdvisorLsaAnalysis ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
StartDataMigration ( array $params = [] )
Starts the specified data migration.
StartExtensionPackAssociation ( array $params = [] )
Queues the installation of the extension pack on your target database.
StartMetadataModelAssessment ( array $params = [] )
Queues an assessment of the selected source metadata models (database objects such as tables, views, and procedures) to evaluate conversion complexity to the target database format.
StartMetadataModelConversion ( array $params = [] )
Queues a conversion of the selected source metadata models (database objects such as tables, views, and procedures) to the target database format.
StartMetadataModelCreation ( array $params = [] )
Queues the creation of a metadata model in the source metadata tree.
StartMetadataModelExportAsScript ( array $params = [] )
Queues an export of metadata models (database objects such as tables, views, and procedures) as a data definition language (DDL) script.
StartMetadataModelExportToTarget ( array $params = [] )
Queues an export of the selected converted metadata models (database objects such as tables, views, and procedures) to your target database.
StartMetadataModelImport ( array $params = [] )
Queues an import of metadata models (database objects such as tables, views, and procedures) from your data provider into the metadata tree.
StartRecommendations ( array $params = [] )
End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;.
StartReplication ( array $params = [] )
For a given DMS Serverless replication configuration, DMS connects to the source endpoint and collects the metadata to analyze the replication workload.
StartReplicationTask ( array $params = [] )
Starts the replication task.
StartReplicationTaskAssessment ( array $params = [] )
Starts the replication task assessment for unsupported data types in the source database.
StartReplicationTaskAssessmentRun ( array $params = [] )
Starts a new premigration assessment run for one or more individual assessments of a migration task.
StopDataMigration ( array $params = [] )
Stops the specified data migration.
StopReplication ( array $params = [] )
For a given DMS Serverless replication configuration, DMS stops any and all ongoing DMS Serverless replications.
StopReplicationTask ( array $params = [] )
Stops the replication task.
TestConnection ( array $params = [] )
Tests the connection between the replication instance and the endpoint.
UpdateSubscriptionsToEventBridge ( array $params = [] )
Migrates 10 active and enabled Amazon SNS subscriptions at a time and converts them to corresponding Amazon EventBridge rules.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

DescribeApplicableIndividualAssessments
DescribeCertificates
DescribeConnections
DescribeDataMigrations
DescribeDataProviders
DescribeEndpointSettings
DescribeEndpointTypes
DescribeEndpoints
DescribeEngineVersions
DescribeEventSubscriptions
DescribeEvents
DescribeExtensionPackAssociations
DescribeFleetAdvisorCollectors
DescribeFleetAdvisorDatabases
DescribeFleetAdvisorLsaAnalysis
DescribeFleetAdvisorSchemaObjectSummary
DescribeFleetAdvisorSchemas
DescribeInstanceProfiles
DescribeMetadataModelAssessments
DescribeMetadataModelChildren
DescribeMetadataModelConversions
DescribeMetadataModelCreations
DescribeMetadataModelExportsAsScript
DescribeMetadataModelExportsToTarget
DescribeMetadataModelImports
DescribeMigrationProjects
DescribeOrderableReplicationInstances
DescribePendingMaintenanceActions
DescribeRecommendationLimitations
DescribeRecommendations
DescribeReplicationConfigs
DescribeReplicationInstanceTaskLogs
DescribeReplicationInstances
DescribeReplicationSubnetGroups
DescribeReplicationTableStatistics
DescribeReplicationTaskAssessmentResults
DescribeReplicationTaskAssessmentRuns
DescribeReplicationTaskIndividualAssessments
DescribeReplicationTasks
DescribeReplications
DescribeSchemas
DescribeTableStatistics

Waiters

Waiters allow you to poll a resource until it enters into a desired state. A waiter has a name used to describe what it does, and is associated with an API operation. When creating a waiter, you can provide the API operation parameters associated with the corresponding operation. Waiters can be accessed using the getWaiter($waiterName, $operationParameters) method of a client object. This client supports the following waiters:

Waiter name API Operation Delay Max Attempts
TestConnectionSucceeds DescribeConnections 5 60
EndpointDeleted DescribeEndpoints 5 60
ReplicationInstanceAvailable DescribeReplicationInstances 60 60
ReplicationInstanceDeleted DescribeReplicationInstances 15 60
ReplicationTaskReady DescribeReplicationTasks 15 60
ReplicationTaskStopped DescribeReplicationTasks 15 60
ReplicationTaskRunning DescribeReplicationTasks 15 60
ReplicationTaskDeleted DescribeReplicationTasks 15 60
MetadataModelImported DescribeMetadataModelImports 60 30
MetadataModelAssessed DescribeMetadataModelAssessments 30 360
MetadataModelConverted DescribeMetadataModelConversions 30 240
MetadataModelExportedAsScript DescribeMetadataModelExportsAsScript 20 90
MetadataModelExportedToTarget DescribeMetadataModelExportsToTarget 20 90
MetadataModelCreated DescribeMetadataModelCreations 15 40
ExtensionPackAssociated DescribeExtensionPackAssociations 10 60
MetadataModelConversionCancelled DescribeMetadataModelConversions 10 180
MetadataModelCreationCancelled DescribeMetadataModelCreations 10 180

Operations

AddTagsToResource

$result = $client->addTagsToResource([/* ... */]);
$promise = $client->addTagsToResourceAsync([/* ... */]);

Adds metadata tags to an DMS resource, including replication instance, endpoint, subnet group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with DMS resources, or used in a Condition statement in an IAM policy for DMS. For more information, see Tag data type description.

Parameter Syntax

$result = $client->addTagsToResource([
    'ResourceArn' => '<string>', // REQUIRED
    'Tags' => [ // REQUIRED
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

Identifies the DMS resource to which tags should be added. The value for this parameter is an Amazon Resource Name (ARN).

For DMS, you can tag a replication instance, an endpoint, or a replication task.

Tags
Required: Yes
Type: Array of Tag structures

One or more tags to be assigned to the resource.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

Examples

Example 1: Add tags to resource

Adds metadata tags to an AWS DMS resource, including replication instance, endpoint, security group, and migration task. These tags can also be used with cost allocation reporting to track cost associated with AWS DMS resources, or used in a Condition statement in an IAM policy for AWS DMS.

$result = $client->addTagsToResource([
    'ResourceArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E', // Required. Use the ARN of the resource you want to tag.
    'Tags' => [
        [
            'Key' => 'Acount',
            'Value' => '1633456',
        ],
    ], // Required. Use the Key/Value pair format.
]);

Result syntax:

[
]

ApplyPendingMaintenanceAction

$result = $client->applyPendingMaintenanceAction([/* ... */]);
$promise = $client->applyPendingMaintenanceActionAsync([/* ... */]);

Applies a pending maintenance action to a resource (for example, to a replication instance).

Parameter Syntax

$result = $client->applyPendingMaintenanceAction([
    'ApplyAction' => '<string>', // REQUIRED
    'OptInType' => '<string>', // REQUIRED
    'ReplicationInstanceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ApplyAction
Required: Yes
Type: string

The pending maintenance action to apply to this resource.

Valid values: os-upgrade, system-update, db-upgrade, os-patch

OptInType
Required: Yes
Type: string

A value that specifies the type of opt-in request, or undoes an opt-in request. You can't undo an opt-in request of type immediate.

Valid values:

  • immediate - Apply the maintenance action immediately.

  • next-maintenance - Apply the maintenance action during the next maintenance window for the resource.

  • undo-opt-in - Cancel any existing next-maintenance opt-in requests.

ReplicationInstanceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the DMS resource that the pending maintenance action applies to.

Result Syntax

[
    'ResourcePendingMaintenanceActions' => [
        'PendingMaintenanceActionDetails' => [
            [
                'Action' => '<string>',
                'AutoAppliedAfterDate' => <DateTime>,
                'CurrentApplyDate' => <DateTime>,
                'Description' => '<string>',
                'ForcedApplyDate' => <DateTime>,
                'OptInStatus' => '<string>',
            ],
            // ...
        ],
        'ResourceIdentifier' => '<string>',
    ],
]

Result Details

Members
ResourcePendingMaintenanceActions

The DMS resource that the pending maintenance action will be applied to.

Errors

ResourceNotFoundFault:

The resource could not be found.

BatchStartRecommendations

$result = $client->batchStartRecommendations([/* ... */]);
$promise = $client->batchStartRecommendationsAsync([/* ... */]);

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Starts the analysis of up to 20 source databases to recommend target engines for each source database. This is a batch version of StartRecommendations.

The result of analysis of each source database is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200.

Parameter Syntax

$result = $client->batchStartRecommendations([
    'Data' => [
        [
            'DatabaseId' => '<string>', // REQUIRED
            'Settings' => [ // REQUIRED
                'InstanceSizingType' => '<string>', // REQUIRED
                'WorkloadType' => '<string>', // REQUIRED
            ],
        ],
        // ...
    ],
]);

Parameter Details

Members
Data
Type: Array of StartRecommendationsRequestEntry structures

Provides information about source databases to analyze. After this analysis, Fleet Advisor recommends target engines for each source database.

Result Syntax

[
    'ErrorEntries' => [
        [
            'Code' => '<string>',
            'DatabaseId' => '<string>',
            'Message' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
ErrorEntries
Type: Array of BatchStartRecommendationsErrorEntry structures

A list with error details about the analysis of each source database.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

CancelMetadataModelConversion

$result = $client->cancelMetadataModelConversion([/* ... */]);
$promise = $client->cancelMetadataModelConversionAsync([/* ... */]);

Cancels a single metadata model conversion operation that was started with StartMetadataModelConversion.

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

Parameter Syntax

$result = $client->cancelMetadataModelConversion([
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
    'RequestIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

The migration project name or Amazon Resource Name (ARN).

RequestIdentifier
Required: Yes
Type: string

The identifier for the metadata model conversion operation to cancel. This operation was initiated by StartMetadataModelConversion.

Result Syntax

[
    'Request' => [
        'Error' => [
            'defaultErrorDetails' => [
                'Message' => '<string>',
            ],
        ],
        'ExportSqlDetails' => [
            'ObjectURL' => '<string>',
            'S3ObjectKey' => '<string>',
        ],
        'MigrationProjectArn' => '<string>',
        'Progress' => [
            'ProcessedObject' => [
                'EndpointType' => '<string>',
                'Name' => '<string>',
                'Type' => '<string>',
            ],
            'ProgressPercent' => <float>,
            'ProgressStep' => '<string>',
            'TotalObjects' => <integer>,
        ],
        'RequestIdentifier' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
Request
Type: SchemaConversionRequest structure

The metadata model conversion request.

DMS never populates the ExportSqlDetails field for this operation.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

Examples

Example 1: Cancel a metadata model conversion

The following example cancels a metadata model conversion operation.

$result = $client->cancelMetadataModelConversion([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
    'RequestIdentifier' => 'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
]);

Result syntax:

[
    'Request' => [
        'MigrationProjectArn' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'RequestIdentifier' => 'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
        'Status' => 'CANCELING',
    ],
]

CancelMetadataModelCreation

$result = $client->cancelMetadataModelCreation([/* ... */]);
$promise = $client->cancelMetadataModelCreationAsync([/* ... */]);

Cancels a single metadata model creation operation that was started with StartMetadataModelCreation.

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

Parameter Syntax

$result = $client->cancelMetadataModelCreation([
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
    'RequestIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

The migration project name or Amazon Resource Name (ARN).

RequestIdentifier
Required: Yes
Type: string

The identifier for the metadata model creation operation to cancel. This operation was initiated by StartMetadataModelCreation.

Result Syntax

[
    'Request' => [
        'Error' => [
            'defaultErrorDetails' => [
                'Message' => '<string>',
            ],
        ],
        'ExportSqlDetails' => [
            'ObjectURL' => '<string>',
            'S3ObjectKey' => '<string>',
        ],
        'MigrationProjectArn' => '<string>',
        'Progress' => [
            'ProcessedObject' => [
                'EndpointType' => '<string>',
                'Name' => '<string>',
                'Type' => '<string>',
            ],
            'ProgressPercent' => <float>,
            'ProgressStep' => '<string>',
            'TotalObjects' => <integer>,
        ],
        'RequestIdentifier' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
Request
Type: SchemaConversionRequest structure

The metadata model creation request.

DMS never populates the ExportSqlDetails field for this operation.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

Examples

Example 1: Cancel a metadata model creation

The following example cancels a metadata model creation operation.

$result = $client->cancelMetadataModelCreation([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
    'RequestIdentifier' => 'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
]);

Result syntax:

[
    'Request' => [
        'MigrationProjectArn' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'RequestIdentifier' => 'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
        'Status' => 'CANCELING',
    ],
]

CancelReplicationTaskAssessmentRun

$result = $client->cancelReplicationTaskAssessmentRun([/* ... */]);
$promise = $client->cancelReplicationTaskAssessmentRunAsync([/* ... */]);

Cancels a single premigration assessment run.

This operation prevents any individual assessments from running if they haven't started running. It also attempts to cancel any individual assessments that are currently running.

Parameter Syntax

$result = $client->cancelReplicationTaskAssessmentRun([
    'ReplicationTaskAssessmentRunArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ReplicationTaskAssessmentRunArn
Required: Yes
Type: string

Amazon Resource Name (ARN) of the premigration assessment run to be canceled.

Result Syntax

[
    'ReplicationTaskAssessmentRun' => [
        'AssessmentProgress' => [
            'IndividualAssessmentCompletedCount' => <integer>,
            'IndividualAssessmentCount' => <integer>,
        ],
        'AssessmentRunName' => '<string>',
        'IsLatestTaskAssessmentRun' => true || false,
        'LastFailureMessage' => '<string>',
        'ReplicationTaskArn' => '<string>',
        'ReplicationTaskAssessmentRunArn' => '<string>',
        'ReplicationTaskAssessmentRunCreationDate' => <DateTime>,
        'ResultEncryptionMode' => '<string>',
        'ResultKmsKeyArn' => '<string>',
        'ResultLocationBucket' => '<string>',
        'ResultLocationFolder' => '<string>',
        'ResultStatistic' => [
            'Cancelled' => <integer>,
            'Error' => <integer>,
            'Failed' => <integer>,
            'Passed' => <integer>,
            'Skipped' => <integer>,
            'Warning' => <integer>,
        ],
        'ServiceAccessRoleArn' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
ReplicationTaskAssessmentRun

The ReplicationTaskAssessmentRun object for the canceled assessment run.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

CreateDataMigration

$result = $client->createDataMigration([/* ... */]);
$promise = $client->createDataMigrationAsync([/* ... */]);

Creates a data migration using the provided settings.

Parameter Syntax

$result = $client->createDataMigration([
    'DataMigrationName' => '<string>',
    'DataMigrationType' => 'full-load|cdc|full-load-and-cdc', // REQUIRED
    'EnableCloudwatchLogs' => true || false,
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
    'NumberOfJobs' => <integer>,
    'SelectionRules' => '<string>',
    'ServiceAccessRoleArn' => '<string>', // REQUIRED
    'SourceDataSettings' => [
        [
            'CDCStartPosition' => '<string>',
            'CDCStartTime' => <integer || string || DateTime>,
            'CDCStopTime' => <integer || string || DateTime>,
            'SlotName' => '<string>',
        ],
        // ...
    ],
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetDataSettings' => [
        [
            'TablePreparationMode' => 'drop-tables-on-target|truncate|do-nothing',
        ],
        // ...
    ],
]);

Parameter Details

Members
DataMigrationName
Type: string

A user-friendly name for the data migration. Data migration names have the following constraints:

  • Must begin with a letter, and can only contain ASCII letters, digits, and hyphens.

  • Can't end with a hyphen or contain two consecutive hyphens.

  • Length must be from 1 to 255 characters.

DataMigrationType
Required: Yes
Type: string

Specifies if the data migration is full-load only, change data capture (CDC) only, or full-load and CDC.

EnableCloudwatchLogs
Type: boolean

Specifies whether to enable CloudWatch logs for the data migration.

MigrationProjectIdentifier
Required: Yes
Type: string

An identifier for the migration project.

NumberOfJobs
Type: int

The number of parallel jobs that trigger parallel threads to unload the tables from the source, and then load them to the target.

SelectionRules
Type: string

An optional JSON string specifying what tables, views, and schemas to include or exclude from the migration.

ServiceAccessRoleArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) for the service access role that you want to use to create the data migration.

SourceDataSettings
Type: Array of SourceDataSetting structures

Specifies information about the source data provider.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the data migration.

TargetDataSettings
Type: Array of TargetDataSetting structures

Specifies information about the target data provider.

Result Syntax

[
    'DataMigration' => [
        'DataMigrationArn' => '<string>',
        'DataMigrationCidrBlocks' => ['<string>', ...],
        'DataMigrationCreateTime' => <DateTime>,
        'DataMigrationEndTime' => <DateTime>,
        'DataMigrationName' => '<string>',
        'DataMigrationSettings' => [
            'CloudwatchLogsEnabled' => true || false,
            'NumberOfJobs' => <integer>,
            'SelectionRules' => '<string>',
        ],
        'DataMigrationStartTime' => <DateTime>,
        'DataMigrationStatistics' => [
            'CDCLatency' => <integer>,
            'ElapsedTimeMillis' => <integer>,
            'FullLoadPercentage' => <integer>,
            'StartTime' => <DateTime>,
            'StopTime' => <DateTime>,
            'TablesErrored' => <integer>,
            'TablesLoaded' => <integer>,
            'TablesLoading' => <integer>,
            'TablesQueued' => <integer>,
        ],
        'DataMigrationStatus' => '<string>',
        'DataMigrationType' => 'full-load|cdc|full-load-and-cdc',
        'LastFailureMessage' => '<string>',
        'MigrationProjectArn' => '<string>',
        'PublicIpAddresses' => ['<string>', ...],
        'ServiceAccessRoleArn' => '<string>',
        'SourceDataSettings' => [
            [
                'CDCStartPosition' => '<string>',
                'CDCStartTime' => <DateTime>,
                'CDCStopTime' => <DateTime>,
                'SlotName' => '<string>',
            ],
            // ...
        ],
        'StopReason' => '<string>',
        'TargetDataSettings' => [
            [
                'TablePreparationMode' => 'drop-tables-on-target|truncate|do-nothing',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DataMigration
Type: DataMigration structure

Information about the created data migration.

Errors

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

ResourceNotFoundFault:

The resource could not be found.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

InvalidOperationFault:

The action or operation requested isn't valid.

FailedDependencyFault:

A dependency threw an exception.

CreateDataProvider

$result = $client->createDataProvider([/* ... */]);
$promise = $client->createDataProviderAsync([/* ... */]);

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

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

Parameter Syntax

$result = $client->createDataProvider([
    'DataProviderName' => '<string>',
    'Description' => '<string>',
    'Engine' => '<string>', // REQUIRED
    'Settings' => [ // REQUIRED
        'DocDbSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'IbmDb2LuwSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'EncryptionAlgorithm' => <integer>,
            'Port' => <integer>,
            'S3AccessRoleArn' => '<string>',
            'S3Path' => '<string>',
            'SecurityMechanism' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'IbmDb2zOsSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'S3AccessRoleArn' => '<string>',
            'S3Path' => '<string>',
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'MariaDbSettings' => [
            'CertificateArn' => '<string>',
            'Port' => <integer>,
            'S3AccessRoleArn' => '<string>',
            'S3Path' => '<string>',
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'MicrosoftSqlServerSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'S3AccessRoleArn' => '<string>',
            'S3Path' => '<string>',
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'MongoDbSettings' => [
            'AuthMechanism' => 'default|mongodb_cr|scram_sha_1',
            'AuthSource' => '<string>',
            'AuthType' => 'no|password',
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'MySqlSettings' => [
            'CertificateArn' => '<string>',
            'Port' => <integer>,
            'S3AccessRoleArn' => '<string>',
            'S3Path' => '<string>',
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'OracleSettings' => [
            'AsmServer' => '<string>',
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'S3AccessRoleArn' => '<string>',
            'S3Path' => '<string>',
            'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
            'SecretsManagerOracleAsmSecretId' => '<string>',
            'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
            'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'PostgreSqlSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'S3AccessRoleArn' => '<string>',
            'S3Path' => '<string>',
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'RedshiftSettings' => [
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'S3AccessRoleArn' => '<string>',
            'S3Path' => '<string>',
            'ServerName' => '<string>',
        ],
        'SybaseAseSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'EncryptPassword' => true || false,
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
    ],
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'Virtual' => true || false,
]);

Parameter Details

Members
DataProviderName
Type: string

A user-friendly name for the data provider.

Description
Type: string

A user-friendly description of the data provider.

Engine
Required: Yes
Type: string

The type of database engine for the data provider.

Valid values: aurora, aurora-postgresql, db2, db2-zos, docdb, mariadb, mongodb, mysql, oracle, postgres, redshift, sqlserver, and sybase. A value of aurora represents Amazon Aurora MySQL-Compatible Edition.

Settings
Required: Yes
Type: DataProviderSettings structure

The settings in JSON format for a data provider.

Tags
Type: Array of Tag structures

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

Virtual
Type: boolean

Indicates whether the data provider is virtual.

Result Syntax

[
    'DataProvider' => [
        'DataProviderArn' => '<string>',
        'DataProviderCreationTime' => <DateTime>,
        'DataProviderName' => '<string>',
        'Description' => '<string>',
        'Engine' => '<string>',
        'Settings' => [
            'DocDbSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'IbmDb2LuwSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'EncryptionAlgorithm' => <integer>,
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'SecurityMechanism' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'IbmDb2zOsSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MariaDbSettings' => [
                'CertificateArn' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MicrosoftSqlServerSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MongoDbSettings' => [
                'AuthMechanism' => 'default|mongodb_cr|scram_sha_1',
                'AuthSource' => '<string>',
                'AuthType' => 'no|password',
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MySqlSettings' => [
                'CertificateArn' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'OracleSettings' => [
                'AsmServer' => '<string>',
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
                'SecretsManagerOracleAsmSecretId' => '<string>',
                'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
                'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'PostgreSqlSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'RedshiftSettings' => [
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
            ],
            'SybaseAseSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'EncryptPassword' => true || false,
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
        ],
        'Virtual' => true || false,
    ],
]

Result Details

Members
DataProvider
Type: DataProvider structure

The data provider that was created.

Errors

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

FailedDependencyFault:

A dependency threw an exception.

Examples

Example 1: Create a Microsoft SQL Server data provider

The following example creates a Microsoft SQL Server data provider.

$result = $client->createDataProvider([
    'DataProviderName' => 'example-data-provider',
    'Description' => 'Example data provider for documentation',
    'Engine' => 'sqlserver',
    'Settings' => [
        'MicrosoftSqlServerSettings' => [
            'CertificateArn' => 'arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS',
            'DatabaseName' => 'ExampleDatabase',
            'Port' => 1433,
            'ServerName' => 'example-source-server.us-east-1.rds.amazonaws.com',
            'SslMode' => 'verify-full',
        ],
    ],
]);

Result syntax:

[
    'DataProvider' => [
        'DataProviderArn' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'DataProviderCreationTime' => ,
        'DataProviderName' => 'example-data-provider',
        'Description' => 'Example data provider for documentation',
        'Engine' => 'sqlserver',
        'Settings' => [
            'MicrosoftSqlServerSettings' => [
                'CertificateArn' => 'arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS',
                'DatabaseName' => 'ExampleDatabase',
                'Port' => 1433,
                'ServerName' => 'example-source-server.us-east-1.rds.amazonaws.com',
                'SslMode' => 'verify-full',
            ],
        ],
    ],
]

CreateEndpoint

$result = $client->createEndpoint([/* ... */]);
$promise = $client->createEndpointAsync([/* ... */]);

Creates an endpoint using the provided settings.

For a MySQL source or target endpoint, don't explicitly specify the database using the DatabaseName request parameter on the CreateEndpoint API call. Specifying DatabaseName when you create a MySQL endpoint replicates all the task tables to this single database. For MySQL endpoints, you specify the database only when you specify the schema in the table-mapping rules of the DMS task.

Parameter Syntax

$result = $client->createEndpoint([
    'CertificateArn' => '<string>',
    'DatabaseName' => '<string>',
    'DmsTransferSettings' => [
        'BucketName' => '<string>',
        'ServiceAccessRoleArn' => '<string>',
    ],
    'DocDbSettings' => [
        'DatabaseName' => '<string>',
        'DocsToInvestigate' => <integer>,
        'ExtractDocId' => true || false,
        'KmsKeyId' => '<string>',
        'NestingLevel' => 'none|one',
        'Password' => '<string>',
        'Port' => <integer>,
        'ReplicateShardCollections' => true || false,
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'UseUpdateLookUp' => true || false,
        'Username' => '<string>',
    ],
    'DynamoDbSettings' => [
        'ServiceAccessRoleArn' => '<string>', // REQUIRED
    ],
    'ElasticsearchSettings' => [
        'EndpointUri' => '<string>', // REQUIRED
        'ErrorRetryDuration' => <integer>,
        'FullLoadErrorPercentage' => <integer>,
        'ServiceAccessRoleArn' => '<string>', // REQUIRED
        'UseNewMappingType' => true || false,
    ],
    'EndpointIdentifier' => '<string>', // REQUIRED
    'EndpointType' => 'source|target', // REQUIRED
    'EngineName' => '<string>', // REQUIRED
    'ExternalTableDefinition' => '<string>',
    'ExtraConnectionAttributes' => '<string>',
    'GcpMySQLSettings' => [
        'AfterConnectScript' => '<string>',
        'CleanSourceMetadataOnMismatch' => true || false,
        'DatabaseName' => '<string>',
        'EventsPollInterval' => <integer>,
        'MaxFileSize' => <integer>,
        'ParallelLoadThreads' => <integer>,
        'Password' => '<string>',
        'Port' => <integer>,
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'ServerTimezone' => '<string>',
        'TargetDbType' => 'specific-database|multiple-databases',
        'Username' => '<string>',
    ],
    'IBMDb2Settings' => [
        'CurrentLsn' => '<string>',
        'DatabaseName' => '<string>',
        'KeepCsvFiles' => true || false,
        'LoadTimeout' => <integer>,
        'MaxFileSize' => <integer>,
        'MaxKBytesPerRead' => <integer>,
        'Password' => '<string>',
        'Port' => <integer>,
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'SetDataCaptureChanges' => true || false,
        'Username' => '<string>',
        'WriteBufferSize' => <integer>,
    ],
    'KafkaSettings' => [
        'Broker' => '<string>',
        'IncludeControlDetails' => true || false,
        'IncludeNullAndEmpty' => true || false,
        'IncludePartitionValue' => true || false,
        'IncludeTableAlterOperations' => true || false,
        'IncludeTransactionDetails' => true || false,
        'MessageFormat' => 'json|json-unformatted',
        'MessageMaxBytes' => <integer>,
        'NoHexPrefix' => true || false,
        'PartitionIncludeSchemaTable' => true || false,
        'SaslMechanism' => 'scram-sha-512|plain',
        'SaslPassword' => '<string>',
        'SaslUsername' => '<string>',
        'SecurityProtocol' => 'plaintext|ssl-authentication|ssl-encryption|sasl-ssl',
        'SslCaCertificateArn' => '<string>',
        'SslClientCertificateArn' => '<string>',
        'SslClientKeyArn' => '<string>',
        'SslClientKeyPassword' => '<string>',
        'SslEndpointIdentificationAlgorithm' => 'none|https',
        'Topic' => '<string>',
        'UseLargeIntegerValue' => true || false,
    ],
    'KinesisSettings' => [
        'IncludeControlDetails' => true || false,
        'IncludeNullAndEmpty' => true || false,
        'IncludePartitionValue' => true || false,
        'IncludeTableAlterOperations' => true || false,
        'IncludeTransactionDetails' => true || false,
        'MessageFormat' => 'json|json-unformatted',
        'NoHexPrefix' => true || false,
        'PartitionIncludeSchemaTable' => true || false,
        'ServiceAccessRoleArn' => '<string>',
        'StreamArn' => '<string>',
        'UseLargeIntegerValue' => true || false,
    ],
    'KmsKeyId' => '<string>',
    'MicrosoftSQLServerSettings' => [
        'AuthenticationMethod' => 'password|kerberos',
        'BcpPacketSize' => <integer>,
        'ControlTablesFileGroup' => '<string>',
        'DatabaseName' => '<string>',
        'ForceLobLookup' => true || false,
        'Password' => '<string>',
        'Port' => <integer>,
        'QuerySingleAlwaysOnNode' => true || false,
        'ReadBackupOnly' => true || false,
        'SafeguardPolicy' => 'rely-on-sql-server-replication-agent|exclusive-automatic-truncation|shared-automatic-truncation',
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'TlogAccessMode' => 'BackupOnly|PreferBackup|PreferTlog|TlogOnly',
        'TrimSpaceInChar' => true || false,
        'UseBcpFullLoad' => true || false,
        'UseThirdPartyBackupDevice' => true || false,
        'Username' => '<string>',
    ],
    'MongoDbSettings' => [
        'AuthMechanism' => 'default|mongodb_cr|scram_sha_1',
        'AuthSource' => '<string>',
        'AuthType' => 'no|password',
        'DatabaseName' => '<string>',
        'DocsToInvestigate' => '<string>',
        'ExtractDocId' => '<string>',
        'KmsKeyId' => '<string>',
        'NestingLevel' => 'none|one',
        'Password' => '<string>',
        'Port' => <integer>,
        'ReplicateShardCollections' => true || false,
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'UseUpdateLookUp' => true || false,
        'Username' => '<string>',
    ],
    'MySQLSettings' => [
        'AfterConnectScript' => '<string>',
        'AuthenticationMethod' => 'password|iam',
        'CleanSourceMetadataOnMismatch' => true || false,
        'DatabaseName' => '<string>',
        'EventsPollInterval' => <integer>,
        'ExecuteTimeout' => <integer>,
        'MaxFileSize' => <integer>,
        'ParallelLoadThreads' => <integer>,
        'Password' => '<string>',
        'Port' => <integer>,
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'ServerTimezone' => '<string>',
        'ServiceAccessRoleArn' => '<string>',
        'TargetDbType' => 'specific-database|multiple-databases',
        'Username' => '<string>',
    ],
    'NeptuneSettings' => [
        'ErrorRetryDuration' => <integer>,
        'IamAuthEnabled' => true || false,
        'MaxFileSize' => <integer>,
        'MaxRetryCount' => <integer>,
        'S3BucketFolder' => '<string>', // REQUIRED
        'S3BucketName' => '<string>', // REQUIRED
        'ServiceAccessRoleArn' => '<string>',
    ],
    'OracleSettings' => [
        'AccessAlternateDirectly' => true || false,
        'AddSupplementalLogging' => true || false,
        'AdditionalArchivedLogDestId' => <integer>,
        'AllowSelectNestedTables' => true || false,
        'ArchivedLogDestId' => <integer>,
        'ArchivedLogsOnly' => true || false,
        'AsmPassword' => '<string>',
        'AsmServer' => '<string>',
        'AsmUser' => '<string>',
        'AuthenticationMethod' => 'password|kerberos',
        'CharLengthSemantics' => 'default|char|byte',
        'ConvertTimestampWithZoneToUTC' => true || false,
        'DatabaseName' => '<string>',
        'DirectPathNoLog' => true || false,
        'DirectPathParallelLoad' => true || false,
        'EnableHomogenousTablespace' => true || false,
        'ExtraArchivedLogDestIds' => [<integer>, ...],
        'FailTasksOnLobTruncation' => true || false,
        'NumberDatatypeScale' => <integer>,
        'OpenTransactionWindow' => <integer>,
        'OraclePathPrefix' => '<string>',
        'ParallelAsmReadThreads' => <integer>,
        'Password' => '<string>',
        'Port' => <integer>,
        'ReadAheadBlocks' => <integer>,
        'ReadTableSpaceName' => true || false,
        'ReplacePathPrefix' => true || false,
        'RetryInterval' => <integer>,
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
        'SecretsManagerOracleAsmSecretId' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'SecurityDbEncryption' => '<string>',
        'SecurityDbEncryptionName' => '<string>',
        'ServerName' => '<string>',
        'SpatialDataOptionToGeoJsonFunctionName' => '<string>',
        'StandbyDelayTime' => <integer>,
        'TrimSpaceInChar' => true || false,
        'UseAlternateFolderForOnline' => true || false,
        'UseBFile' => true || false,
        'UseDirectPathFullLoad' => true || false,
        'UseLogminerReader' => true || false,
        'UsePathPrefix' => '<string>',
        'Username' => '<string>',
    ],
    'Password' => '<string>',
    'Port' => <integer>,
    'PostgreSQLSettings' => [
        'AfterConnectScript' => '<string>',
        'AuthenticationMethod' => 'password|iam',
        'BabelfishDatabaseName' => '<string>',
        'CaptureDdls' => true || false,
        'DatabaseMode' => 'default|babelfish',
        'DatabaseName' => '<string>',
        'DdlArtifactsSchema' => '<string>',
        'DisableUnicodeSourceFilter' => true || false,
        'ExecuteTimeout' => <integer>,
        'FailTasksOnLobTruncation' => true || false,
        'HeartbeatEnable' => true || false,
        'HeartbeatFrequency' => <integer>,
        'HeartbeatSchema' => '<string>',
        'MapBooleanAsBoolean' => true || false,
        'MapJsonbAsClob' => true || false,
        'MapLongVarcharAs' => 'wstring|clob|nclob',
        'MaxFileSize' => <integer>,
        'Password' => '<string>',
        'PluginName' => 'no-preference|test-decoding|pglogical',
        'Port' => <integer>,
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'ServiceAccessRoleArn' => '<string>',
        'SlotName' => '<string>',
        'TrimSpaceInChar' => true || false,
        'Username' => '<string>',
    ],
    'RedisSettings' => [
        'AuthPassword' => '<string>',
        'AuthType' => 'none|auth-role|auth-token',
        'AuthUserName' => '<string>',
        'Port' => <integer>, // REQUIRED
        'ServerName' => '<string>', // REQUIRED
        'SslCaCertificateArn' => '<string>',
        'SslSecurityProtocol' => 'plaintext|ssl-encryption',
    ],
    'RedshiftSettings' => [
        'AcceptAnyDate' => true || false,
        'AfterConnectScript' => '<string>',
        'BucketFolder' => '<string>',
        'BucketName' => '<string>',
        'CaseSensitiveNames' => true || false,
        'CompUpdate' => true || false,
        'ConnectionTimeout' => <integer>,
        'DatabaseName' => '<string>',
        'DateFormat' => '<string>',
        'EmptyAsNull' => true || false,
        'EncryptionMode' => 'sse-s3|sse-kms',
        'ExplicitIds' => true || false,
        'FileTransferUploadStreams' => <integer>,
        'LoadTimeout' => <integer>,
        'MapBooleanAsBoolean' => true || false,
        'MaxFileSize' => <integer>,
        'Password' => '<string>',
        'Port' => <integer>,
        'RemoveQuotes' => true || false,
        'ReplaceChars' => '<string>',
        'ReplaceInvalidChars' => '<string>',
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'ServerSideEncryptionKmsKeyId' => '<string>',
        'ServiceAccessRoleArn' => '<string>',
        'TimeFormat' => '<string>',
        'TrimBlanks' => true || false,
        'TruncateColumns' => true || false,
        'Username' => '<string>',
        'WriteBufferSize' => <integer>,
    ],
    'ResourceIdentifier' => '<string>',
    'S3Settings' => [
        'AddColumnName' => true || false,
        'AddTrailingPaddingCharacter' => true || false,
        'BucketFolder' => '<string>',
        'BucketName' => '<string>',
        'CannedAclForObjects' => 'none|private|public-read|public-read-write|authenticated-read|aws-exec-read|bucket-owner-read|bucket-owner-full-control',
        'CdcInsertsAndUpdates' => true || false,
        'CdcInsertsOnly' => true || false,
        'CdcMaxBatchInterval' => <integer>,
        'CdcMinFileSize' => <integer>,
        'CdcPath' => '<string>',
        'CompressionType' => 'none|gzip',
        'CsvDelimiter' => '<string>',
        'CsvNoSupValue' => '<string>',
        'CsvNullValue' => '<string>',
        'CsvRowDelimiter' => '<string>',
        'DataFormat' => 'csv|parquet',
        'DataPageSize' => <integer>,
        'DatePartitionDelimiter' => 'SLASH|UNDERSCORE|DASH|NONE',
        'DatePartitionEnabled' => true || false,
        'DatePartitionSequence' => 'YYYYMMDD|YYYYMMDDHH|YYYYMM|MMYYYYDD|DDMMYYYY',
        'DatePartitionTimezone' => '<string>',
        'DictPageSizeLimit' => <integer>,
        'EnableStatistics' => true || false,
        'EncodingType' => 'plain|plain-dictionary|rle-dictionary',
        'EncryptionMode' => 'sse-s3|sse-kms',
        'ExpectedBucketOwner' => '<string>',
        'ExternalTableDefinition' => '<string>',
        'GlueCatalogGeneration' => true || false,
        'IgnoreHeaderRows' => <integer>,
        'IncludeOpForFullLoad' => true || false,
        'MaxFileSize' => <integer>,
        'ParquetTimestampInMillisecond' => true || false,
        'ParquetVersion' => 'parquet-1-0|parquet-2-0',
        'PreserveTransactions' => true || false,
        'Rfc4180' => true || false,
        'RowGroupLength' => <integer>,
        'ServerSideEncryptionKmsKeyId' => '<string>',
        'ServiceAccessRoleArn' => '<string>',
        'TimestampColumnName' => '<string>',
        'UseCsvNoSupValue' => true || false,
        'UseTaskStartTimeForFullLoadTimestamp' => true || false,
    ],
    'ServerName' => '<string>',
    'ServiceAccessRoleArn' => '<string>',
    'SslMode' => 'none|require|verify-ca|verify-full',
    'SybaseSettings' => [
        'DatabaseName' => '<string>',
        'Password' => '<string>',
        'Port' => <integer>,
        'SecretsManagerAccessRoleArn' => '<string>',
        'SecretsManagerSecretId' => '<string>',
        'ServerName' => '<string>',
        'Username' => '<string>',
    ],
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TimestreamSettings' => [
        'CdcInsertsAndUpdates' => true || false,
        'DatabaseName' => '<string>', // REQUIRED
        'EnableMagneticStoreWrites' => true || false,
        'MagneticDuration' => <integer>, // REQUIRED
        'MemoryDuration' => <integer>, // REQUIRED
    ],
    'Username' => '<string>',
]);

Parameter Details

Members
CertificateArn
Type: string

The Amazon Resource Name (ARN) for the certificate.

DatabaseName
Type: string

The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName. To migrate to a specific database, use this setting and targetDbType.

DmsTransferSettings
Type: DmsTransferSettings structure

The settings in JSON format for the DMS transfer type of source endpoint.

Possible settings include the following:

  • ServiceAccessRoleArn - The Amazon Resource Name (ARN) used by the service access IAM role. The role must allow the iam:PassRole action.

  • BucketName - The name of the S3 bucket to use.

Shorthand syntax for these settings is as follows: ServiceAccessRoleArn=string,BucketName=string

JSON syntax for these settings is as follows: { "ServiceAccessRoleArn": "string", "BucketName": "string", }

DocDbSettings
Type: DocDbSettings structure

Provides information that defines a DocumentDB endpoint.

DynamoDbSettings
Type: DynamoDbSettings structure

Settings in JSON format for the target Amazon DynamoDB endpoint. For information about other available settings, see Using Object Mapping to Migrate Data to DynamoDB in the Database Migration Service User Guide.

ElasticsearchSettings
Type: ElasticsearchSettings structure

Settings in JSON format for the target OpenSearch endpoint. For more information about the available settings, see Extra Connection Attributes When Using OpenSearch as a Target for DMS in the Database Migration Service User Guide.

EndpointIdentifier
Required: Yes
Type: string

The database endpoint identifier. 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.

EndpointType
Required: Yes
Type: string

The type of endpoint. Valid values are source and target.

EngineName
Required: Yes
Type: string

The type of engine for the endpoint. Valid values, depending on the EndpointType value, include "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", "opensearch", "redshift", "s3", "db2", "db2-zos", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis", "kafka", "elasticsearch", "docdb", "sqlserver", "neptune", "babelfish", redshift-serverless, aurora-serverless, aurora-postgresql-serverless, gcp-mysql, azure-sql-managed-instance, redis, dms-transfer.

ExternalTableDefinition
Type: string

The external table definition.

ExtraConnectionAttributes
Type: string

Additional attributes associated with the connection. Each attribute is specified as a name-value pair associated by an equal sign (=). Multiple attributes are separated by a semicolon (;) with no additional white space. For information on the attributes available for connecting your source or target endpoint, see Working with DMS Endpoints in the Database Migration Service User Guide.

GcpMySQLSettings
Type: GcpMySQLSettings structure

Settings in JSON format for the source GCP MySQL endpoint.

IBMDb2Settings
Type: IBMDb2Settings structure

Settings in JSON format for the source IBM Db2 LUW endpoint. For information about other available settings, see Extra connection attributes when using Db2 LUW as a source for DMS in the Database Migration Service User Guide.

KafkaSettings
Type: KafkaSettings structure

Settings in JSON format for the target Apache Kafka endpoint. For more information about the available settings, see Using object mapping to migrate data to a Kafka topic in the Database Migration Service User Guide.

KinesisSettings
Type: KinesisSettings structure

Settings in JSON format for the target endpoint for Amazon Kinesis Data Streams. For more information about the available settings, see Using object mapping to migrate data to a Kinesis data stream in the Database Migration Service User Guide.

KmsKeyId
Type: string

An KMS key identifier that is used to encrypt the connection parameters for the endpoint.

If you don't specify a value for the KmsKeyId parameter, then DMS uses your default encryption key.

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.

MicrosoftSQLServerSettings
Type: MicrosoftSQLServerSettings structure

Settings in JSON format for the source and target Microsoft SQL Server endpoint. For information about other available settings, see Extra connection attributes when using SQL Server as a source for DMS and Extra connection attributes when using SQL Server as a target for DMS in the Database Migration Service User Guide.

MongoDbSettings
Type: MongoDbSettings structure

Settings in JSON format for the source MongoDB endpoint. For more information about the available settings, see Endpoint configuration settings when using MongoDB as a source for Database Migration Service in the Database Migration Service User Guide.

MySQLSettings
Type: MySQLSettings structure

Settings in JSON format for the source and target MySQL endpoint. For information about other available settings, see Extra connection attributes when using MySQL as a source for DMS and Extra connection attributes when using a MySQL-compatible database as a target for DMS in the Database Migration Service User Guide.

NeptuneSettings
Type: NeptuneSettings structure

Settings in JSON format for the target Amazon Neptune endpoint. For more information about the available settings, see Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target in the Database Migration Service User Guide.

OracleSettings
Type: OracleSettings structure

Settings in JSON format for the source and target Oracle endpoint. For information about other available settings, see Extra connection attributes when using Oracle as a source for DMS and Extra connection attributes when using Oracle as a target for DMS in the Database Migration Service User Guide.

Password
Type: string

The password to be used to log in to the endpoint database.

Port
Type: int

The port used by the endpoint database.

PostgreSQLSettings
Type: PostgreSQLSettings structure

Settings in JSON format for the source and target PostgreSQL endpoint. For information about other available settings, see Extra connection attributes when using PostgreSQL as a source for DMS and Extra connection attributes when using PostgreSQL as a target for DMS in the Database Migration Service User Guide.

RedisSettings
Type: RedisSettings structure

Settings in JSON format for the target Redis endpoint.

RedshiftSettings
Type: RedshiftSettings structure

Provides information that defines an Amazon Redshift endpoint.

ResourceIdentifier
Type: string

A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

S3Settings
Type: S3Settings structure

Settings in JSON format for the target Amazon S3 endpoint. For more information about the available settings, see Extra Connection Attributes When Using Amazon S3 as a Target for DMS in the Database Migration Service User Guide.

ServerName
Type: string

The name of the server where the endpoint database resides.

ServiceAccessRoleArn
Type: string

The Amazon Resource Name (ARN) for the service access role that you want to use to create the endpoint. The role must allow the iam:PassRole action.

SslMode
Type: string

The Secure Sockets Layer (SSL) mode to use for the SSL connection. The default is none

SybaseSettings
Type: SybaseSettings structure

Settings in JSON format for the source and target SAP ASE endpoint. For information about other available settings, see Extra connection attributes when using SAP ASE as a source for DMS and Extra connection attributes when using SAP ASE as a target for DMS in the Database Migration Service User Guide.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the endpoint.

TimestreamSettings
Type: TimestreamSettings structure

Settings in JSON format for the target Amazon Timestream endpoint.

Username
Type: string

The user name to be used to log in to the endpoint database.

Result Syntax

[
    'Endpoint' => [
        'CertificateArn' => '<string>',
        'DatabaseName' => '<string>',
        'DmsTransferSettings' => [
            'BucketName' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
        ],
        'DocDbSettings' => [
            'DatabaseName' => '<string>',
            'DocsToInvestigate' => <integer>,
            'ExtractDocId' => true || false,
            'KmsKeyId' => '<string>',
            'NestingLevel' => 'none|one',
            'Password' => '<string>',
            'Port' => <integer>,
            'ReplicateShardCollections' => true || false,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'UseUpdateLookUp' => true || false,
            'Username' => '<string>',
        ],
        'DynamoDbSettings' => [
            'ServiceAccessRoleArn' => '<string>',
        ],
        'ElasticsearchSettings' => [
            'EndpointUri' => '<string>',
            'ErrorRetryDuration' => <integer>,
            'FullLoadErrorPercentage' => <integer>,
            'ServiceAccessRoleArn' => '<string>',
            'UseNewMappingType' => true || false,
        ],
        'EndpointArn' => '<string>',
        'EndpointIdentifier' => '<string>',
        'EndpointType' => 'source|target',
        'EngineDisplayName' => '<string>',
        'EngineName' => '<string>',
        'ExternalId' => '<string>',
        'ExternalTableDefinition' => '<string>',
        'ExtraConnectionAttributes' => '<string>',
        'GcpMySQLSettings' => [
            'AfterConnectScript' => '<string>',
            'CleanSourceMetadataOnMismatch' => true || false,
            'DatabaseName' => '<string>',
            'EventsPollInterval' => <integer>,
            'MaxFileSize' => <integer>,
            'ParallelLoadThreads' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'ServerTimezone' => '<string>',
            'TargetDbType' => 'specific-database|multiple-databases',
            'Username' => '<string>',
        ],
        'IBMDb2Settings' => [
            'CurrentLsn' => '<string>',
            'DatabaseName' => '<string>',
            'KeepCsvFiles' => true || false,
            'LoadTimeout' => <integer>,
            'MaxFileSize' => <integer>,
            'MaxKBytesPerRead' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'SetDataCaptureChanges' => true || false,
            'Username' => '<string>',
            'WriteBufferSize' => <integer>,
        ],
        'IsReadOnly' => true || false,
        'KafkaSettings' => [
            'Broker' => '<string>',
            'IncludeControlDetails' => true || false,
            'IncludeNullAndEmpty' => true || false,
            'IncludePartitionValue' => true || false,
            'IncludeTableAlterOperations' => true || false,
            'IncludeTransactionDetails' => true || false,
            'MessageFormat' => 'json|json-unformatted',
            'MessageMaxBytes' => <integer>,
            'NoHexPrefix' => true || false,
            'PartitionIncludeSchemaTable' => true || false,
            'SaslMechanism' => 'scram-sha-512|plain',
            'SaslPassword' => '<string>',
            'SaslUsername' => '<string>',
            'SecurityProtocol' => 'plaintext|ssl-authentication|ssl-encryption|sasl-ssl',
            'SslCaCertificateArn' => '<string>',
            'SslClientCertificateArn' => '<string>',
            'SslClientKeyArn' => '<string>',
            'SslClientKeyPassword' => '<string>',
            'SslEndpointIdentificationAlgorithm' => 'none|https',
            'Topic' => '<string>',
            'UseLargeIntegerValue' => true || false,
        ],
        'KinesisSettings' => [
            'IncludeControlDetails' => true || false,
            'IncludeNullAndEmpty' => true || false,
            'IncludePartitionValue' => true || false,
            'IncludeTableAlterOperations' => true || false,
            'IncludeTransactionDetails' => true || false,
            'MessageFormat' => 'json|json-unformatted',
            'NoHexPrefix' => true || false,
            'PartitionIncludeSchemaTable' => true || false,
            'ServiceAccessRoleArn' => '<string>',
            'StreamArn' => '<string>',
            'UseLargeIntegerValue' => true || false,
        ],
        'KmsKeyId' => '<string>',
        'LakehouseSettings' => [
            'Arn' => '<string>',
        ],
        'MicrosoftSQLServerSettings' => [
            'AuthenticationMethod' => 'password|kerberos',
            'BcpPacketSize' => <integer>,
            'ControlTablesFileGroup' => '<string>',
            'DatabaseName' => '<string>',
            'ForceLobLookup' => true || false,
            'Password' => '<string>',
            'Port' => <integer>,
            'QuerySingleAlwaysOnNode' => true || false,
            'ReadBackupOnly' => true || false,
            'SafeguardPolicy' => 'rely-on-sql-server-replication-agent|exclusive-automatic-truncation|shared-automatic-truncation',
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'TlogAccessMode' => 'BackupOnly|PreferBackup|PreferTlog|TlogOnly',
            'TrimSpaceInChar' => true || false,
            'UseBcpFullLoad' => true || false,
            'UseThirdPartyBackupDevice' => true || false,
            'Username' => '<string>',
        ],
        'MongoDbSettings' => [
            'AuthMechanism' => 'default|mongodb_cr|scram_sha_1',
            'AuthSource' => '<string>',
            'AuthType' => 'no|password',
            'DatabaseName' => '<string>',
            'DocsToInvestigate' => '<string>',
            'ExtractDocId' => '<string>',
            'KmsKeyId' => '<string>',
            'NestingLevel' => 'none|one',
            'Password' => '<string>',
            'Port' => <integer>,
            'ReplicateShardCollections' => true || false,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'UseUpdateLookUp' => true || false,
            'Username' => '<string>',
        ],
        'MySQLSettings' => [
            'AfterConnectScript' => '<string>',
            'AuthenticationMethod' => 'password|iam',
            'CleanSourceMetadataOnMismatch' => true || false,
            'DatabaseName' => '<string>',
            'EventsPollInterval' => <integer>,
            'ExecuteTimeout' => <integer>,
            'MaxFileSize' => <integer>,
            'ParallelLoadThreads' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'ServerTimezone' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'TargetDbType' => 'specific-database|multiple-databases',
            'Username' => '<string>',
        ],
        'NeptuneSettings' => [
            'ErrorRetryDuration' => <integer>,
            'IamAuthEnabled' => true || false,
            'MaxFileSize' => <integer>,
            'MaxRetryCount' => <integer>,
            'S3BucketFolder' => '<string>',
            'S3BucketName' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
        ],
        'OracleSettings' => [
            'AccessAlternateDirectly' => true || false,
            'AddSupplementalLogging' => true || false,
            'AdditionalArchivedLogDestId' => <integer>,
            'AllowSelectNestedTables' => true || false,
            'ArchivedLogDestId' => <integer>,
            'ArchivedLogsOnly' => true || false,
            'AsmPassword' => '<string>',
            'AsmServer' => '<string>',
            'AsmUser' => '<string>',
            'AuthenticationMethod' => 'password|kerberos',
            'CharLengthSemantics' => 'default|char|byte',
            'ConvertTimestampWithZoneToUTC' => true || false,
            'DatabaseName' => '<string>',
            'DirectPathNoLog' => true || false,
            'DirectPathParallelLoad' => true || false,
            'EnableHomogenousTablespace' => true || false,
            'ExtraArchivedLogDestIds' => [<integer>, ...],
            'FailTasksOnLobTruncation' => true || false,
            'NumberDatatypeScale' => <integer>,
            'OpenTransactionWindow' => <integer>,
            'OraclePathPrefix' => '<string>',
            'ParallelAsmReadThreads' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'ReadAheadBlocks' => <integer>,
            'ReadTableSpaceName' => true || false,
            'ReplacePathPrefix' => true || false,
            'RetryInterval' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
            'SecretsManagerOracleAsmSecretId' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'SecurityDbEncryption' => '<string>',
            'SecurityDbEncryptionName' => '<string>',
            'ServerName' => '<string>',
            'SpatialDataOptionToGeoJsonFunctionName' => '<string>',
            'StandbyDelayTime' => <integer>,
            'TrimSpaceInChar' => true || false,
            'UseAlternateFolderForOnline' => true || false,
            'UseBFile' => true || false,
            'UseDirectPathFullLoad' => true || false,
            'UseLogminerReader' => true || false,
            'UsePathPrefix' => '<string>',
            'Username' => '<string>',
        ],
        'Port' => <integer>,
        'PostgreSQLSettings' => [
            'AfterConnectScript' => '<string>',
            'AuthenticationMethod' => 'password|iam',
            'BabelfishDatabaseName' => '<string>',
            'CaptureDdls' => true || false,
            'DatabaseMode' => 'default|babelfish',
            'DatabaseName' => '<string>',
            'DdlArtifactsSchema' => '<string>',
            'DisableUnicodeSourceFilter' => true || false,
            'ExecuteTimeout' => <integer>,
            'FailTasksOnLobTruncation' => true || false,
            'HeartbeatEnable' => true || false,
            'HeartbeatFrequency' => <integer>,
            'HeartbeatSchema' => '<string>',
            'MapBooleanAsBoolean' => true || false,
            'MapJsonbAsClob' => true || false,
            'MapLongVarcharAs' => 'wstring|clob|nclob',
            'MaxFileSize' => <integer>,
            'Password' => '<string>',
            'PluginName' => 'no-preference|test-decoding|pglogical',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'SlotName' => '<string>',
            'TrimSpaceInChar' => true || false,
            'Username' => '<string>',
        ],
        'RedisSettings' => [
            'AuthPassword' => '<string>',
            'AuthType' => 'none|auth-role|auth-token',
            'AuthUserName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslCaCertificateArn' => '<string>',
            'SslSecurityProtocol' => 'plaintext|ssl-encryption',
        ],
        'RedshiftSettings' => [
            'AcceptAnyDate' => true || false,
            'AfterConnectScript' => '<string>',
            'BucketFolder' => '<string>',
            'BucketName' => '<string>',
            'CaseSensitiveNames' => true || false,
            'CompUpdate' => true || false,
            'ConnectionTimeout' => <integer>,
            'DatabaseName' => '<string>',
            'DateFormat' => '<string>',
            'EmptyAsNull' => true || false,
            'EncryptionMode' => 'sse-s3|sse-kms',
            'ExplicitIds' => true || false,
            'FileTransferUploadStreams' => <integer>,
            'LoadTimeout' => <integer>,
            'MapBooleanAsBoolean' => true || false,
            'MaxFileSize' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'RemoveQuotes' => true || false,
            'ReplaceChars' => '<string>',
            'ReplaceInvalidChars' => '<string>',
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'ServerSideEncryptionKmsKeyId' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'TimeFormat' => '<string>',
            'TrimBlanks' => true || false,
            'TruncateColumns' => true || false,
            'Username' => '<string>',
            'WriteBufferSize' => <integer>,
        ],
        'S3Settings' => [
            'AddColumnName' => true || false,
            'AddTrailingPaddingCharacter' => true || false,
            'BucketFolder' => '<string>',
            'BucketName' => '<string>',
            'CannedAclForObjects' => 'none|private|public-read|public-read-write|authenticated-read|aws-exec-read|bucket-owner-read|bucket-owner-full-control',
            'CdcInsertsAndUpdates' => true || false,
            'CdcInsertsOnly' => true || false,
            'CdcMaxBatchInterval' => <integer>,
            'CdcMinFileSize' => <integer>,
            'CdcPath' => '<string>',
            'CompressionType' => 'none|gzip',
            'CsvDelimiter' => '<string>',
            'CsvNoSupValue' => '<string>',
            'CsvNullValue' => '<string>',
            'CsvRowDelimiter' => '<string>',
            'DataFormat' => 'csv|parquet',
            'DataPageSize' => <integer>,
            'DatePartitionDelimiter' => 'SLASH|UNDERSCORE|DASH|NONE',
            'DatePartitionEnabled' => true || false,
            'DatePartitionSequence' => 'YYYYMMDD|YYYYMMDDHH|YYYYMM|MMYYYYDD|DDMMYYYY',
            'DatePartitionTimezone' => '<string>',
            'DictPageSizeLimit' => <integer>,
            'EnableStatistics' => true || false,
            'EncodingType' => 'plain|plain-dictionary|rle-dictionary',
            'EncryptionMode' => 'sse-s3|sse-kms',
            'ExpectedBucketOwner' => '<string>',
            'ExternalTableDefinition' => '<string>',
            'GlueCatalogGeneration' => true || false,
            'IgnoreHeaderRows' => <integer>,
            'IncludeOpForFullLoad' => true || false,
            'MaxFileSize' => <integer>,
            'ParquetTimestampInMillisecond' => true || false,
            'ParquetVersion' => 'parquet-1-0|parquet-2-0',
            'PreserveTransactions' => true || false,
            'Rfc4180' => true || false,
            'RowGroupLength' => <integer>,
            'ServerSideEncryptionKmsKeyId' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'TimestampColumnName' => '<string>',
            'UseCsvNoSupValue' => true || false,
            'UseTaskStartTimeForFullLoadTimestamp' => true || false,
        ],
        'ServerName' => '<string>',
        'ServiceAccessRoleArn' => '<string>',
        'SslMode' => 'none|require|verify-ca|verify-full',
        'Status' => '<string>',
        'SybaseSettings' => [
            'DatabaseName' => '<string>',
            'Password' => '<string>',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'Username' => '<string>',
        ],
        'TimestreamSettings' => [
            'CdcInsertsAndUpdates' => true || false,
            'DatabaseName' => '<string>',
            'EnableMagneticStoreWrites' => true || false,
            'MagneticDuration' => <integer>,
            'MemoryDuration' => <integer>,
        ],
        'Username' => '<string>',
    ],
]

Result Details

Members
Endpoint
Type: Endpoint structure

The endpoint that was created.

Errors

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

ResourceNotFoundFault:

The resource could not be found.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

S3AccessDeniedFault:

Insufficient privileges are preventing access to an Amazon S3 object.

Examples

Example 1: Create endpoint

Creates an endpoint using the provided settings.

$result = $client->createEndpoint([
    'CertificateArn' => '',
    'DatabaseName' => 'testdb',
    'EndpointIdentifier' => 'test-endpoint-1',
    'EndpointType' => 'source',
    'EngineName' => 'mysql',
    'ExtraConnectionAttributes' => '',
    'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd',
    'Password' => 'pasword',
    'Port' => 3306,
    'ServerName' => 'mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com',
    'SslMode' => 'require',
    'Tags' => [
        [
            'Key' => 'Acount',
            'Value' => '143327655',
        ],
    ],
    'Username' => 'username',
]);

Result syntax:

[
    'Endpoint' => [
        'EndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM',
        'EndpointIdentifier' => 'test-endpoint-1',
        'EndpointType' => 'source',
        'EngineName' => 'mysql',
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd',
        'Port' => 3306,
        'ServerName' => 'mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com',
        'Status' => 'active',
        'Username' => 'username',
    ],
]

CreateEventSubscription

$result = $client->createEventSubscription([/* ... */]);
$promise = $client->createEventSubscriptionAsync([/* ... */]);

Creates an DMS event notification subscription.

You can specify the type of source (SourceType) you want to be notified of, provide a list of DMS source IDs (SourceIds) that triggers the events, and provide a list of event categories (EventCategories) for events you want to be notified of. If you specify both the SourceType and SourceIds, such as SourceType = replication-instance and SourceIdentifier = my-replinstance, you will be notified of all the replication instance events for the specified source. If you specify a SourceType but don't specify a SourceIdentifier, you receive notice of the events for that source type for all your DMS sources. If you don't specify either SourceType nor SourceIdentifier, you will be notified of events generated from all DMS sources belonging to your customer account.

For more information about DMS events, see Working with Events and Notifications in the Database Migration Service User Guide.

Parameter Syntax

$result = $client->createEventSubscription([
    'Enabled' => true || false,
    'EventCategories' => ['<string>', ...],
    'SnsTopicArn' => '<string>', // REQUIRED
    'SourceIds' => ['<string>', ...],
    'SourceType' => '<string>',
    'SubscriptionName' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
Enabled
Type: boolean

A Boolean value; set to true to activate the subscription, or set to false to create the subscription but not activate it.

EventCategories
Type: Array of strings

A list of event categories for a source type that you want to subscribe to. For more information, see Working with Events and Notifications in the Database Migration Service User Guide.

SnsTopicArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the Amazon SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.

SourceIds
Type: Array of strings

A list of identifiers for which DMS provides notification events.

If you don't specify a value, notifications are provided for all sources.

If you specify multiple values, they must be of the same type. For example, if you specify a database instance ID, then all of the other values must be database instance IDs.

SourceType
Type: string

The type of DMS resource that generates the events. For example, if you want to be notified of events generated by a replication instance, you set this parameter to replication-instance. If this value isn't specified, all events are returned.

Valid values: replication-instance | replication-task

SubscriptionName
Required: Yes
Type: string

The name of the DMS event notification subscription. This name must be less than 255 characters.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the event subscription.

Result Syntax

[
    'EventSubscription' => [
        'CustSubscriptionId' => '<string>',
        'CustomerAwsId' => '<string>',
        'Enabled' => true || false,
        'EventCategoriesList' => ['<string>', ...],
        'SnsTopicArn' => '<string>',
        'SourceIdsList' => ['<string>', ...],
        'SourceType' => '<string>',
        'Status' => '<string>',
        'SubscriptionCreationTime' => '<string>',
    ],
]

Result Details

Members
EventSubscription
Type: EventSubscription structure

The event subscription that was created.

Errors

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

ResourceNotFoundFault:

The resource could not be found.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

SNSInvalidTopicFault:

The SNS topic is invalid.

SNSNoAuthorizationFault:

You are not authorized for the SNS subscription.

KMSAccessDeniedFault:

The ciphertext references a key that doesn't exist or that the DMS account doesn't have access to.

KMSDisabledFault:

The specified KMS key isn't enabled.

KMSInvalidStateFault:

The state of the specified KMS resource isn't valid for this request.

KMSNotFoundFault:

The specified KMS entity or resource can't be found.

KMSThrottlingFault:

This request triggered KMS request throttling.

CreateFleetAdvisorCollector

$result = $client->createFleetAdvisorCollector([/* ... */]);
$promise = $client->createFleetAdvisorCollectorAsync([/* ... */]);

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Creates a Fleet Advisor collector using the specified parameters.

Parameter Syntax

$result = $client->createFleetAdvisorCollector([
    'CollectorName' => '<string>', // REQUIRED
    'Description' => '<string>',
    'S3BucketName' => '<string>', // REQUIRED
    'ServiceAccessRoleArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
CollectorName
Required: Yes
Type: string

The name of your Fleet Advisor collector (for example, sample-collector).

Description
Type: string

A summary description of your Fleet Advisor collector.

S3BucketName
Required: Yes
Type: string

The Amazon S3 bucket that the Fleet Advisor collector uses to store inventory metadata.

ServiceAccessRoleArn
Required: Yes
Type: string

The IAM role that grants permissions to access the specified Amazon S3 bucket.

Result Syntax

[
    'CollectorName' => '<string>',
    'CollectorReferencedId' => '<string>',
    'Description' => '<string>',
    'S3BucketName' => '<string>',
    'ServiceAccessRoleArn' => '<string>',
]

Result Details

Members
CollectorName
Type: string

The name of the new Fleet Advisor collector.

CollectorReferencedId
Type: string

The unique ID of the new Fleet Advisor collector, for example: 22fda70c-40d5-4acf-b233-a495bd8eb7f5

Description
Type: string

A summary description of the Fleet Advisor collector.

S3BucketName
Type: string

The Amazon S3 bucket that the collector uses to store inventory metadata.

ServiceAccessRoleArn
Type: string

The IAM role that grants permissions to access the specified Amazon S3 bucket.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

S3AccessDeniedFault:

Insufficient privileges are preventing access to an Amazon S3 object.

S3ResourceNotFoundFault:

A specified Amazon S3 bucket, bucket folder, or other object can't be found.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

CreateInstanceProfile

$result = $client->createInstanceProfile([/* ... */]);
$promise = $client->createInstanceProfileAsync([/* ... */]);

Creates the instance profile using the specified parameters.

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

Parameter Syntax

$result = $client->createInstanceProfile([
    'AvailabilityZone' => '<string>',
    'Description' => '<string>',
    'InstanceProfileName' => '<string>',
    'KmsKeyArn' => '<string>',
    'NetworkType' => '<string>',
    'PubliclyAccessible' => true || false,
    'SubnetGroupIdentifier' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'VpcSecurityGroups' => ['<string>', ...],
]);

Parameter Details

Members
AvailabilityZone
Type: string

The Availability Zone where the instance profile will be created. The default value is a random, system-chosen Availability Zone in the Amazon Web Services Region where your data provider is created, for examplem us-east-1d.

Description
Type: string

A user-friendly description of the instance profile.

InstanceProfileName
Type: string

A user-friendly name for the instance profile.

KmsKeyArn
Type: string

The Amazon Resource Name (ARN) of the KMS key that is used to encrypt the connection parameters for the instance profile.

If you don't specify a value for the KmsKeyArn parameter, then DMS uses an Amazon Web Services owned encryption key to encrypt your resources.

NetworkType
Type: string

Specifies the network type for the instance profile. A value of IPV4 represents an instance profile with IPv4 network type and only supports IPv4 addressing. A value of IPV6 represents an instance profile with IPv6 network type and only supports IPv6 addressing. A value of DUAL represents an instance profile with dual network type that supports IPv4 and IPv6 addressing.

PubliclyAccessible
Type: boolean

Specifies the accessibility options for the instance profile. A value of true represents an instance profile with a public IP address. A value of false represents an instance profile with a private IP address. The default value is true.

SubnetGroupIdentifier
Type: string

A subnet group to associate with the instance profile.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the instance profile.

VpcSecurityGroups
Type: Array of strings

Specifies the VPC security group names to be used with the instance profile. The VPC security group must work with the VPC containing the instance profile.

Result Syntax

[
    'InstanceProfile' => [
        'AvailabilityZone' => '<string>',
        'Description' => '<string>',
        'InstanceProfileArn' => '<string>',
        'InstanceProfileCreationTime' => <DateTime>,
        'InstanceProfileName' => '<string>',
        'KmsKeyArn' => '<string>',
        'NetworkType' => '<string>',
        'PubliclyAccessible' => true || false,
        'SubnetGroupIdentifier' => '<string>',
        'VpcSecurityGroups' => ['<string>', ...],
    ],
]

Result Details

Members
InstanceProfile
Type: InstanceProfile structure

The instance profile that was created.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

ResourceNotFoundFault:

The resource could not be found.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

S3ResourceNotFoundFault:

A specified Amazon S3 bucket, bucket folder, or other object can't be found.

S3AccessDeniedFault:

Insufficient privileges are preventing access to an Amazon S3 object.

FailedDependencyFault:

A dependency threw an exception.

Examples

Example 1: Create an instance profile

The following example creates an instance profile.

$result = $client->createInstanceProfile([
    'Description' => 'Example instance profile for documentation',
    'InstanceProfileName' => 'example-instance-profile',
    'KmsKeyArn' => 'arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
    'NetworkType' => 'IPV4',
    'PubliclyAccessible' => ,
    'SubnetGroupIdentifier' => 'example-replication-subnet-group',
    'VpcSecurityGroups' => [
        'sg-0123456789abcdef0',
    ],
]);

Result syntax:

[
    'InstanceProfile' => [
        'Description' => 'Example instance profile for documentation',
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'InstanceProfileCreationTime' => ,
        'InstanceProfileName' => 'example-instance-profile',
        'KmsKeyArn' => 'arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
        'NetworkType' => 'IPV4',
        'PubliclyAccessible' => ,
        'SubnetGroupIdentifier' => 'example-replication-subnet-group',
        'VpcSecurityGroups' => [
            'sg-0123456789abcdef0',
        ],
    ],
]

CreateMigrationProject

$result = $client->createMigrationProject([/* ... */]);
$promise = $client->createMigrationProjectAsync([/* ... */]);

Creates the migration project using the specified parameters.

You can run this action only after you create an instance profile and data providers using CreateInstanceProfile and CreateDataProvider.

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

Parameter Syntax

$result = $client->createMigrationProject([
    'Description' => '<string>',
    'InstanceProfileIdentifier' => '<string>', // REQUIRED
    'MigrationProjectName' => '<string>',
    'SchemaConversionApplicationAttributes' => [
        'S3BucketPath' => '<string>',
        'S3BucketRoleArn' => '<string>',
    ],
    'SourceDataProviderDescriptors' => [ // REQUIRED
        [
            'DataProviderIdentifier' => '<string>', // REQUIRED
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
        ],
        // ...
    ],
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetDataProviderDescriptors' => [ // REQUIRED
        [
            'DataProviderIdentifier' => '<string>', // REQUIRED
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
        ],
        // ...
    ],
    'TransformationRules' => '<string>',
]);

Parameter Details

Members
Description
Type: string

A user-friendly description of the migration project.

InstanceProfileIdentifier
Required: Yes
Type: string

The identifier of the associated instance profile. 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.

MigrationProjectName
Type: string

A user-friendly name for the migration project.

SchemaConversionApplicationAttributes
Type: SCApplicationAttributes structure

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

SourceDataProviderDescriptors
Required: Yes
Type: Array of DataProviderDescriptorDefinition structures

Information about the source data provider, including the name, ARN, and Secrets Manager parameters.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the migration project.

TargetDataProviderDescriptors
Required: Yes
Type: Array of DataProviderDescriptorDefinition structures

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

TransformationRules
Type: string

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.

Homogeneous data migrations do not support transformation rules.

Result Syntax

[
    'MigrationProject' => [
        'Description' => '<string>',
        'InstanceProfileArn' => '<string>',
        'InstanceProfileName' => '<string>',
        'MigrationProjectArn' => '<string>',
        'MigrationProjectCreationTime' => <DateTime>,
        '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>',
    ],
]

Result Details

Members
MigrationProject
Type: MigrationProject structure

The migration project that was created.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

ResourceNotFoundFault:

The resource could not be found.

S3ResourceNotFoundFault:

A specified Amazon S3 bucket, bucket folder, or other object can't be found.

S3AccessDeniedFault:

Insufficient privileges are preventing access to an Amazon S3 object.

FailedDependencyFault:

A dependency threw an exception.

Examples

Example 1: Create a migration project

The following example creates a migration project.

$result = $client->createMigrationProject([
    'Description' => 'Example migration project for documentation',
    'InstanceProfileIdentifier' => 'arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS',
    'MigrationProjectName' => 'example-migration-project',
    'SchemaConversionApplicationAttributes' => [
        'S3BucketPath' => 's3://amzn-s3-demo-bucket',
        'S3BucketRoleArn' => 'arn:aws:iam::111122223333:role/example-s3-access-role',
    ],
    'SourceDataProviderDescriptors' => [
        [
            'DataProviderIdentifier' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
            'SecretsManagerAccessRoleArn' => 'arn:aws:iam::111122223333:role/example-secrets-manager-role',
            'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3',
        ],
    ],
    'TargetDataProviderDescriptors' => [
        [
            'DataProviderIdentifier' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
            'SecretsManagerAccessRoleArn' => 'arn:aws:iam::111122223333:role/example-secrets-manager-role',
            'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3',
        ],
    ],
    'TransformationRules' => '{"rules":[{"rule-type":"transformation","rule-id":"1","rule-name":"1","rule-target":"schema","rule-action":"rename","object-locator":{"schema-name":"ExampleSchema"},"value":"TargetSchema"}]}',
]);

Result syntax:

[
    'MigrationProject' => [
        'Description' => 'Example migration project for documentation',
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'InstanceProfileName' => 'example-instance-profile',
        'MigrationProjectArn' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'MigrationProjectCreationTime' => ,
        'MigrationProjectName' => 'example-migration-project',
        'SchemaConversionApplicationAttributes' => [
            'S3BucketPath' => 's3://amzn-s3-demo-bucket',
            'S3BucketRoleArn' => 'arn:aws:iam::111122223333:role/example-s3-access-role',
        ],
        'SourceDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
                'DataProviderName' => 'example-data-provider',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::111122223333:role/example-secrets-manager-role',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3',
            ],
        ],
        'TargetDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
                'DataProviderName' => 'example-data-provider',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::111122223333:role/example-secrets-manager-role',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3',
            ],
        ],
        'TransformationRules' => '{"rules":[{"rule-type":"transformation","rule-id":"1","rule-name":"1","rule-target":"schema","rule-action":"rename","object-locator":{"schema-name":"ExampleSchema"},"value":"TargetSchema"}]}',
    ],
]

CreateReplicationConfig

$result = $client->createReplicationConfig([/* ... */]);
$promise = $client->createReplicationConfigAsync([/* ... */]);

Creates a configuration that you can later provide to configure and start an DMS Serverless replication. You can also provide options to validate the configuration inputs before you start the replication.

Parameter Syntax

$result = $client->createReplicationConfig([
    'ComputeConfig' => [ // REQUIRED
        'AvailabilityZone' => '<string>',
        'DnsNameServers' => '<string>',
        'KmsKeyId' => '<string>',
        'MaxCapacityUnits' => <integer>,
        'MinCapacityUnits' => <integer>,
        'MultiAZ' => true || false,
        'PreferredMaintenanceWindow' => '<string>',
        'ReplicationSubnetGroupId' => '<string>',
        'VpcSecurityGroupIds' => ['<string>', ...],
    ],
    'ReplicationConfigIdentifier' => '<string>', // REQUIRED
    'ReplicationSettings' => '<string>',
    'ReplicationType' => 'full-load|cdc|full-load-and-cdc', // REQUIRED
    'ResourceIdentifier' => '<string>',
    'SourceEndpointArn' => '<string>', // REQUIRED
    'SupplementalSettings' => '<string>',
    'TableMappings' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetEndpointArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ComputeConfig
Required: Yes
Type: ComputeConfig structure

Configuration parameters for provisioning an DMS Serverless replication.

ReplicationConfigIdentifier
Required: Yes
Type: string

A unique identifier that you want to use to create a ReplicationConfigArn that is returned as part of the output from this action. You can then pass this output ReplicationConfigArn as the value of the ReplicationConfigArn option for other actions to identify both DMS Serverless replications and replication configurations that you want those actions to operate on. For some actions, you can also use either this unique identifier or a corresponding ARN in action filters to identify the specific replication and replication configuration to operate on.

ReplicationSettings
Type: string

Optional JSON settings for DMS Serverless replications that are provisioned using this replication configuration. For example, see Change processing tuning settings.

ReplicationType
Required: Yes
Type: string

The type of DMS Serverless replication to provision using this replication configuration.

Possible values:

  • "full-load"

  • "cdc"

  • "full-load-and-cdc"

ResourceIdentifier
Type: string

Optional unique value or name that you set for a given resource that can be used to construct an Amazon Resource Name (ARN) for that resource. For more information, see Fine-grained access control using resource names and tags.

SourceEndpointArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the source endpoint for this DMS Serverless replication configuration.

SupplementalSettings
Type: string

Optional JSON settings for specifying supplemental data. For more information, see Specifying supplemental data for task settings.

TableMappings
Required: Yes
Type: string

JSON table mappings for DMS Serverless replications that are provisioned using this replication configuration. For more information, see Specifying table selection and transformations rules using JSON.

Tags
Type: Array of Tag structures

One or more optional tags associated with resources used by the DMS Serverless replication. For more information, see Tagging resources in Database Migration Service.

TargetEndpointArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the target endpoint for this DMS serverless replication configuration.

Result Syntax

[
    'ReplicationConfig' => [
        'ComputeConfig' => [
            'AvailabilityZone' => '<string>',
            'DnsNameServers' => '<string>',
            'KmsKeyId' => '<string>',
            'MaxCapacityUnits' => <integer>,
            'MinCapacityUnits' => <integer>,
            'MultiAZ' => true || false,
            'PreferredMaintenanceWindow' => '<string>',
            'ReplicationSubnetGroupId' => '<string>',
            'VpcSecurityGroupIds' => ['<string>', ...],
        ],
        'IsReadOnly' => true || false,
        'ReplicationConfigArn' => '<string>',
        'ReplicationConfigCreateTime' => <DateTime>,
        'ReplicationConfigIdentifier' => '<string>',
        'ReplicationConfigUpdateTime' => <DateTime>,
        'ReplicationSettings' => '<string>',
        'ReplicationType' => 'full-load|cdc|full-load-and-cdc',
        'SourceEndpointArn' => '<string>',
        'SupplementalSettings' => '<string>',
        'TableMappings' => '<string>',
        'TargetEndpointArn' => '<string>',
    ],
]

Result Details

Members
ReplicationConfig
Type: ReplicationConfig structure

Configuration parameters returned from the DMS Serverless replication after it is created.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

ReplicationSubnetGroupDoesNotCoverEnoughAZs:

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

InvalidSubnet:

The subnet provided isn't valid.

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

CreateReplicationInstance

$result = $client->createReplicationInstance([/* ... */]);
$promise = $client->createReplicationInstanceAsync([/* ... */]);

Creates the replication instance using the specified parameters.

DMS requires that your account have certain roles with appropriate permissions before you can create a replication instance. For information on the required roles, see Creating the IAM Roles to Use With the CLI and DMS API. For information on the required permissions, see IAM Permissions Needed to Use DMS.

If you don't specify a version when creating a replication instance, DMS will create the instance using the default engine version. For information about the default engine version, see Release Notes.

Parameter Syntax

$result = $client->createReplicationInstance([
    'AllocatedStorage' => <integer>,
    'AutoMinorVersionUpgrade' => true || false,
    'AvailabilityZone' => '<string>',
    'DnsNameServers' => '<string>',
    'EngineVersion' => '<string>',
    'KerberosAuthenticationSettings' => [
        'KeyCacheSecretIamArn' => '<string>',
        'KeyCacheSecretId' => '<string>',
        'Krb5FileContents' => '<string>',
    ],
    'KmsKeyId' => '<string>',
    'MultiAZ' => true || false,
    'NetworkType' => '<string>',
    'PreferredMaintenanceWindow' => '<string>',
    'PubliclyAccessible' => true || false,
    'ReplicationInstanceClass' => '<string>', // REQUIRED
    'ReplicationInstanceIdentifier' => '<string>', // REQUIRED
    'ReplicationSubnetGroupIdentifier' => '<string>',
    'ResourceIdentifier' => '<string>',
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'VpcSecurityGroupIds' => ['<string>', ...],
]);

Parameter Details

Members
AllocatedStorage
Type: int

The amount of storage (in gigabytes) to be initially allocated for the replication instance.

AutoMinorVersionUpgrade
Type: boolean

A value that indicates whether minor engine upgrades are applied automatically to the replication instance during the maintenance window. This parameter defaults to true.

Default: true

AvailabilityZone
Type: string

The Availability Zone where the replication instance will be created. The default value is a random, system-chosen Availability Zone in the endpoint's Amazon Web Services Region, for example: us-east-1d.

DnsNameServers
Type: string

A list of custom DNS name servers supported for the replication instance to access your on-premise source or target database. This list overrides the default name servers supported by the replication instance. You can specify a comma-separated list of internet addresses for up to four on-premise DNS name servers. For example: "1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4"

EngineVersion
Type: string

The engine version number of the replication instance.

If an engine version number is not specified when a replication instance is created, the default is the latest engine version available.

KerberosAuthenticationSettings

Specifies the settings required for kerberos authentication when creating the replication instance.

KmsKeyId
Type: string

An KMS key identifier that is used to encrypt the data on the replication instance.

If you don't specify a value for the KmsKeyId parameter, then DMS uses your default encryption key.

KMS creates the default encryption key for your Amazon Web Services account. Your Amazon Web Services account has a different default encryption key for each Amazon Web Services Region.

MultiAZ
Type: boolean

Specifies whether the replication instance is a Multi-AZ deployment. You can't set the AvailabilityZone parameter if the Multi-AZ parameter is set to true.

NetworkType
Type: string

The type of IP address protocol used by a replication instance, such as IPv4 only or Dual-stack that supports both IPv4 and IPv6 addressing. IPv6 only is not yet supported.

PreferredMaintenanceWindow
Type: string

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Format: ddd:hh24:mi-ddd:hh24:mi

Default: A 30-minute window selected at random from an 8-hour block of time per Amazon Web Services Region, occurring on a random day of the week.

Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun

Constraints: Minimum 30-minute window.

PubliclyAccessible
Type: boolean

Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address. The default value is true.

ReplicationInstanceClass
Required: Yes
Type: string

The compute and memory capacity of the replication instance as defined for the specified replication instance class. For example to specify the instance class dms.c4.large, set this parameter to "dms.c4.large".

For more information on the settings and capacities for the available replication instance classes, see Choosing the right DMS replication instance; and, Selecting the best size for a replication instance.

ReplicationInstanceIdentifier
Required: Yes
Type: string

The replication instance identifier. This parameter is stored as a lowercase string.

Constraints:

  • Must contain 1-63 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: myrepinstance

ReplicationSubnetGroupIdentifier
Type: string

A subnet group to associate with the replication instance.

ResourceIdentifier
Type: string

A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the replication instance.

VpcSecurityGroupIds
Type: Array of strings

Specifies the VPC security group to be used with the replication instance. The VPC security group must work with the VPC containing the replication instance.

Result Syntax

[
    'ReplicationInstance' => [
        'AllocatedStorage' => <integer>,
        'AutoMinorVersionUpgrade' => true || false,
        'AvailabilityZone' => '<string>',
        'DnsNameServers' => '<string>',
        'EngineVersion' => '<string>',
        'FreeUntil' => <DateTime>,
        'InstanceCreateTime' => <DateTime>,
        'KerberosAuthenticationSettings' => [
            'KeyCacheSecretIamArn' => '<string>',
            'KeyCacheSecretId' => '<string>',
            'Krb5FileContents' => '<string>',
        ],
        'KmsKeyId' => '<string>',
        'MultiAZ' => true || false,
        'NetworkType' => '<string>',
        'PendingModifiedValues' => [
            'AllocatedStorage' => <integer>,
            'EngineVersion' => '<string>',
            'MultiAZ' => true || false,
            'NetworkType' => '<string>',
            'ReplicationInstanceClass' => '<string>',
        ],
        'PreferredMaintenanceWindow' => '<string>',
        'PubliclyAccessible' => true || false,
        'ReplicationInstanceArn' => '<string>',
        'ReplicationInstanceClass' => '<string>',
        'ReplicationInstanceIdentifier' => '<string>',
        'ReplicationInstanceIpv6Addresses' => ['<string>', ...],
        'ReplicationInstancePrivateIpAddress' => '<string>',
        'ReplicationInstancePrivateIpAddresses' => ['<string>', ...],
        'ReplicationInstancePublicIpAddress' => '<string>',
        'ReplicationInstancePublicIpAddresses' => ['<string>', ...],
        'ReplicationInstanceStatus' => '<string>',
        'ReplicationSubnetGroup' => [
            'IsReadOnly' => true || false,
            'ReplicationSubnetGroupDescription' => '<string>',
            'ReplicationSubnetGroupIdentifier' => '<string>',
            'SubnetGroupStatus' => '<string>',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => '<string>',
                    ],
                    'SubnetIdentifier' => '<string>',
                    'SubnetStatus' => '<string>',
                ],
                // ...
            ],
            'SupportedNetworkTypes' => ['<string>', ...],
            'VpcId' => '<string>',
        ],
        'SecondaryAvailabilityZone' => '<string>',
        'VpcSecurityGroups' => [
            [
                'Status' => '<string>',
                'VpcSecurityGroupId' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ReplicationInstance
Type: ReplicationInstance structure

The replication instance that was created.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

InsufficientResourceCapacityFault:

There are not enough resources allocated to the database migration.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

StorageQuotaExceededFault:

The storage quota has been exceeded.

ResourceNotFoundFault:

The resource could not be found.

ReplicationSubnetGroupDoesNotCoverEnoughAZs:

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

InvalidSubnet:

The subnet provided isn't valid.

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

Examples

Example 1: Create replication instance

Creates the replication instance using the specified parameters.

$result = $client->createReplicationInstance([
    'AllocatedStorage' => 123,
    'AutoMinorVersionUpgrade' => 1,
    'AvailabilityZone' => '',
    'EngineVersion' => '',
    'KmsKeyId' => '',
    'MultiAZ' => 1,
    'PreferredMaintenanceWindow' => '',
    'PubliclyAccessible' => 1,
    'ReplicationInstanceClass' => '',
    'ReplicationInstanceIdentifier' => '',
    'ReplicationSubnetGroupIdentifier' => '',
    'Tags' => [
        [
            'Key' => 'string',
            'Value' => 'string',
        ],
    ],
    'VpcSecurityGroupIds' => [
    ],
]);

Result syntax:

[
    'ReplicationInstance' => [
        'AllocatedStorage' => 5,
        'AutoMinorVersionUpgrade' => 1,
        'EngineVersion' => '1.5.0',
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd',
        'PendingModifiedValues' => [
        ],
        'PreferredMaintenanceWindow' => 'sun:06:00-sun:14:00',
        'PubliclyAccessible' => 1,
        'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
        'ReplicationInstanceClass' => 'dms.t2.micro',
        'ReplicationInstanceIdentifier' => 'test-rep-1',
        'ReplicationInstanceStatus' => 'creating',
        'ReplicationSubnetGroup' => [
            'ReplicationSubnetGroupDescription' => 'default',
            'ReplicationSubnetGroupIdentifier' => 'default',
            'SubnetGroupStatus' => 'Complete',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-east-1d',
                    ],
                    'SubnetIdentifier' => 'subnet-f6dd91af',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-east-1b',
                    ],
                    'SubnetIdentifier' => 'subnet-3605751d',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-east-1c',
                    ],
                    'SubnetIdentifier' => 'subnet-c2daefb5',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-east-1e',
                    ],
                    'SubnetIdentifier' => 'subnet-85e90cb8',
                    'SubnetStatus' => 'Active',
                ],
            ],
            'VpcId' => 'vpc-6741a603',
        ],
    ],
]

CreateReplicationSubnetGroup

$result = $client->createReplicationSubnetGroup([/* ... */]);
$promise = $client->createReplicationSubnetGroupAsync([/* ... */]);

Creates a replication subnet group given a list of the subnet IDs in a VPC.

The VPC needs to have at least one subnet in at least two availability zones in the Amazon Web Services Region, otherwise the service will throw a ReplicationSubnetGroupDoesNotCoverEnoughAZs exception.

If a replication subnet group exists in your Amazon Web Services account, the CreateReplicationSubnetGroup action returns the following error message: The Replication Subnet Group already exists. In this case, delete the existing replication subnet group. To do so, use the DeleteReplicationSubnetGroup action. Optionally, choose Subnet groups in the DMS console, then choose your subnet group. Next, choose Delete from Actions.

Parameter Syntax

$result = $client->createReplicationSubnetGroup([
    'ReplicationSubnetGroupDescription' => '<string>', // REQUIRED
    'ReplicationSubnetGroupIdentifier' => '<string>', // REQUIRED
    'SubnetIds' => ['<string>', ...], // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
ReplicationSubnetGroupDescription
Required: Yes
Type: string

The description for the subnet group.

Constraints: This parameter Must not contain non-printable control characters.

ReplicationSubnetGroupIdentifier
Required: Yes
Type: string

The name for the replication subnet group. This value is stored as a lowercase string.

Constraints: Must contain no more than 255 alphanumeric characters, periods, underscores, or hyphens. Must not be "default".

Example: mySubnetgroup

SubnetIds
Required: Yes
Type: Array of strings

Two or more subnet IDs to be assigned to the subnet group.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the subnet group.

Result Syntax

[
    'ReplicationSubnetGroup' => [
        'IsReadOnly' => true || false,
        'ReplicationSubnetGroupDescription' => '<string>',
        'ReplicationSubnetGroupIdentifier' => '<string>',
        'SubnetGroupStatus' => '<string>',
        'Subnets' => [
            [
                'SubnetAvailabilityZone' => [
                    'Name' => '<string>',
                ],
                'SubnetIdentifier' => '<string>',
                'SubnetStatus' => '<string>',
            ],
            // ...
        ],
        'SupportedNetworkTypes' => ['<string>', ...],
        'VpcId' => '<string>',
    ],
]

Result Details

Members
ReplicationSubnetGroup
Type: ReplicationSubnetGroup structure

The replication subnet group that was created.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

ResourceNotFoundFault:

The resource could not be found.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

ReplicationSubnetGroupDoesNotCoverEnoughAZs:

The replication subnet group does not cover enough Availability Zones (AZs). Edit the replication subnet group and add more AZs.

InvalidSubnet:

The subnet provided isn't valid.

Examples

Example 1: Create replication subnet group

Creates a replication subnet group given a list of the subnet IDs in a VPC.

$result = $client->createReplicationSubnetGroup([
    'ReplicationSubnetGroupDescription' => 'US West subnet group',
    'ReplicationSubnetGroupIdentifier' => 'us-west-2ab-vpc-215ds366',
    'SubnetIds' => [
        'subnet-e145356n',
        'subnet-58f79200',
    ],
    'Tags' => [
        [
            'Key' => 'Acount',
            'Value' => '145235',
        ],
    ],
]);

Result syntax:

[
    'ReplicationSubnetGroup' => [
    ],
]

CreateReplicationTask

$result = $client->createReplicationTask([/* ... */]);
$promise = $client->createReplicationTaskAsync([/* ... */]);

Creates a replication task using the specified parameters.

Parameter Syntax

$result = $client->createReplicationTask([
    'CdcStartPosition' => '<string>',
    'CdcStartTime' => <integer || string || DateTime>,
    'CdcStopPosition' => '<string>',
    'MigrationType' => 'full-load|cdc|full-load-and-cdc', // REQUIRED
    'ReplicationInstanceArn' => '<string>', // REQUIRED
    'ReplicationTaskIdentifier' => '<string>', // REQUIRED
    'ReplicationTaskSettings' => '<string>',
    'ResourceIdentifier' => '<string>',
    'SourceEndpointArn' => '<string>', // REQUIRED
    'TableMappings' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
    'TargetEndpointArn' => '<string>', // REQUIRED
    'TaskData' => '<string>',
]);

Parameter Details

Members
CdcStartPosition
Type: string

Indicates when you want a change data capture (CDC) operation to start. Use either CdcStartPosition or CdcStartTime to specify when you want a CDC operation to start. Specifying both values results in an error.

The value can be in date, checkpoint, or LSN/SCN format.

Date Example: --cdc-start-position “2018-03-08T12:12:12”

Checkpoint Example: --cdc-start-position "checkpoint:V1#27#mysql-bin-changelog.157832:1975:-1:2002:677883278264080:mysql-bin-changelog.157832:1876#0#0#*#0#93"

LSN Example: --cdc-start-position “mysql-bin-changelog.000024:373”

When you use this task setting with a source PostgreSQL database, a logical replication slot should already be created and associated with the source endpoint. You can verify this by setting the slotName extra connection attribute to the name of this logical replication slot. For more information, see Extra Connection Attributes When Using PostgreSQL as a Source for DMS.

CdcStartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

Indicates the start time for a change data capture (CDC) operation. Use either CdcStartTime or CdcStartPosition to specify when you want a CDC operation to start. Specifying both values results in an error.

Timestamp Example: --cdc-start-time “2018-03-08T12:12:12”

CdcStopPosition
Type: string

Indicates when you want a change data capture (CDC) operation to stop. The value can be either server time or commit time.

Server time example: --cdc-stop-position “server_time:2018-02-09T12:12:12”

Commit time example: --cdc-stop-position “commit_time:2018-02-09T12:12:12“

MigrationType
Required: Yes
Type: string

The migration type. Valid values: full-load | cdc | full-load-and-cdc

ReplicationInstanceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of a replication instance.

ReplicationTaskIdentifier
Required: Yes
Type: string

An identifier for the replication task.

Constraints:

  • Must contain 1-255 alphanumeric characters or hyphens.

  • First character must be a letter.

  • Cannot end with a hyphen or contain two consecutive hyphens.

ReplicationTaskSettings
Type: string

Overall settings for the task, in JSON format. For more information, see Specifying Task Settings for Database Migration Service Tasks in the Database Migration Service User Guide.

ResourceIdentifier
Type: string

A friendly name for the resource identifier at the end of the EndpointArn response parameter that is returned in the created Endpoint object. The value for this parameter can have up to 31 characters. It can contain only ASCII letters, digits, and hyphen ('-'). Also, it can't end with a hyphen or contain two consecutive hyphens, and can only begin with a letter, such as Example-App-ARN1. For example, this value might result in the EndpointArn value arn:aws:dms:eu-west-1:012345678901:rep:Example-App-ARN1. If you don't specify a ResourceIdentifier value, DMS generates a default identifier value for the end of EndpointArn.

SourceEndpointArn
Required: Yes
Type: string

An Amazon Resource Name (ARN) that uniquely identifies the source endpoint.

TableMappings
Required: Yes
Type: string

The table mappings for the task, in JSON format. For more information, see Using Table Mapping to Specify Task Settings in the Database Migration Service User Guide.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the replication task.

TargetEndpointArn
Required: Yes
Type: string

An Amazon Resource Name (ARN) that uniquely identifies the target endpoint.

TaskData
Type: string

Supplemental information that the task requires to migrate the data for certain source and target endpoints. For more information, see Specifying Supplemental Data for Task Settings in the Database Migration Service User Guide.

Result Syntax

[
    'ReplicationTask' => [
        'CdcStartPosition' => '<string>',
        'CdcStopPosition' => '<string>',
        'LastFailureMessage' => '<string>',
        'MigrationType' => 'full-load|cdc|full-load-and-cdc',
        'RecoveryCheckpoint' => '<string>',
        'ReplicationInstanceArn' => '<string>',
        'ReplicationTaskArn' => '<string>',
        'ReplicationTaskCreationDate' => <DateTime>,
        'ReplicationTaskIdentifier' => '<string>',
        'ReplicationTaskSettings' => '<string>',
        'ReplicationTaskStartDate' => <DateTime>,
        'ReplicationTaskStats' => [
            'ElapsedTimeMillis' => <integer>,
            'FreshStartDate' => <DateTime>,
            'FullLoadFinishDate' => <DateTime>,
            'FullLoadProgressPercent' => <integer>,
            'FullLoadStartDate' => <DateTime>,
            'StartDate' => <DateTime>,
            'StopDate' => <DateTime>,
            'TablesErrored' => <integer>,
            'TablesLoaded' => <integer>,
            'TablesLoading' => <integer>,
            'TablesQueued' => <integer>,
        ],
        'SourceEndpointArn' => '<string>',
        'Status' => '<string>',
        'StopReason' => '<string>',
        'TableMappings' => '<string>',
        'TargetEndpointArn' => '<string>',
        'TargetReplicationInstanceArn' => '<string>',
        'TaskData' => '<string>',
    ],
]

Result Details

Members
ReplicationTask
Type: ReplicationTask structure

The replication task that was created.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

ResourceNotFoundFault:

The resource could not be found.

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

Examples

Example 1: Create replication task

Creates a replication task using the specified parameters.

$result = $client->createReplicationTask([
    'CdcStartTime' => ,
    'MigrationType' => 'full-load',
    'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
    'ReplicationTaskIdentifier' => 'task1',
    'ReplicationTaskSettings' => '',
    'SourceEndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE',
    'TableMappings' => 'file://mappingfile.json',
    'Tags' => [
        [
            'Key' => 'Acount',
            'Value' => '24352226',
        ],
    ],
    'TargetEndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E',
]);

Result syntax:

[
    'ReplicationTask' => [
        'MigrationType' => 'full-load',
        'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
        'ReplicationTaskArn' => 'arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM',
        'ReplicationTaskCreationDate' => ,
        'ReplicationTaskIdentifier' => 'task1',
        'ReplicationTaskSettings' => '{"TargetMetadata":{"TargetSchema":"","SupportLobs":true,"FullLobMode":true,"LobChunkSize":64,"LimitedSizeLobMode":false,"LobMaxSize":0},"FullLoadSettings":{"FullLoadEnabled":true,"ApplyChangesEnabled":false,"TargetTablePrepMode":"DROP_AND_CREATE","CreatePkAfterFullLoad":false,"StopTaskCachedChangesApplied":false,"StopTaskCachedChangesNotApplied":false,"ResumeEnabled":false,"ResumeMinTableSize":100000,"ResumeOnlyClusteredPKTables":true,"MaxFullLoadSubTasks":8,"TransactionConsistencyTimeout":600,"CommitRate":10000},"Logging":{"EnableLogging":false}}',
        'SourceEndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE',
        'Status' => 'creating',
        'TableMappings' => 'file://mappingfile.json',
        'TargetEndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E',
    ],
]

DeleteCertificate

$result = $client->deleteCertificate([/* ... */]);
$promise = $client->deleteCertificateAsync([/* ... */]);

Deletes the specified certificate.

Parameter Syntax

$result = $client->deleteCertificate([
    'CertificateArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
CertificateArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the certificate.

Result Syntax

[
    'Certificate' => [
        'CertificateArn' => '<string>',
        'CertificateCreationDate' => <DateTime>,
        'CertificateIdentifier' => '<string>',
        'CertificateOwner' => '<string>',
        'CertificatePem' => '<string>',
        'CertificateWallet' => <string || resource || Psr\Http\Message\StreamInterface>,
        'KeyLength' => <integer>,
        'KmsKeyId' => '<string>',
        'SigningAlgorithm' => '<string>',
        'ValidFromDate' => <DateTime>,
        'ValidToDate' => <DateTime>,
    ],
]

Result Details

Members
Certificate
Type: Certificate structure

The Secure Sockets Layer (SSL) certificate.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

Examples

Example 1: Delete Certificate

Deletes the specified certificate.

$result = $client->deleteCertificate([
    'CertificateArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUSM457DE6XFJCJQ',
]);

Result syntax:

[
    'Certificate' => [
    ],
]

DeleteConnection

$result = $client->deleteConnection([/* ... */]);
$promise = $client->deleteConnectionAsync([/* ... */]);

Deletes the connection between a replication instance and an endpoint.

Parameter Syntax

$result = $client->deleteConnection([
    'EndpointArn' => '<string>', // REQUIRED
    'ReplicationInstanceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
EndpointArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

ReplicationInstanceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the replication instance.

Result Syntax

[
    'Connection' => [
        'EndpointArn' => '<string>',
        'EndpointIdentifier' => '<string>',
        'LastFailureMessage' => '<string>',
        'ReplicationInstanceArn' => '<string>',
        'ReplicationInstanceIdentifier' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
Connection
Type: Connection structure

The connection that is being deleted.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

Examples

Example 1: Delete Connection

Deletes the connection between the replication instance and the endpoint.

$result = $client->deleteConnection([
    'EndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM',
    'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
]);

Result syntax:

[
    'Connection' => [
    ],
]

DeleteDataMigration

$result = $client->deleteDataMigration([/* ... */]);
$promise = $client->deleteDataMigrationAsync([/* ... */]);

Deletes the specified data migration.

Parameter Syntax

$result = $client->deleteDataMigration([
    'DataMigrationIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
DataMigrationIdentifier
Required: Yes
Type: string

The identifier (name or ARN) of the data migration to delete.

Result Syntax

[
    'DataMigration' => [
        'DataMigrationArn' => '<string>',
        'DataMigrationCidrBlocks' => ['<string>', ...],
        'DataMigrationCreateTime' => <DateTime>,
        'DataMigrationEndTime' => <DateTime>,
        'DataMigrationName' => '<string>',
        'DataMigrationSettings' => [
            'CloudwatchLogsEnabled' => true || false,
            'NumberOfJobs' => <integer>,
            'SelectionRules' => '<string>',
        ],
        'DataMigrationStartTime' => <DateTime>,
        'DataMigrationStatistics' => [
            'CDCLatency' => <integer>,
            'ElapsedTimeMillis' => <integer>,
            'FullLoadPercentage' => <integer>,
            'StartTime' => <DateTime>,
            'StopTime' => <DateTime>,
            'TablesErrored' => <integer>,
            'TablesLoaded' => <integer>,
            'TablesLoading' => <integer>,
            'TablesQueued' => <integer>,
        ],
        'DataMigrationStatus' => '<string>',
        'DataMigrationType' => 'full-load|cdc|full-load-and-cdc',
        'LastFailureMessage' => '<string>',
        'MigrationProjectArn' => '<string>',
        'PublicIpAddresses' => ['<string>', ...],
        'ServiceAccessRoleArn' => '<string>',
        'SourceDataSettings' => [
            [
                'CDCStartPosition' => '<string>',
                'CDCStartTime' => <DateTime>,
                'CDCStopTime' => <DateTime>,
                'SlotName' => '<string>',
            ],
            // ...
        ],
        'StopReason' => '<string>',
        'TargetDataSettings' => [
            [
                'TablePreparationMode' => 'drop-tables-on-target|truncate|do-nothing',
            ],
            // ...
        ],
    ],
]

Result Details

Members
DataMigration
Type: DataMigration structure

The deleted data migration.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

ResourceNotFoundFault:

The resource could not be found.

FailedDependencyFault:

A dependency threw an exception.

DeleteDataProvider

$result = $client->deleteDataProvider([/* ... */]);
$promise = $client->deleteDataProviderAsync([/* ... */]);

Deletes the specified data provider.

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

All migration projects associated with the data provider must be deleted or modified before you can delete the data provider.

Parameter Syntax

$result = $client->deleteDataProvider([
    'DataProviderIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
DataProviderIdentifier
Required: Yes
Type: string

The identifier of the data provider to delete.

Result Syntax

[
    'DataProvider' => [
        'DataProviderArn' => '<string>',
        'DataProviderCreationTime' => <DateTime>,
        'DataProviderName' => '<string>',
        'Description' => '<string>',
        'Engine' => '<string>',
        'Settings' => [
            'DocDbSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'IbmDb2LuwSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'EncryptionAlgorithm' => <integer>,
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'SecurityMechanism' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'IbmDb2zOsSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MariaDbSettings' => [
                'CertificateArn' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MicrosoftSqlServerSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MongoDbSettings' => [
                'AuthMechanism' => 'default|mongodb_cr|scram_sha_1',
                'AuthSource' => '<string>',
                'AuthType' => 'no|password',
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MySqlSettings' => [
                'CertificateArn' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'OracleSettings' => [
                'AsmServer' => '<string>',
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
                'SecretsManagerOracleAsmSecretId' => '<string>',
                'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
                'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'PostgreSqlSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'RedshiftSettings' => [
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'S3AccessRoleArn' => '<string>',
                'S3Path' => '<string>',
                'ServerName' => '<string>',
            ],
            'SybaseAseSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'EncryptPassword' => true || false,
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
        ],
        'Virtual' => true || false,
    ],
]

Result Details

Members
DataProvider
Type: DataProvider structure

The data provider that was deleted.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

FailedDependencyFault:

A dependency threw an exception.

Examples

Example 1: Delete a data provider

The following example deletes a data provider identified by its ARN.

$result = $client->deleteDataProvider([
    'DataProviderIdentifier' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
]);

Result syntax:

[
    'DataProvider' => [
        'DataProviderArn' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'DataProviderCreationTime' => ,
        'DataProviderName' => 'example-data-provider',
        'Description' => 'Example data provider for documentation',
        'Engine' => 'sqlserver',
        'Settings' => [
            'MicrosoftSqlServerSettings' => [
                'CertificateArn' => 'arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS',
                'DatabaseName' => 'ExampleDatabase',
                'Port' => 1433,
                'ServerName' => 'example-source-server.us-east-1.rds.amazonaws.com',
                'SslMode' => 'verify-full',
            ],
        ],
    ],
]

DeleteEndpoint

$result = $client->deleteEndpoint([/* ... */]);
$promise = $client->deleteEndpointAsync([/* ... */]);

Deletes the specified endpoint.

All tasks associated with the endpoint must be deleted before you can delete the endpoint.

Parameter Syntax

$result = $client->deleteEndpoint([
    'EndpointArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
EndpointArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) string that uniquely identifies the endpoint.

Result Syntax

[
    'Endpoint' => [
        'CertificateArn' => '<string>',
        'DatabaseName' => '<string>',
        'DmsTransferSettings' => [
            'BucketName' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
        ],
        'DocDbSettings' => [
            'DatabaseName' => '<string>',
            'DocsToInvestigate' => <integer>,
            'ExtractDocId' => true || false,
            'KmsKeyId' => '<string>',
            'NestingLevel' => 'none|one',
            'Password' => '<string>',
            'Port' => <integer>,
            'ReplicateShardCollections' => true || false,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'UseUpdateLookUp' => true || false,
            'Username' => '<string>',
        ],
        'DynamoDbSettings' => [
            'ServiceAccessRoleArn' => '<string>',
        ],
        'ElasticsearchSettings' => [
            'EndpointUri' => '<string>',
            'ErrorRetryDuration' => <integer>,
            'FullLoadErrorPercentage' => <integer>,
            'ServiceAccessRoleArn' => '<string>',
            'UseNewMappingType' => true || false,
        ],
        'EndpointArn' => '<string>',
        'EndpointIdentifier' => '<string>',
        'EndpointType' => 'source|target',
        'EngineDisplayName' => '<string>',
        'EngineName' => '<string>',
        'ExternalId' => '<string>',
        'ExternalTableDefinition' => '<string>',
        'ExtraConnectionAttributes' => '<string>',
        'GcpMySQLSettings' => [
            'AfterConnectScript' => '<string>',
            'CleanSourceMetadataOnMismatch' => true || false,
            'DatabaseName' => '<string>',
            'EventsPollInterval' => <integer>,
            'MaxFileSize' => <integer>,
            'ParallelLoadThreads' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'ServerTimezone' => '<string>',
            'TargetDbType' => 'specific-database|multiple-databases',
            'Username' => '<string>',
        ],
        'IBMDb2Settings' => [
            'CurrentLsn' => '<string>',
            'DatabaseName' => '<string>',
            'KeepCsvFiles' => true || false,
            'LoadTimeout' => <integer>,
            'MaxFileSize' => <integer>,
            'MaxKBytesPerRead' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'SetDataCaptureChanges' => true || false,
            'Username' => '<string>',
            'WriteBufferSize' => <integer>,
        ],
        'IsReadOnly' => true || false,
        'KafkaSettings' => [
            'Broker' => '<string>',
            'IncludeControlDetails' => true || false,
            'IncludeNullAndEmpty' => true || false,
            'IncludePartitionValue' => true || false,
            'IncludeTableAlterOperations' => true || false,
            'IncludeTransactionDetails' => true || false,
            'MessageFormat' => 'json|json-unformatted',
            'MessageMaxBytes' => <integer>,
            'NoHexPrefix' => true || false,
            'PartitionIncludeSchemaTable' => true || false,
            'SaslMechanism' => 'scram-sha-512|plain',
            'SaslPassword' => '<string>',
            'SaslUsername' => '<string>',
            'SecurityProtocol' => 'plaintext|ssl-authentication|ssl-encryption|sasl-ssl',
            'SslCaCertificateArn' => '<string>',
            'SslClientCertificateArn' => '<string>',
            'SslClientKeyArn' => '<string>',
            'SslClientKeyPassword' => '<string>',
            'SslEndpointIdentificationAlgorithm' => 'none|https',
            'Topic' => '<string>',
            'UseLargeIntegerValue' => true || false,
        ],
        'KinesisSettings' => [
            'IncludeControlDetails' => true || false,
            'IncludeNullAndEmpty' => true || false,
            'IncludePartitionValue' => true || false,
            'IncludeTableAlterOperations' => true || false,
            'IncludeTransactionDetails' => true || false,
            'MessageFormat' => 'json|json-unformatted',
            'NoHexPrefix' => true || false,
            'PartitionIncludeSchemaTable' => true || false,
            'ServiceAccessRoleArn' => '<string>',
            'StreamArn' => '<string>',
            'UseLargeIntegerValue' => true || false,
        ],
        'KmsKeyId' => '<string>',
        'LakehouseSettings' => [
            'Arn' => '<string>',
        ],
        'MicrosoftSQLServerSettings' => [
            'AuthenticationMethod' => 'password|kerberos',
            'BcpPacketSize' => <integer>,
            'ControlTablesFileGroup' => '<string>',
            'DatabaseName' => '<string>',
            'ForceLobLookup' => true || false,
            'Password' => '<string>',
            'Port' => <integer>,
            'QuerySingleAlwaysOnNode' => true || false,
            'ReadBackupOnly' => true || false,
            'SafeguardPolicy' => 'rely-on-sql-server-replication-agent|exclusive-automatic-truncation|shared-automatic-truncation',
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'TlogAccessMode' => 'BackupOnly|PreferBackup|PreferTlog|TlogOnly',
            'TrimSpaceInChar' => true || false,
            'UseBcpFullLoad' => true || false,
            'UseThirdPartyBackupDevice' => true || false,
            'Username' => '<string>',
        ],
        'MongoDbSettings' => [
            'AuthMechanism' => 'default|mongodb_cr|scram_sha_1',
            'AuthSource' => '<string>',
            'AuthType' => 'no|password',
            'DatabaseName' => '<string>',
            'DocsToInvestigate' => '<string>',
            'ExtractDocId' => '<string>',
            'KmsKeyId' => '<string>',
            'NestingLevel' => 'none|one',
            'Password' => '<string>',
            'Port' => <integer>,
            'ReplicateShardCollections' => true || false,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'UseUpdateLookUp' => true || false,
            'Username' => '<string>',
        ],
        'MySQLSettings' => [
            'AfterConnectScript' => '<string>',
            'AuthenticationMethod' => 'password|iam',
            'CleanSourceMetadataOnMismatch' => true || false,
            'DatabaseName' => '<string>',
            'EventsPollInterval' => <integer>,
            'ExecuteTimeout' => <integer>,
            'MaxFileSize' => <integer>,
            'ParallelLoadThreads' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'ServerTimezone' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'TargetDbType' => 'specific-database|multiple-databases',
            'Username' => '<string>',
        ],
        'NeptuneSettings' => [
            'ErrorRetryDuration' => <integer>,
            'IamAuthEnabled' => true || false,
            'MaxFileSize' => <integer>,
            'MaxRetryCount' => <integer>,
            'S3BucketFolder' => '<string>',
            'S3BucketName' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
        ],
        'OracleSettings' => [
            'AccessAlternateDirectly' => true || false,
            'AddSupplementalLogging' => true || false,
            'AdditionalArchivedLogDestId' => <integer>,
            'AllowSelectNestedTables' => true || false,
            'ArchivedLogDestId' => <integer>,
            'ArchivedLogsOnly' => true || false,
            'AsmPassword' => '<string>',
            'AsmServer' => '<string>',
            'AsmUser' => '<string>',
            'AuthenticationMethod' => 'password|kerberos',
            'CharLengthSemantics' => 'default|char|byte',
            'ConvertTimestampWithZoneToUTC' => true || false,
            'DatabaseName' => '<string>',
            'DirectPathNoLog' => true || false,
            'DirectPathParallelLoad' => true || false,
            'EnableHomogenousTablespace' => true || false,
            'ExtraArchivedLogDestIds' => [<integer>, ...],
            'FailTasksOnLobTruncation' => true || false,
            'NumberDatatypeScale' => <integer>,
            'OpenTransactionWindow' => <integer>,
            'OraclePathPrefix' => '<string>',
            'ParallelAsmReadThreads' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'ReadAheadBlocks' => <integer>,
            'ReadTableSpaceName' => true || false,
            'ReplacePathPrefix' => true || false,
            'RetryInterval' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
            'SecretsManagerOracleAsmSecretId' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'SecurityDbEncryption' => '<string>',
            'SecurityDbEncryptionName' => '<string>',
            'ServerName' => '<string>',
            'SpatialDataOptionToGeoJsonFunctionName' => '<string>',
            'StandbyDelayTime' => <integer>,
            'TrimSpaceInChar' => true || false,
            'UseAlternateFolderForOnline' => true || false,
            'UseBFile' => true || false,
            'UseDirectPathFullLoad' => true || false,
            'UseLogminerReader' => true || false,
            'UsePathPrefix' => '<string>',
            'Username' => '<string>',
        ],
        'Port' => <integer>,
        'PostgreSQLSettings' => [
            'AfterConnectScript' => '<string>',
            'AuthenticationMethod' => 'password|iam',
            'BabelfishDatabaseName' => '<string>',
            'CaptureDdls' => true || false,
            'DatabaseMode' => 'default|babelfish',
            'DatabaseName' => '<string>',
            'DdlArtifactsSchema' => '<string>',
            'DisableUnicodeSourceFilter' => true || false,
            'ExecuteTimeout' => <integer>,
            'FailTasksOnLobTruncation' => true || false,
            'HeartbeatEnable' => true || false,
            'HeartbeatFrequency' => <integer>,
            'HeartbeatSchema' => '<string>',
            'MapBooleanAsBoolean' => true || false,
            'MapJsonbAsClob' => true || false,
            'MapLongVarcharAs' => 'wstring|clob|nclob',
            'MaxFileSize' => <integer>,
            'Password' => '<string>',
            'PluginName' => 'no-preference|test-decoding|pglogical',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'SlotName' => '<string>',
            'TrimSpaceInChar' => true || false,
            'Username' => '<string>',
        ],
        'RedisSettings' => [
            'AuthPassword' => '<string>',
            'AuthType' => 'none|auth-role|auth-token',
            'AuthUserName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslCaCertificateArn' => '<string>',
            'SslSecurityProtocol' => 'plaintext|ssl-encryption',
        ],
        'RedshiftSettings' => [
            'AcceptAnyDate' => true || false,
            'AfterConnectScript' => '<string>',
            'BucketFolder' => '<string>',
            'BucketName' => '<string>',
            'CaseSensitiveNames' => true || false,
            'CompUpdate' => true || false,
            'ConnectionTimeout' => <integer>,
            'DatabaseName' => '<string>',
            'DateFormat' => '<string>',
            'EmptyAsNull' => true || false,
            'EncryptionMode' => 'sse-s3|sse-kms',
            'ExplicitIds' => true || false,
            'FileTransferUploadStreams' => <integer>,
            'LoadTimeout' => <integer>,
            'MapBooleanAsBoolean' => true || false,
            'MaxFileSize' => <integer>,
            'Password' => '<string>',
            'Port' => <integer>,
            'RemoveQuotes' => true || false,
            'ReplaceChars' => '<string>',
            'ReplaceInvalidChars' => '<string>',
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'ServerSideEncryptionKmsKeyId' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'TimeFormat' => '<string>',
            'TrimBlanks' => true || false,
            'TruncateColumns' => true || false,
            'Username' => '<string>',
            'WriteBufferSize' => <integer>,
        ],
        'S3Settings' => [
            'AddColumnName' => true || false,
            'AddTrailingPaddingCharacter' => true || false,
            'BucketFolder' => '<string>',
            'BucketName' => '<string>',
            'CannedAclForObjects' => 'none|private|public-read|public-read-write|authenticated-read|aws-exec-read|bucket-owner-read|bucket-owner-full-control',
            'CdcInsertsAndUpdates' => true || false,
            'CdcInsertsOnly' => true || false,
            'CdcMaxBatchInterval' => <integer>,
            'CdcMinFileSize' => <integer>,
            'CdcPath' => '<string>',
            'CompressionType' => 'none|gzip',
            'CsvDelimiter' => '<string>',
            'CsvNoSupValue' => '<string>',
            'CsvNullValue' => '<string>',
            'CsvRowDelimiter' => '<string>',
            'DataFormat' => 'csv|parquet',
            'DataPageSize' => <integer>,
            'DatePartitionDelimiter' => 'SLASH|UNDERSCORE|DASH|NONE',
            'DatePartitionEnabled' => true || false,
            'DatePartitionSequence' => 'YYYYMMDD|YYYYMMDDHH|YYYYMM|MMYYYYDD|DDMMYYYY',
            'DatePartitionTimezone' => '<string>',
            'DictPageSizeLimit' => <integer>,
            'EnableStatistics' => true || false,
            'EncodingType' => 'plain|plain-dictionary|rle-dictionary',
            'EncryptionMode' => 'sse-s3|sse-kms',
            'ExpectedBucketOwner' => '<string>',
            'ExternalTableDefinition' => '<string>',
            'GlueCatalogGeneration' => true || false,
            'IgnoreHeaderRows' => <integer>,
            'IncludeOpForFullLoad' => true || false,
            'MaxFileSize' => <integer>,
            'ParquetTimestampInMillisecond' => true || false,
            'ParquetVersion' => 'parquet-1-0|parquet-2-0',
            'PreserveTransactions' => true || false,
            'Rfc4180' => true || false,
            'RowGroupLength' => <integer>,
            'ServerSideEncryptionKmsKeyId' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'TimestampColumnName' => '<string>',
            'UseCsvNoSupValue' => true || false,
            'UseTaskStartTimeForFullLoadTimestamp' => true || false,
        ],
        'ServerName' => '<string>',
        'ServiceAccessRoleArn' => '<string>',
        'SslMode' => 'none|require|verify-ca|verify-full',
        'Status' => '<string>',
        'SybaseSettings' => [
            'DatabaseName' => '<string>',
            'Password' => '<string>',
            'Port' => <integer>,
            'SecretsManagerAccessRoleArn' => '<string>',
            'SecretsManagerSecretId' => '<string>',
            'ServerName' => '<string>',
            'Username' => '<string>',
        ],
        'TimestreamSettings' => [
            'CdcInsertsAndUpdates' => true || false,
            'DatabaseName' => '<string>',
            'EnableMagneticStoreWrites' => true || false,
            'MagneticDuration' => <integer>,
            'MemoryDuration' => <integer>,
        ],
        'Username' => '<string>',
    ],
]

Result Details

Members
Endpoint
Type: Endpoint structure

The endpoint that was deleted.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

Examples

Example 1: Delete Endpoint

Deletes the specified endpoint. All tasks associated with the endpoint must be deleted before you can delete the endpoint.

$result = $client->deleteEndpoint([
    'EndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM',
]);

Result syntax:

[
    'Endpoint' => [
        'EndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM',
        'EndpointIdentifier' => 'test-endpoint-1',
        'EndpointType' => 'source',
        'EngineName' => 'mysql',
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd',
        'Port' => 3306,
        'ServerName' => 'mydb.cx1llnox7iyx.us-west-2.rds.amazonaws.com',
        'Status' => 'active',
        'Username' => 'username',
    ],
]

DeleteEventSubscription

$result = $client->deleteEventSubscription([/* ... */]);
$promise = $client->deleteEventSubscriptionAsync([/* ... */]);

Deletes an DMS event subscription.

Parameter Syntax

$result = $client->deleteEventSubscription([
    'SubscriptionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
SubscriptionName
Required: Yes
Type: string

The name of the DMS event notification subscription to be deleted.

Result Syntax

[
    'EventSubscription' => [
        'CustSubscriptionId' => '<string>',
        'CustomerAwsId' => '<string>',
        'Enabled' => true || false,
        'EventCategoriesList' => ['<string>', ...],
        'SnsTopicArn' => '<string>',
        'SourceIdsList' => ['<string>', ...],
        'SourceType' => '<string>',
        'Status' => '<string>',
        'SubscriptionCreationTime' => '<string>',
    ],
]

Result Details

Members
EventSubscription
Type: EventSubscription structure

The event subscription that was deleted.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

DeleteFleetAdvisorCollector

$result = $client->deleteFleetAdvisorCollector([/* ... */]);
$promise = $client->deleteFleetAdvisorCollectorAsync([/* ... */]);

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Deletes the specified Fleet Advisor collector.

Parameter Syntax

$result = $client->deleteFleetAdvisorCollector([
    'CollectorReferencedId' => '<string>', // REQUIRED
]);

Parameter Details

Members
CollectorReferencedId
Required: Yes
Type: string

The reference ID of the Fleet Advisor collector to delete.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

CollectorNotFoundFault:

The specified collector doesn't exist.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

DeleteFleetAdvisorDatabases

$result = $client->deleteFleetAdvisorDatabases([/* ... */]);
$promise = $client->deleteFleetAdvisorDatabasesAsync([/* ... */]);

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Deletes the specified Fleet Advisor collector databases.

Parameter Syntax

$result = $client->deleteFleetAdvisorDatabases([
    'DatabaseIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
DatabaseIds
Required: Yes
Type: Array of strings

The IDs of the Fleet Advisor collector databases to delete.

Result Syntax

[
    'DatabaseIds' => ['<string>', ...],
]

Result Details

Members
DatabaseIds
Type: Array of strings

The IDs of the databases that the operation deleted.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidOperationFault:

The action or operation requested isn't valid.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

DeleteInstanceProfile

$result = $client->deleteInstanceProfile([/* ... */]);
$promise = $client->deleteInstanceProfileAsync([/* ... */]);

Deletes the specified instance profile.

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

All migration projects associated with the instance profile must be deleted or modified before you can delete the instance profile.

Parameter Syntax

$result = $client->deleteInstanceProfile([
    'InstanceProfileIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
InstanceProfileIdentifier
Required: Yes
Type: string

The identifier of the instance profile to delete.

Result Syntax

[
    'InstanceProfile' => [
        'AvailabilityZone' => '<string>',
        'Description' => '<string>',
        'InstanceProfileArn' => '<string>',
        'InstanceProfileCreationTime' => <DateTime>,
        'InstanceProfileName' => '<string>',
        'KmsKeyArn' => '<string>',
        'NetworkType' => '<string>',
        'PubliclyAccessible' => true || false,
        'SubnetGroupIdentifier' => '<string>',
        'VpcSecurityGroups' => ['<string>', ...],
    ],
]

Result Details

Members
InstanceProfile
Type: InstanceProfile structure

The instance profile that was deleted.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

FailedDependencyFault:

A dependency threw an exception.

Examples

Example 1: Delete an instance profile

The following example deletes an instance profile identified by its ARN.

$result = $client->deleteInstanceProfile([
    'InstanceProfileIdentifier' => 'arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS',
]);

Result syntax:

[
    'InstanceProfile' => [
        'Description' => 'Example instance profile for documentation',
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'InstanceProfileCreationTime' => ,
        'InstanceProfileName' => 'example-instance-profile',
        'KmsKeyArn' => 'arn:aws:kms:us-east-1:111122223333:key/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
        'NetworkType' => 'IPV4',
        'PubliclyAccessible' => ,
        'SubnetGroupIdentifier' => 'example-replication-subnet-group',
        'VpcSecurityGroups' => [
            'sg-0123456789abcdef0',
        ],
    ],
]

DeleteMigrationProject

$result = $client->deleteMigrationProject([/* ... */]);
$promise = $client->deleteMigrationProjectAsync([/* ... */]);

Deletes the specified migration project.

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

The migration project must be closed before you can delete it.

Parameter Syntax

$result = $client->deleteMigrationProject([
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

The name or Amazon Resource Name (ARN) of the migration project to delete.

Result Syntax

[
    'MigrationProject' => [
        'Description' => '<string>',
        'InstanceProfileArn' => '<string>',
        'InstanceProfileName' => '<string>',
        'MigrationProjectArn' => '<string>',
        'MigrationProjectCreationTime' => <DateTime>,
        '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>',
    ],
]

Result Details

Members
MigrationProject
Type: MigrationProject structure

The migration project that was deleted.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

FailedDependencyFault:

A dependency threw an exception.

Examples

Example 1: Delete a migration project

The following example deletes a migration project identified by its ARN.

$result = $client->deleteMigrationProject([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
]);

Result syntax:

[
    'MigrationProject' => [
        'Description' => 'Example migration project for documentation',
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:111122223333:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'InstanceProfileName' => 'example-instance-profile',
        'MigrationProjectArn' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
        'MigrationProjectCreationTime' => ,
        'MigrationProjectName' => 'example-migration-project',
        'SchemaConversionApplicationAttributes' => [
            'S3BucketPath' => 's3://amzn-s3-demo-bucket',
            'S3BucketRoleArn' => 'arn:aws:iam::111122223333:role/example-s3-access-role',
        ],
        'SourceDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
                'DataProviderName' => 'example-data-provider',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::111122223333:role/example-secrets-manager-role',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:111122223333:secret:example-source-secret-A1B2C3',
            ],
        ],
        'TargetDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
                'DataProviderName' => 'example-data-provider',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::111122223333:role/example-secrets-manager-role',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:111122223333:secret:example-target-secret-A1B2C3',
            ],
        ],
        'TransformationRules' => '{"rules":[{"rule-type":"transformation","rule-id":"1","rule-name":"1","rule-target":"schema","rule-action":"rename","object-locator":{"schema-name":"ExampleSchema"},"value":"TargetSchema"}]}',
    ],
]

DeleteReplicationConfig

$result = $client->deleteReplicationConfig([/* ... */]);
$promise = $client->deleteReplicationConfigAsync([/* ... */]);

Deletes an DMS Serverless replication configuration. This effectively deprovisions any and all replications that use this configuration. You can't delete the configuration for an DMS Serverless replication that is ongoing. You can delete the configuration when the replication is in a non-RUNNING and non-STARTING state.

Parameter Syntax

$result = $client->deleteReplicationConfig([
    'ReplicationConfigArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ReplicationConfigArn
Required: Yes
Type: string

The replication config to delete.

Result Syntax

[
    'ReplicationConfig' => [
        'ComputeConfig' => [
            'AvailabilityZone' => '<string>',
            'DnsNameServers' => '<string>',
            'KmsKeyId' => '<string>',
            'MaxCapacityUnits' => <integer>,
            'MinCapacityUnits' => <integer>,
            'MultiAZ' => true || false,
            'PreferredMaintenanceWindow' => '<string>',
            'ReplicationSubnetGroupId' => '<string>',
            'VpcSecurityGroupIds' => ['<string>', ...],
        ],
        'IsReadOnly' => true || false,
        'ReplicationConfigArn' => '<string>',
        'ReplicationConfigCreateTime' => <DateTime>,
        'ReplicationConfigIdentifier' => '<string>',
        'ReplicationConfigUpdateTime' => <DateTime>,
        'ReplicationSettings' => '<string>',
        'ReplicationType' => 'full-load|cdc|full-load-and-cdc',
        'SourceEndpointArn' => '<string>',
        'SupplementalSettings' => '<string>',
        'TableMappings' => '<string>',
        'TargetEndpointArn' => '<string>',
    ],
]

Result Details

Members
ReplicationConfig
Type: ReplicationConfig structure

Configuration parameters returned for the DMS Serverless replication after it is deleted.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

DeleteReplicationInstance

$result = $client->deleteReplicationInstance([/* ... */]);
$promise = $client->deleteReplicationInstanceAsync([/* ... */]);

Deletes the specified replication instance.

You must delete any migration tasks that are associated with the replication instance before you can delete it.

Parameter Syntax

$result = $client->deleteReplicationInstance([
    'ReplicationInstanceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ReplicationInstanceArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the replication instance to be deleted.

Result Syntax

[
    'ReplicationInstance' => [
        'AllocatedStorage' => <integer>,
        'AutoMinorVersionUpgrade' => true || false,
        'AvailabilityZone' => '<string>',
        'DnsNameServers' => '<string>',
        'EngineVersion' => '<string>',
        'FreeUntil' => <DateTime>,
        'InstanceCreateTime' => <DateTime>,
        'KerberosAuthenticationSettings' => [
            'KeyCacheSecretIamArn' => '<string>',
            'KeyCacheSecretId' => '<string>',
            'Krb5FileContents' => '<string>',
        ],
        'KmsKeyId' => '<string>',
        'MultiAZ' => true || false,
        'NetworkType' => '<string>',
        'PendingModifiedValues' => [
            'AllocatedStorage' => <integer>,
            'EngineVersion' => '<string>',
            'MultiAZ' => true || false,
            'NetworkType' => '<string>',
            'ReplicationInstanceClass' => '<string>',
        ],
        'PreferredMaintenanceWindow' => '<string>',
        'PubliclyAccessible' => true || false,
        'ReplicationInstanceArn' => '<string>',
        'ReplicationInstanceClass' => '<string>',
        'ReplicationInstanceIdentifier' => '<string>',
        'ReplicationInstanceIpv6Addresses' => ['<string>', ...],
        'ReplicationInstancePrivateIpAddress' => '<string>',
        'ReplicationInstancePrivateIpAddresses' => ['<string>', ...],
        'ReplicationInstancePublicIpAddress' => '<string>',
        'ReplicationInstancePublicIpAddresses' => ['<string>', ...],
        'ReplicationInstanceStatus' => '<string>',
        'ReplicationSubnetGroup' => [
            'IsReadOnly' => true || false,
            'ReplicationSubnetGroupDescription' => '<string>',
            'ReplicationSubnetGroupIdentifier' => '<string>',
            'SubnetGroupStatus' => '<string>',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => '<string>',
                    ],
                    'SubnetIdentifier' => '<string>',
                    'SubnetStatus' => '<string>',
                ],
                // ...
            ],
            'SupportedNetworkTypes' => ['<string>', ...],
            'VpcId' => '<string>',
        ],
        'SecondaryAvailabilityZone' => '<string>',
        'VpcSecurityGroups' => [
            [
                'Status' => '<string>',
                'VpcSecurityGroupId' => '<string>',
            ],
            // ...
        ],
    ],
]

Result Details

Members
ReplicationInstance
Type: ReplicationInstance structure

The replication instance that was deleted.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Delete Replication Instance

Deletes the specified replication instance. You must delete any migration tasks that are associated with the replication instance before you can delete it.

$result = $client->deleteReplicationInstance([
    'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
]);

Result syntax:

[
    'ReplicationInstance' => [
        'AllocatedStorage' => 5,
        'AutoMinorVersionUpgrade' => 1,
        'EngineVersion' => '1.5.0',
        'KmsKeyId' => 'arn:aws:kms:us-east-1:123456789012:key/4c1731d6-5435-ed4d-be13-d53411a7cfbd',
        'PendingModifiedValues' => [
        ],
        'PreferredMaintenanceWindow' => 'sun:06:00-sun:14:00',
        'PubliclyAccessible' => 1,
        'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
        'ReplicationInstanceClass' => 'dms.t2.micro',
        'ReplicationInstanceIdentifier' => 'test-rep-1',
        'ReplicationInstanceStatus' => 'creating',
        'ReplicationSubnetGroup' => [
            'ReplicationSubnetGroupDescription' => 'default',
            'ReplicationSubnetGroupIdentifier' => 'default',
            'SubnetGroupStatus' => 'Complete',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-east-1d',
                    ],
                    'SubnetIdentifier' => 'subnet-f6dd91af',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-east-1b',
                    ],
                    'SubnetIdentifier' => 'subnet-3605751d',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-east-1c',
                    ],
                    'SubnetIdentifier' => 'subnet-c2daefb5',
                    'SubnetStatus' => 'Active',
                ],
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => 'us-east-1e',
                    ],
                    'SubnetIdentifier' => 'subnet-85e90cb8',
                    'SubnetStatus' => 'Active',
                ],
            ],
            'VpcId' => 'vpc-6741a603',
        ],
    ],
]

DeleteReplicationSubnetGroup

$result = $client->deleteReplicationSubnetGroup([/* ... */]);
$promise = $client->deleteReplicationSubnetGroupAsync([/* ... */]);

Deletes a subnet group.

Parameter Syntax

$result = $client->deleteReplicationSubnetGroup([
    'ReplicationSubnetGroupIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
ReplicationSubnetGroupIdentifier
Required: Yes
Type: string

The subnet group name of the replication instance.

Result Syntax

[]

Result Details

The results for this operation are always empty.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

ResourceNotFoundFault:

The resource could not be found.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

Examples

Example 1: Delete Replication Subnet Group

Deletes a replication subnet group.

$result = $client->deleteReplicationSubnetGroup([
    'ReplicationSubnetGroupIdentifier' => 'us-west-2ab-vpc-215ds366',
]);

Result syntax:

[
]

DeleteReplicationTask

$result = $client->deleteReplicationTask([/* ... */]);
$promise = $client->deleteReplicationTaskAsync([/* ... */]);

Deletes the specified replication task.

Parameter Syntax

$result = $client->deleteReplicationTask([
    'ReplicationTaskArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ReplicationTaskArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the replication task to be deleted.

Result Syntax

[
    'ReplicationTask' => [
        'CdcStartPosition' => '<string>',
        'CdcStopPosition' => '<string>',
        'LastFailureMessage' => '<string>',
        'MigrationType' => 'full-load|cdc|full-load-and-cdc',
        'RecoveryCheckpoint' => '<string>',
        'ReplicationInstanceArn' => '<string>',
        'ReplicationTaskArn' => '<string>',
        'ReplicationTaskCreationDate' => <DateTime>,
        'ReplicationTaskIdentifier' => '<string>',
        'ReplicationTaskSettings' => '<string>',
        'ReplicationTaskStartDate' => <DateTime>,
        'ReplicationTaskStats' => [
            'ElapsedTimeMillis' => <integer>,
            'FreshStartDate' => <DateTime>,
            'FullLoadFinishDate' => <DateTime>,
            'FullLoadProgressPercent' => <integer>,
            'FullLoadStartDate' => <DateTime>,
            'StartDate' => <DateTime>,
            'StopDate' => <DateTime>,
            'TablesErrored' => <integer>,
            'TablesLoaded' => <integer>,
            'TablesLoading' => <integer>,
            'TablesQueued' => <integer>,
        ],
        'SourceEndpointArn' => '<string>',
        'Status' => '<string>',
        'StopReason' => '<string>',
        'TableMappings' => '<string>',
        'TargetEndpointArn' => '<string>',
        'TargetReplicationInstanceArn' => '<string>',
        'TaskData' => '<string>',
    ],
]

Result Details

Members
ReplicationTask
Type: ReplicationTask structure

The deleted replication task.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

Examples

Example 1: Delete Replication Task

Deletes the specified replication task.

$result = $client->deleteReplicationTask([
    'ReplicationTaskArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
]);

Result syntax:

[
    'ReplicationTask' => [
        'MigrationType' => 'full-load',
        'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
        'ReplicationTaskArn' => 'arn:aws:dms:us-east-1:123456789012:task:OEAMB3NXSTZ6LFYZFEPPBBXPYM',
        'ReplicationTaskCreationDate' => ,
        'ReplicationTaskIdentifier' => 'task1',
        'ReplicationTaskSettings' => '{"TargetMetadata":{"TargetSchema":"","SupportLobs":true,"FullLobMode":true,"LobChunkSize":64,"LimitedSizeLobMode":false,"LobMaxSize":0},"FullLoadSettings":{"FullLoadEnabled":true,"ApplyChangesEnabled":false,"TargetTablePrepMode":"DROP_AND_CREATE","CreatePkAfterFullLoad":false,"StopTaskCachedChangesApplied":false,"StopTaskCachedChangesNotApplied":false,"ResumeEnabled":false,"ResumeMinTableSize":100000,"ResumeOnlyClusteredPKTables":true,"MaxFullLoadSubTasks":8,"TransactionConsistencyTimeout":600,"CommitRate":10000},"Logging":{"EnableLogging":false}}',
        'SourceEndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE',
        'Status' => 'creating',
        'TableMappings' => 'file://mappingfile.json',
        'TargetEndpointArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E',
    ],
]

DeleteReplicationTaskAssessmentRun

$result = $client->deleteReplicationTaskAssessmentRun([/* ... */]);
$promise = $client->deleteReplicationTaskAssessmentRunAsync([/* ... */]);

Deletes the record of a single premigration assessment run.

This operation removes all metadata that DMS maintains about this assessment run. However, the operation leaves untouched all information about this assessment run that is stored in your Amazon S3 bucket.

Parameter Syntax

$result = $client->deleteReplicationTaskAssessmentRun([
    'ReplicationTaskAssessmentRunArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ReplicationTaskAssessmentRunArn
Required: Yes
Type: string

Amazon Resource Name (ARN) of the premigration assessment run to be deleted.

Result Syntax

[
    'ReplicationTaskAssessmentRun' => [
        'AssessmentProgress' => [
            'IndividualAssessmentCompletedCount' => <integer>,
            'IndividualAssessmentCount' => <integer>,
        ],
        'AssessmentRunName' => '<string>',
        'IsLatestTaskAssessmentRun' => true || false,
        'LastFailureMessage' => '<string>',
        'ReplicationTaskArn' => '<string>',
        'ReplicationTaskAssessmentRunArn' => '<string>',
        'ReplicationTaskAssessmentRunCreationDate' => <DateTime>,
        'ResultEncryptionMode' => '<string>',
        'ResultKmsKeyArn' => '<string>',
        'ResultLocationBucket' => '<string>',
        'ResultLocationFolder' => '<string>',
        'ResultStatistic' => [
            'Cancelled' => <integer>,
            'Error' => <integer>,
            'Failed' => <integer>,
            'Passed' => <integer>,
            'Skipped' => <integer>,
            'Warning' => <integer>,
        ],
        'ServiceAccessRoleArn' => '<string>',
        'Status' => '<string>',
    ],
]

Result Details

Members
ReplicationTaskAssessmentRun

The ReplicationTaskAssessmentRun object for the deleted assessment run.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

DescribeAccountAttributes

$result = $client->describeAccountAttributes([/* ... */]);
$promise = $client->describeAccountAttributesAsync([/* ... */]);

Lists all of the DMS attributes for a customer account. These attributes include DMS quotas for the account and a unique account identifier in a particular DMS region. DMS quotas include a list of resource quotas supported by the account, such as the number of replication instances allowed. The description for each resource quota, includes the quota name, current usage toward that quota, and the quota's maximum value. DMS uses the unique account identifier to name each artifact used by DMS in the given region.

This command does not take any parameters.

Parameter Syntax

$result = $client->describeAccountAttributes([
]);

Parameter Details

Members

Result Syntax

[
    'AccountQuotas' => [
        [
            'AccountQuotaName' => '<string>',
            'Max' => <integer>,
            'Used' => <integer>,
        ],
        // ...
    ],
    'UniqueAccountIdentifier' => '<string>',
]

Result Details

Members
AccountQuotas
Type: Array of AccountQuota structures

Account quota information.

UniqueAccountIdentifier
Type: string

A unique DMS identifier for an account in a particular Amazon Web Services Region. The value of this identifier has the following format: c99999999999. DMS uses this identifier to name artifacts. For example, DMS uses this identifier to name the default Amazon S3 bucket for storing task assessment reports in a given Amazon Web Services Region. The format of this S3 bucket name is the following: dms-AccountNumber-UniqueAccountIdentifier. Here is an example name for this default S3 bucket: dms-111122223333-c44445555666.

DMS supports the UniqueAccountIdentifier parameter in versions 3.1.4 and later.

Errors

There are no errors described for this operation.

Examples

Example 1: Describe acount attributes

Lists all of the AWS DMS attributes for a customer account. The attributes include AWS DMS quotas for the account, such as the number of replication instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value. This operation does not take any parameters.

$result = $client->describeAccountAttributes([
]);

Result syntax:

[
    'AccountQuotas' => [
        [
            'AccountQuotaName' => 'ReplicationInstances',
            'Max' => 20,
            'Used' => 0,
        ],
        [
            'AccountQuotaName' => 'AllocatedStorage',
            'Max' => 20,
            'Used' => 0,
        ],
        [
            'AccountQuotaName' => 'Endpoints',
            'Max' => 20,
            'Used' => 0,
        ],
    ],
]

DescribeApplicableIndividualAssessments

$result = $client->describeApplicableIndividualAssessments([/* ... */]);
$promise = $client->describeApplicableIndividualAssessmentsAsync([/* ... */]);

Provides a list of individual assessments that you can specify for a new premigration assessment run, given one or more parameters.

If you specify an existing migration task, this operation provides the default individual assessments you can specify for that task. Otherwise, the specified parameters model elements of a possible migration task on which to base a premigration assessment run.

To use these migration task modeling parameters, you must specify an existing replication instance, a source database engine, a target database engine, and a migration type. This combination of parameters potentially limits the default individual assessments available for an assessment run created for a corresponding migration task.

If you specify no parameters, this operation provides a list of all possible individual assessments that you can specify for an assessment run. If you specify any one of the task modeling parameters, you must specify all of them or the operation cannot provide a list of individual assessments. The only parameter that you can specify alone is for an existing migration task. The specified task definition then determines the default list of individual assessments that you can specify in an assessment run for the task.

Parameter Syntax

$result = $client->describeApplicableIndividualAssessments([
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
    'MigrationType' => 'full-load|cdc|full-load-and-cdc',
    'ReplicationConfigArn' => '<string>',
    'ReplicationInstanceArn' => '<string>',
    'ReplicationTaskArn' => '<string>',
    'SourceEngineName' => '<string>',
    'TargetEngineName' => '<string>',
]);

Parameter Details

Members
Marker
Type: string

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.

MaxRecords
Type: int

Maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a pagination token called a marker is included in the response so that the remaining results can be retrieved.

MigrationType
Type: string

Name of the migration type that each provided individual assessment must support.

ReplicationConfigArn
Type: string

Amazon Resource Name (ARN) of a serverless replication on which you want to base the default list of individual assessments.

ReplicationInstanceArn
Type: string

ARN of a replication instance on which you want to base the default list of individual assessments.

ReplicationTaskArn
Type: string

Amazon Resource Name (ARN) of a migration task on which you want to base the default list of individual assessments.

SourceEngineName
Type: string

Name of a database engine that the specified replication instance supports as a source.

TargetEngineName
Type: string

Name of a database engine that the specified replication instance supports as a target.

Result Syntax

[
    'IndividualAssessmentNames' => ['<string>', ...],
    'Marker' => '<string>',
]

Result Details

Members
IndividualAssessmentNames
Type: Array of strings

List of names for the individual assessments supported by the premigration assessment run that you start based on the specified request parameters. For more information on the available individual assessments, including compatibility with different migration task configurations, see Working with premigration assessment runs in the Database Migration Service User Guide.

Marker
Type: string

Pagination token returned for you to pass to a subsequent request. If you pass this token as the Marker value in a subsequent request, the response includes only records beyond the marker, up to the value specified in the request by MaxRecords.

Errors

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

DescribeCertificates

$result = $client->describeCertificates([/* ... */]);
$promise = $client->describeCertificatesAsync([/* ... */]);

Provides a description of the certificate.

Parameter Syntax

$result = $client->describeCertificates([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the certificates described in the form of key-value pairs. Valid values are certificate-arn and certificate-id.

Marker
Type: string

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.

MaxRecords
Type: int

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

Default: 10

Result Syntax

[
    'Certificates' => [
        [
            'CertificateArn' => '<string>',
            'CertificateCreationDate' => <DateTime>,
            'CertificateIdentifier' => '<string>',
            'CertificateOwner' => '<string>',
            'CertificatePem' => '<string>',
            'CertificateWallet' => <string || resource || Psr\Http\Message\StreamInterface>,
            'KeyLength' => <integer>,
            'KmsKeyId' => '<string>',
            'SigningAlgorithm' => '<string>',
            'ValidFromDate' => <DateTime>,
            'ValidToDate' => <DateTime>,
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
Certificates
Type: Array of Certificate structures

The Secure Sockets Layer (SSL) certificates associated with the replication instance.

Marker
Type: string

The pagination token.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe certificates

Provides a description of the certificate.

$result = $client->describeCertificates([
    'Filters' => [
        [
            'Name' => 'string',
            'Values' => [
                'string',
                'string',
            ],
        ],
    ],
    'Marker' => '',
    'MaxRecords' => 123,
]);

Result syntax:

[
    'Certificates' => [
    ],
    'Marker' => '',
]

DescribeConnections

$result = $client->describeConnections([/* ... */]);
$promise = $client->describeConnectionsAsync([/* ... */]);

Describes the status of the connections that have been made between the replication instance and an endpoint. Connections are created when you test an endpoint.

Parameter Syntax

$result = $client->describeConnections([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

The filters applied to the connection.

Valid filter names: endpoint-arn | replication-instance-arn

Marker
Type: string

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.

MaxRecords
Type: int

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

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'Connections' => [
        [
            'EndpointArn' => '<string>',
            'EndpointIdentifier' => '<string>',
            'LastFailureMessage' => '<string>',
            'ReplicationInstanceArn' => '<string>',
            'ReplicationInstanceIdentifier' => '<string>',
            'Status' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
Connections
Type: Array of Connection structures

A description of the connections.

Marker
Type: string

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.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe connections

Describes the status of the connections that have been made between the replication instance and an endpoint. Connections are created when you test an endpoint.

$result = $client->describeConnections([
    'Filters' => [
        [
            'Name' => 'string',
            'Values' => [
                'string',
                'string',
            ],
        ],
    ],
    'Marker' => '',
    'MaxRecords' => 123,
]);

Result syntax:

[
    'Connections' => [
        [
            'EndpointArn' => 'arn:aws:dms:us-east-arn:aws:dms:us-east-1:123456789012:endpoint:ZW5UAN6P4E77EC7YWHK4RZZ3BE',
            'EndpointIdentifier' => 'testsrc1',
            'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
            'ReplicationInstanceIdentifier' => 'test',
            'Status' => 'successful',
        ],
    ],
    'Marker' => '',
]

DescribeConversionConfiguration

$result = $client->describeConversionConfiguration([/* ... */]);
$promise = $client->describeConversionConfigurationAsync([/* ... */]);

Returns configuration parameters for a schema conversion project.

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

Parameter Syntax

$result = $client->describeConversionConfiguration([
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

The name or Amazon Resource Name (ARN) for the schema conversion project to describe.

Result Syntax

[
    'ConversionConfiguration' => '<string>',
    'MigrationProjectIdentifier' => '<string>',
]

Result Details

Members
ConversionConfiguration
Type: string

A JSON string that contains the schema conversion settings for the migration project. For the format and available settings, see Specifying schema conversion settings for migration projects.

MigrationProjectIdentifier
Type: string

The name or Amazon Resource Name (ARN) for the schema conversion project.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Retrieving conversion configuration for a migration project

The following example retrieves the conversion configuration for a migration project.

$result = $client->describeConversionConfiguration([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
]);

Result syntax:

[
    'ConversionConfiguration' => '{"Common project settings":{"ShowSeverityLevelInSql":"CRITICAL","EnableGenAiConversion":false},"MSSQL_TO_AURORA_POSTGRESQL":{"ConvertProceduresToFunction":true,"UniqueIndexGeneration":true,"CaseSensitivityNames":false},"Conversion version":{"MSSQL_TO_AURORA_POSTGRESQL_target_engine_version":"15"}}',
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
]

DescribeDataMigrations

$result = $client->describeDataMigrations([/* ... */]);
$promise = $client->describeDataMigrationsAsync([/* ... */]);

Returns information about data migrations.

Parameter Syntax

$result = $client->describeDataMigrations([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
    'WithoutSettings' => true || false,
    'WithoutStatistics' => true || false,
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the data migrations.

Marker
Type: string

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.

MaxRecords
Type: int

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

WithoutSettings
Type: boolean

An option to set to avoid returning information about settings. Use this to reduce overhead when setting information is too large. To use this option, choose true; otherwise, choose false (the default).

WithoutStatistics
Type: boolean

An option to set to avoid returning information about statistics. Use this to reduce overhead when statistics information is too large. To use this option, choose true; otherwise, choose false (the default).

Result Syntax

[
    'DataMigrations' => [
        [
            'DataMigrationArn' => '<string>',
            'DataMigrationCidrBlocks' => ['<string>', ...],
            'DataMigrationCreateTime' => <DateTime>,
            'DataMigrationEndTime' => <DateTime>,
            'DataMigrationName' => '<string>',
            'DataMigrationSettings' => [
                'CloudwatchLogsEnabled' => true || false,
                'NumberOfJobs' => <integer>,
                'SelectionRules' => '<string>',
            ],
            'DataMigrationStartTime' => <DateTime>,
            'DataMigrationStatistics' => [
                'CDCLatency' => <integer>,
                'ElapsedTimeMillis' => <integer>,
                'FullLoadPercentage' => <integer>,
                'StartTime' => <DateTime>,
                'StopTime' => <DateTime>,
                'TablesErrored' => <integer>,
                'TablesLoaded' => <integer>,
                'TablesLoading' => <integer>,
                'TablesQueued' => <integer>,
            ],
            'DataMigrationStatus' => '<string>',
            'DataMigrationType' => 'full-load|cdc|full-load-and-cdc',
            'LastFailureMessage' => '<string>',
            'MigrationProjectArn' => '<string>',
            'PublicIpAddresses' => ['<string>', ...],
            'ServiceAccessRoleArn' => '<string>',
            'SourceDataSettings' => [
                [
                    'CDCStartPosition' => '<string>',
                    'CDCStartTime' => <DateTime>,
                    'CDCStopTime' => <DateTime>,
                    'SlotName' => '<string>',
                ],
                // ...
            ],
            'StopReason' => '<string>',
            'TargetDataSettings' => [
                [
                    'TablePreparationMode' => 'drop-tables-on-target|truncate|do-nothing',
                ],
                // ...
            ],
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DataMigrations
Type: Array of DataMigration structures

Returns information about the data migrations used in the project.

Marker
Type: string

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.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

ResourceNotFoundFault:

The resource could not be found.

FailedDependencyFault:

A dependency threw an exception.

DescribeDataProviders

$result = $client->describeDataProviders([/* ... */]);
$promise = $client->describeDataProvidersAsync([/* ... */]);

Returns a paginated list of data providers for your account in the current region.

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

Parameter Syntax

$result = $client->describeDataProviders([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

The filters to apply to the data providers.

The following filter names are supported:

  • data-provider-identifier – The data provider name or ARN.

Marker
Type: string

Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

MaxRecords
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

Result Syntax

[
    'DataProviders' => [
        [
            'DataProviderArn' => '<string>',
            'DataProviderCreationTime' => <DateTime>,
            'DataProviderName' => '<string>',
            'Description' => '<string>',
            'Engine' => '<string>',
            'Settings' => [
                'DocDbSettings' => [
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'IbmDb2LuwSettings' => [
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'EncryptionAlgorithm' => <integer>,
                    'Port' => <integer>,
                    'S3AccessRoleArn' => '<string>',
                    'S3Path' => '<string>',
                    'SecurityMechanism' => <integer>,
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'IbmDb2zOsSettings' => [
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'S3AccessRoleArn' => '<string>',
                    'S3Path' => '<string>',
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'MariaDbSettings' => [
                    'CertificateArn' => '<string>',
                    'Port' => <integer>,
                    'S3AccessRoleArn' => '<string>',
                    'S3Path' => '<string>',
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'MicrosoftSqlServerSettings' => [
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'S3AccessRoleArn' => '<string>',
                    'S3Path' => '<string>',
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'MongoDbSettings' => [
                    'AuthMechanism' => 'default|mongodb_cr|scram_sha_1',
                    'AuthSource' => '<string>',
                    'AuthType' => 'no|password',
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'MySqlSettings' => [
                    'CertificateArn' => '<string>',
                    'Port' => <integer>,
                    'S3AccessRoleArn' => '<string>',
                    'S3Path' => '<string>',
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'OracleSettings' => [
                    'AsmServer' => '<string>',
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'S3AccessRoleArn' => '<string>',
                    'S3Path' => '<string>',
                    'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
                    'SecretsManagerOracleAsmSecretId' => '<string>',
                    'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
                    'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'PostgreSqlSettings' => [
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'S3AccessRoleArn' => '<string>',
                    'S3Path' => '<string>',
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'RedshiftSettings' => [
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'S3AccessRoleArn' => '<string>',
                    'S3Path' => '<string>',
                    'ServerName' => '<string>',
                ],
                'SybaseAseSettings' => [
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'EncryptPassword' => true || false,
                    'Port' => <integer>,
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
            ],
            'Virtual' => true || false,
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
DataProviders
Type: Array of DataProvider structures

A description of data providers.

Marker
Type: string

Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

Errors

ResourceNotFoundFault:

The resource could not be found.

AccessDeniedFault:

DMS was denied access to the endpoint. Check that the role is correctly configured.

FailedDependencyFault:

A dependency threw an exception.

Examples

Example 1: Describe data providers with a filter

The following example retrieves the details of a data provider identified by its ARN.

$result = $client->describeDataProviders([
    'Filters' => [
        [
            'Name' => 'data-provider-identifier',
            'Values' => [
                'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
            ],
        ],
    ],
]);

Result syntax:

[
    'DataProviders' => [
        [
            'DataProviderArn' => 'arn:aws:dms:us-east-1:111122223333:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRS',
            'DataProviderCreationTime' => ,
            'DataProviderName' => 'example-data-provider',
            'Description' => 'Example data provider for documentation',
            'Engine' => 'sqlserver',
            'Settings' => [
                'MicrosoftSqlServerSettings' => [
                    'CertificateArn' => 'arn:aws:dms:us-east-1:111122223333:cert:EXAMPLEABCDEFGHIJKLMNOPQRS',
                    'DatabaseName' => 'ExampleDatabase',
                    'Port' => 1433,
                    'ServerName' => 'example-source-server.us-east-1.rds.amazonaws.com',
                    'SslMode' => 'verify-full',
                ],
            ],
        ],
    ],
]

DescribeEndpointSettings

$result = $client->describeEndpointSettings([/* ... */]);
$promise = $client->describeEndpointSettingsAsync([/* ... */]);

Returns information about the possible endpoint settings available when you create an endpoint for a specific database engine.

Parameter Syntax

$result = $client->describeEndpointSettings([
    'EngineName' => '<string>', // REQUIRED
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
EngineName
Required: Yes
Type: string

The database engine used for your source or target endpoint.

Marker
Type: string

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.

MaxRecords
Type: int

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

Result Syntax

[
    'EndpointSettings' => [
        [
            'Applicability' => '<string>',
            'DefaultValue' => '<string>',
            'EnumValues' => ['<string>', ...],
            'IntValueMax' => <integer>,
            'IntValueMin' => <integer>,
            'Name' => '<string>',
            'Sensitive' => true || false,
            'Type' => 'string|boolean|integer|enum',
            'Units' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
EndpointSettings
Type: Array of EndpointSetting structures

Descriptions of the endpoint settings available for your source or target database engine.

Marker
Type: string

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.

Errors

There are no errors described for this operation.

DescribeEndpointTypes

$result = $client->describeEndpointTypes([/* ... */]);
$promise = $client->describeEndpointTypesAsync([/* ... */]);

Returns information about the type of endpoints available.

Parameter Syntax

$result = $client->describeEndpointTypes([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the endpoint types.

Valid filter names: engine-name | endpoint-type

Marker
Type: string

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.

MaxRecords
Type: int

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

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'Marker' => '<string>',
    'SupportedEndpointTypes' => [
        [
            'EndpointType' => 'source|target',
            'EngineDisplayName' => '<string>',
            'EngineName' => '<string>',
            'ReplicationInstanceEngineMinimumVersion' => '<string>',
            'SupportsCDC' => true || false,
        ],
        // ...
    ],
]

Result Details

Members
Marker
Type: string

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.

SupportedEndpointTypes
Type: Array of SupportedEndpointType structures

The types of endpoints that are supported.

Errors

There are no errors described for this operation.

Examples

Example 1: Describe endpoint types

Returns information about the type of endpoints available.

$result = $client->describeEndpointTypes([
    'Filters' => [
        [
            'Name' => 'string',
            'Values' => [
                'string',
                'string',
            ],
        ],
    ],
    'Marker' => '',
    'MaxRecords' => 123,
]);

Result syntax:

[
    'Marker' => '',
    'SupportedEndpointTypes' => [
    ],
]

DescribeEndpoints

$result = $client->describeEndpoints([/* ... */]);
$promise = $client->describeEndpointsAsync([/* ... */]);

Returns information about the endpoints for your account in the current region.

Parameter Syntax

$result = $client->describeEndpoints([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the endpoints.

Valid filter names: endpoint-arn | endpoint-type | endpoint-id | engine-name

Marker
Type: string

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.

MaxRecords
Type: int

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

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'Endpoints' => [
        [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'DmsTransferSettings' => [
                'BucketName' => '<string>',
                'ServiceAccessRoleArn' => '<string>',
            ],
            'DocDbSettings' => [
                'DatabaseName' => '<string>',
                'DocsToInvestigate' => <integer>,
                'ExtractDocId' => true || false,
                'KmsKeyId' => '<string>',
                'NestingLevel' => 'none|one',
                'Password' => '<string>',
                'Port' => <integer>,
                'ReplicateShardCollections' => true || false,
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'UseUpdateLookUp' => true || false,
                'Username' => '<string>',
            ],
            'DynamoDbSettings' => [
                'ServiceAccessRoleArn' => '<string>',
            ],
            'ElasticsearchSettings' => [
                'EndpointUri' => '<string>',
                'ErrorRetryDuration' => <integer>,
                'FullLoadErrorPercentage' => <integer>,
                'ServiceAccessRoleArn' => '<string>',
                'UseNewMappingType' => true || false,
            ],
            'EndpointArn' => '<string>',
            'EndpointIdentifier' => '<string>',
            'EndpointType' => 'source|target',
            'EngineDisplayName' => '<string>',
            'EngineName' => '<string>',
            'ExternalId' => '<string>',
            'ExternalTableDefinition' => '<string>',
            'ExtraConnectionAttributes' => '<string>',
            'GcpMySQLSettings' => [
                'AfterConnectScript' => '<string>',
                'CleanSourceMetadataOnMismatch' => true || false,
                'DatabaseName' => '<string>',
                'EventsPollInterval' => <integer>,
                'MaxFileSize' => <integer>,
                'ParallelLoadThreads' => <integer>,
                'Password' => '<string>',
                'Port' => <integer>,
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'ServerTimezone' => '<string>',
                'TargetDbType' => 'specific-database|multiple-databases',
                'Username' => '<string>',
            ],
            'IBMDb2Settings' => [
                'CurrentLsn' => '<string>',
                'DatabaseName' => '<string>',
                'KeepCsvFiles' => true || false,
                'LoadTimeout' => <integer>,
                'MaxFileSize' => <integer>,
                'MaxKBytesPerRead' => <integer>,
                'Password' => '<string>',
                'Port' => <integer>,
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'SetDataCaptureChanges' => true || false,
                'Username' => '<string>',
                'WriteBufferSize' => <integer>,
            ],
            'IsReadOnly' => true || false,
            'KafkaSettings' => [
                'Broker' => '<string>',
                'IncludeControlDetails' => true || false,
                'IncludeNullAndEmpty' => true || false,
                'IncludePartitionValue' => true || false,
                'IncludeTableAlterOperations' => true || false,
                'IncludeTransactionDetails' => true || false,
                'MessageFormat' => 'json|json-unformatted',
                'MessageMaxBytes' => <integer>,
                'NoHexPrefix' => true || false,
                'PartitionIncludeSchemaTable' => true || false,
                'SaslMechanism' => 'scram-sha-512|plain',
                'SaslPassword' => '<string>',
                'SaslUsername' => '<string>',
                'SecurityProtocol' => 'plaintext|ssl-authentication|ssl-encryption|sasl-ssl',
                'SslCaCertificateArn' => '<string>',
                'SslClientCertificateArn' => '<string>',
                'SslClientKeyArn' => '<string>',
                'SslClientKeyPassword' => '<string>',
                'SslEndpointIdentificationAlgorithm' => 'none|https',
                'Topic' => '<string>',
                'UseLargeIntegerValue' => true || false,
            ],
            'KinesisSettings' => [
                'IncludeControlDetails' => true || false,
                'IncludeNullAndEmpty' => true || false,
                'IncludePartitionValue' => true || false,
                'IncludeTableAlterOperations' => true || false,
                'IncludeTransactionDetails' => true || false,
                'MessageFormat' => 'json|json-unformatted',
                'NoHexPrefix' => true || false,
                'PartitionIncludeSchemaTable' => true || false,
                'ServiceAccessRoleArn' => '<string>',
                'StreamArn' => '<string>',
                'UseLargeIntegerValue' => true || false,
            ],
            'KmsKeyId' => '<string>',
            'LakehouseSettings' => [
                'Arn' => '<string>',
            ],
            'MicrosoftSQLServerSettings' => [
                'AuthenticationMethod' => 'password|kerberos',
                'BcpPacketSize' => <integer>,
                'ControlTablesFileGroup' => '<string>',
                'DatabaseName' => '<string>',
                'ForceLobLookup' => true || false,
                'Password' => '<string>',
                'Port' => <integer>,
                'QuerySingleAlwaysOnNode' => true || false,
                'ReadBackupOnly' => true || false,
                'SafeguardPolicy' => 'rely-on-sql-server-replication-agent|exclusive-automatic-truncation|shared-automatic-truncation',
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'TlogAccessMode' => 'BackupOnly|PreferBackup|PreferTlog|TlogOnly',
                'TrimSpaceInChar' => true || false,
                'UseBcpFullLoad' => true || false,
                'UseThirdPartyBackupDevice' => true || false,
                'Username' => '<string>',
            ],
            'MongoDbSettings' => [
                'AuthMechanism' => 'default|mongodb_cr|scram_sha_1',
                'AuthSource' => '<string>',
                'AuthType' => 'no|password',
                'DatabaseName' => '<string>',
                'DocsToInvestigate' => '<string>',
                'ExtractDocId' => '<string>',
                'KmsKeyId' => '<string>',
                'NestingLevel' => 'none|one',
                'Password' => '<string>',
                'Port' => <integer>,
                'ReplicateShardCollections' => true || false,
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'UseUpdateLookUp' => true || false,
                'Username' => '<string>',
            ],
            'MySQLSettings' => [
                'AfterConnectScript' => '<string>',
                'AuthenticationMethod' => 'password|iam',
                'CleanSourceMetadataOnMismatch' => true || false,
                'DatabaseName' => '<string>',
                'EventsPollInterval' => <integer>,
                'ExecuteTimeout' => <integer>,
                'MaxFileSize' => <integer>,
                'ParallelLoadThreads' => <integer>,
                'Password' => '<string>',
                'Port' => <integer>,
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'ServerTimezone' => '<string>',
                'ServiceAccessRoleArn' => '<string>',
                'TargetDbType' => 'specific-database|multiple-databases',
                'Username' => '<string>',
            ],
            'NeptuneSettings' => [
                'ErrorRetryDuration' => <integer>,
                'IamAuthEnabled' => true || false,
                'MaxFileSize' => <integer>,
                'MaxRetryCount' => <integer>,
                'S3BucketFolder' => '<string>',
                'S3BucketName' => '<string>',
                'ServiceAccessRoleArn' => '<string>',
            ],
            'OracleSettings' => [
                'AccessAlternateDirectly' => true || false,
                'AddSupplementalLogging' => true || false,
                'AdditionalArchivedLogDestId' => <integer>,
                'AllowSelectNestedTables' => true || false,
                'ArchivedLogDestId' => <integer>,
                'ArchivedLogsOnly' => true || false,
                'AsmPassword' => '<string>',
                'AsmServer' => '<string>',
                'AsmUser' => '<string>',
                'AuthenticationMethod' => 'password|kerberos',
                'CharLengthSemantics' => 'default|char|byte',
                'ConvertTimestampWithZoneToUTC' => true || false,
                'DatabaseName' => '<string>',
                'DirectPathNoLog' => true || false,
                'DirectPathParallelLoad' => true || false,
                'EnableHomogenousTablespace' => true || false,
                'ExtraArchivedLogDestIds' => [<integer>, ...],
                'FailTasksOnLobTruncation' => true || false,
                'NumberDatatypeScale' => <integer>,
                'OpenTransactionWindow' => <integer>,
                'OraclePathPrefix' => '<string>',
                'ParallelAsmReadThreads' => <integer>,
                'Password' => '<string>',
                'Port' => <integer>,
                'ReadAheadBlocks' => <integer>,
                'ReadTableSpaceName' => true || false,
                'ReplacePathPrefix' => true || false,
                'RetryInterval' => <integer>,
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
                'SecretsManagerOracleAsmSecretId' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'SecurityDbEncryption' => '<string>',
                'SecurityDbEncryptionName' => '<string>',
                'ServerName' => '<string>',
                'SpatialDataOptionToGeoJsonFunctionName' => '<string>',
                'StandbyDelayTime' => <integer>,
                'TrimSpaceInChar' => true || false,
                'UseAlternateFolderForOnline' => true || false,
                'UseBFile' => true || false,
                'UseDirectPathFullLoad' => true || false,
                'UseLogminerReader' => true || false,
                'UsePathPrefix' => '<string>',
                'Username' => '<string>',
            ],
            'Port' => <integer>,
            'PostgreSQLSettings' => [
                'AfterConnectScript' => '<string>',
                'AuthenticationMethod' => 'password|iam',
                'BabelfishDatabaseName' => '<string>',
                'CaptureDdls' => true || false,
                'DatabaseMode' => 'default|babelfish',
                'DatabaseName' => '<string>',
                'DdlArtifactsSchema' => '<string>',
                'DisableUnicodeSourceFilter' => true || false,
                'ExecuteTimeout' => <integer>,
                'FailTasksOnLobTruncation' => true || false,
                'HeartbeatEnable' => true || false,
                'HeartbeatFrequency' => <integer>,
                'HeartbeatSchema' => '<string>',
                'MapBooleanAsBoolean' => true || false,
                'MapJsonbAsClob' => true || false,
                'MapLongVarcharAs' => 'wstring|clob|nclob',
                'MaxFileSize' => <integer>,
                'Password' => '<string>',
                'PluginName' => 'no-preference|test-decoding|pglogical',
                'Port' => <integer>,
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'ServiceAccessRoleArn' => '<string>',
                'SlotName' => '<string>',
                'TrimSpaceInChar' => true || false,
                'Username' => '<string>',
            ],
            'RedisSettings' => [
                'AuthPassword' => '<string>',
                'AuthType' => 'none|auth-role|auth-token',
                'AuthUserName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslCaCertificateArn' => '<string>',
                'SslSecurityProtocol' => 'plaintext|ssl-encryption',
            ],
            'RedshiftSettings' => [
                'AcceptAnyDate' => true || false,
                'AfterConnectScript' => '<string>',
                'BucketFolder' => '<string>',
                'BucketName' => '<string>',
                'CaseSensitiveNames' => true || false,
                'CompUpdate' => true || false,
                'ConnectionTimeout' => <integer>,
                'DatabaseName' => '<string>',
                'DateFormat' => '<string>',
                'EmptyAsNull' => true || false,
                'EncryptionMode' => 'sse-s3|sse-kms',
                'ExplicitIds' => true || false,
                'FileTransferUploadStreams' => <integer>,
                'LoadTimeout' => <integer>,
                'MapBooleanAsBoolean' => true || false,
                'MaxFileSize' => <integer>,
                'Password' => '<string>',
                'Port' => <integer>,
                'RemoveQuotes' => true || false,
                'ReplaceChars' => '<string>',
                'ReplaceInvalidChars' => '<string>',
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'ServerSideEncryptionKmsKeyId' => '<string>',
                'ServiceAccessRoleArn' => '<string>',
                'TimeFormat' => '<string>',
                'TrimBlanks' => true || false,
                'TruncateColumns' => true || false,
                'Username' => '<string>',
                'WriteBufferSize' => <integer>,
            ],
            'S3Settings' => [
                'AddColumnName' => true || false,
                'AddTrailingPaddingCharacter' => true || false,
                'BucketFolder' => '<string>',
                'BucketName' => '<string>',
                'CannedAclForObjects' => 'none|private|public-read|public-read-write|authenticated-read|aws-exec-read|bucket-owner-read|bucket-owner-full-control',
                'CdcInsertsAndUpdates' => true || false,
                'CdcInsertsOnly' => true || false,
                'CdcMaxBatchInterval' => <integer>,
                'CdcMinFileSize' => <integer>,
                'CdcPath' => '<string>',
                'CompressionType' => 'none|gzip',
                'CsvDelimiter' => '<string>',
                'CsvNoSupValue' => '<string>',
                'CsvNullValue' => '<string>',
                'CsvRowDelimiter' => '<string>',
                'DataFormat' => 'csv|parquet',
                'DataPageSize' => <integer>,
                'DatePartitionDelimiter' => 'SLASH|UNDERSCORE|DASH|NONE',
                'DatePartitionEnabled' => true || false,
                'DatePartitionSequence' => 'YYYYMMDD|YYYYMMDDHH|YYYYMM|MMYYYYDD|DDMMYYYY',
                'DatePartitionTimezone' => '<string>',
                'DictPageSizeLimit' => <integer>,
                'EnableStatistics' => true || false,
                'EncodingType' => 'plain|plain-dictionary|rle-dictionary',
                'EncryptionMode' => 'sse-s3|sse-kms',
                'ExpectedBucketOwner' => '<string>',
                'ExternalTableDefinition' => '<string>',
                'GlueCatalogGeneration' => true || false,
                'IgnoreHeaderRows' => <integer>,
                'IncludeOpForFullLoad' => true || false,
                'MaxFileSize' => <integer>,
                'ParquetTimestampInMillisecond' => true || false,
                'ParquetVersion' => 'parquet-1-0|parquet-2-0',
                'PreserveTransactions' => true || false,
                'Rfc4180' => true || false,
                'RowGroupLength' => <integer>,
                'ServerSideEncryptionKmsKeyId' => '<string>',
                'ServiceAccessRoleArn' => '<string>',
                'TimestampColumnName' => '<string>',
                'UseCsvNoSupValue' => true || false,
                'UseTaskStartTimeForFullLoadTimestamp' => true || false,
            ],
            'ServerName' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
            'Status' => '<string>',
            'SybaseSettings' => [
                'DatabaseName' => '<string>',
                'Password' => '<string>',
                'Port' => <integer>,
                'SecretsManagerAccessRoleArn' => '<string>',
                'SecretsManagerSecretId' => '<string>',
                'ServerName' => '<string>',
                'Username' => '<string>',
            ],
            'TimestreamSettings' => [
                'CdcInsertsAndUpdates' => true || false,
                'DatabaseName' => '<string>',
                'EnableMagneticStoreWrites' => true || false,
                'MagneticDuration' => <integer>,
                'MemoryDuration' => <integer>,
            ],
            'Username' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
Endpoints
Type: Array of Endpoint structures

Endpoint description.

Marker
Type: string

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.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe endpoints

Returns information about the endpoints for your account in the current region.

$result = $client->describeEndpoints([
    'Filters' => [
        [
            'Name' => 'string',
            'Values' => [
                'string',
                'string',
            ],
        ],
    ],
    'Marker' => '',
    'MaxRecords' => 123,
]);

Result syntax:

[
    'Endpoints' => [
    ],
    'Marker' => '',
]

DescribeEngineVersions

$result = $client->describeEngineVersions([/* ... */]);
$promise = $client->describeEngineVersionsAsync([/* ... */]);

Returns information about the replication instance versions used in the project.

Parameter Syntax

$result = $client->describeEngineVersions([
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
]);

Parameter Details

Members
Marker
Type: string

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.

MaxRecords
Type: int

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

Result Syntax

[
    'EngineVersions' => [
        [
            'AutoUpgradeDate' => <DateTime>,
            'AvailableUpgrades' => ['<string>', ...],
            'DeprecationDate' => <DateTime>,
            'ForceUpgradeDate' => <DateTime>,
            'LaunchDate' => <DateTime>,
            'Lifecycle' => '<string>',
            'ReleaseStatus' => 'beta|prod',
            'Version' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
EngineVersions
Type: Array of EngineVersion structures

Returned EngineVersion objects that describe the replication instance engine versions used in the project.

Marker
Type: string

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.

Errors

There are no errors described for this operation.

DescribeEventCategories

$result = $client->describeEventCategories([/* ... */]);
$promise = $client->describeEventCategoriesAsync([/* ... */]);

Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in Working with Events and Notifications in the Database Migration Service User Guide.

Parameter Syntax

$result = $client->describeEventCategories([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'SourceType' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the event categories.

SourceType
Type: string

The type of DMS resource that generates events.

Valid values: replication-instance | replication-task

Result Syntax

[
    'EventCategoryGroupList' => [
        [
            'EventCategories' => ['<string>', ...],
            'SourceType' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
EventCategoryGroupList
Type: Array of EventCategoryGroup structures

A list of event categories.

Errors

There are no errors described for this operation.

DescribeEventSubscriptions

$result = $client->describeEventSubscriptions([/* ... */]);
$promise = $client->describeEventSubscriptionsAsync([/* ... */]);

Lists all the event subscriptions for a customer account. The description of a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, SourceID, CreationTime, and Status.

If you specify SubscriptionName, this action lists the description for that subscription.

Parameter Syntax

$result = $client->describeEventSubscriptions([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
    'SubscriptionName' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to event subscriptions.

Valid filter names: event-subscription-arn | event-subscription-id

Marker
Type: string

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.

MaxRecords
Type: int

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

Default: 100

Constraints: Minimum 20, maximum 100.

SubscriptionName
Type: string

The name of the DMS event subscription to be described.

Result Syntax

[
    'EventSubscriptionsList' => [
        [
            'CustSubscriptionId' => '<string>',
            'CustomerAwsId' => '<string>',
            'Enabled' => true || false,
            'EventCategoriesList' => ['<string>', ...],
            'SnsTopicArn' => '<string>',
            'SourceIdsList' => ['<string>', ...],
            'SourceType' => '<string>',
            'Status' => '<string>',
            'SubscriptionCreationTime' => '<string>',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
EventSubscriptionsList
Type: Array of EventSubscription structures

A list of event subscriptions.

Marker
Type: string

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.

Errors

ResourceNotFoundFault:

The resource could not be found.

DescribeEvents

$result = $client->describeEvents([/* ... */]);
$promise = $client->describeEventsAsync([/* ... */]);

Lists events for a given source identifier and source type. You can also specify a start and end time. For more information on DMS events, see Working with Events and Notifications in the Database Migration Service User Guide.

Parameter Syntax

$result = $client->describeEvents([
    'Duration' => <integer>,
    'EndTime' => <integer || string || DateTime>,
    'EventCategories' => ['<string>', ...],
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
    'SourceIdentifier' => '<string>',
    'SourceType' => 'replication-instance',
    'StartTime' => <integer || string || DateTime>,
]);

Parameter Details

Members
Duration
Type: int

The duration of the events to be listed.

EndTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The end time for the events to be listed.

EventCategories
Type: Array of strings

A list of event categories for the source type that you've chosen.

Filters
Type: Array of Filter structures

Filters applied to events. The only valid filter is replication-instance-id.

Marker
Type: string

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.

MaxRecords
Type: int

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

Default: 100

Constraints: Minimum 20, maximum 100.

SourceIdentifier
Type: string

The identifier of an event source.

SourceType
Type: string

The type of DMS resource that generates events.

Valid values: replication-instance | replication-task

StartTime
Type: timestamp (string|DateTime or anything parsable by strtotime)

The start time for the events to be listed.

Result Syntax

[
    'Events' => [
        [
            'Date' => <DateTime>,
            'EventCategories' => ['<string>', ...],
            'Message' => '<string>',
            'SourceIdentifier' => '<string>',
            'SourceType' => 'replication-instance',
        ],
        // ...
    ],
    'Marker' => '<string>',
]

Result Details

Members
Events
Type: Array of Event structures

The events described.

Marker
Type: string

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.

Errors

There are no errors described for this operation.

DescribeExtensionPackAssociations

$result = $client->describeExtensionPackAssociations([/* ... */]);
$promise = $client->describeExtensionPackAssociationsAsync([/* ... */]);

Returns a paginated list of extension pack installation requests for a migration project, initiated by StartExtensionPackAssociation.

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

Parameter Syntax

$result = $client->describeExtensionPackAssociations([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'Marker' => '<string>',
    'MaxRecords' => <integer>,
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

The filters to apply to the extension pack installation requests.

The following filter names are supported:

  • request-id – The request identifier.

  • status – The request status. Valid values: RECEIVED, IN_PROGRESS, SUCCESS, FAILED.

Marker
Type: string

Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

MaxRecords
Type: int

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, DMS includes a pagination token in the response so that you can retrieve the remaining results.

MigrationProjectIdentifier
Required: Yes
Type: string

The migration project name or Amazon Resource Name (ARN).

Result Syntax

[
    'Marker' => '<string>',
    'Requests' => [
        [
            'Error' => [
                'defaultErrorDetails' => [
                    'Message' => '<string>',
                ],
            ],
            'ExportSqlDetails' => [
                'ObjectURL' => '<string>',
                'S3ObjectKey' => '<string>',
            ],
            'MigrationProjectArn' => '<string>',
            'Progress' => [
                'ProcessedObject' => [
                    'EndpointType' => '<string>',
                    'Name' => '<string>',
                    'Type' => '<string>',
                ],
                'ProgressPercent' => <float>,
                'ProgressStep' => '<string>',
                'TotalObjects' => <integer>,
            ],
            'RequestIdentifier' => '<string>',
            'Status' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Marker
Type: string

Specifies the unique pagination token that makes it possible to display the next page of results. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords.

If Marker is returned by a previous response, there are more results available. The value of Marker is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

Requests
Type: Array of SchemaConversionRequest structures

A paginated list of extension pack installation requests.

DMS never populates the ExportSqlDetails field for this operation.

Errors

There are no errors described for this operation.

Examples

Example 1: Retrieve the status of extension pack associations

The following example retrieves the status of operations that apply an extension pack to the target database, identified by their request IDs.

$result = $client->describeExtensionPackAssociations([
    'Filters' => [
        [
            'Name' => 'request-id',
            'Values' => [
                'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
                'a1b2c3d4-5678-90ab-cdef-EXAMPLE22222',
                'a1b2c3d4-5678-90ab-cdef-EXAMPLE33333',
            ],
        ],
    ],
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
]);

Result syntax:

[
    'Requests' => [
        [
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
            'RequestIdentifier' => 'a1b2c3d4-5678-90ab-cdef-EXAMPLE11111',
            'Status' => 'SUCCESS',
        ],
        [
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
            'Progress' => [
                'ProgressPercent' => 50,
                'ProgressStep' => 'IN_PROGRESS',
            ],
            'RequestIdentifier' => 'a1b2c3d4-5678-90ab-cdef-EXAMPLE22222',
            'Status' => 'IN_PROGRESS',
        ],
        [
            'Error' => [
                'defaultErrorDetails' => [
                    'Message' => 'The database user in your target secret does not have sufficient privileges. Grant the required privileges and try again.',
                ],
            ],
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:111122223333:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRS',
            'RequestIdentifier' => 'a1b2c3d4-5678-90ab-cdef-EXAMPLE33333',
            'Status' => 'FAILED',
        ],
    ],
]

DescribeFleetAdvisorCollectors

$result = $client->describeFleetAdvisorCollectors([/* ... */]);
$promise = $client->describeFleetAdvisorCollectorsAsync([/* ... */]);

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Returns a list of the Fleet Advisor collectors in your account.

Parameter Syntax

$result = $client->describeFleetAdvisorCollectors([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'MaxRecords' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

If you specify any of the following filters, the output includes information for only those collectors that meet the filter criteria:

  • collector-referenced-id – The ID of the collector agent, for example d4610ac5-e323-4ad9-bc50-eaf7249dfe9d.

  • collector-name – The name of the collector agent.

An example is: describe-fleet-advisor-collectors --filter Name="collector-referenced-id",Values="d4610ac5-e323-4ad9-bc50-eaf7249dfe9d"

MaxRecords
Type: int

Sets the maximum number of records returned in the response.

NextToken
Type: string

If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Result Syntax

[
    'Collectors' => [
        [
            'CollectorHealthCheck' => [
                'CollectorStatus' => 'UNREGISTERED|ACTIVE',
                'LocalCollectorS3Access' => true || false,
                'WebCollectorGrantedRoleBasedAccess' => true || false,
                'WebCollectorS3Access' => true || false,
            ],
            'CollectorName' => '<string>',
            'CollectorReferencedId' => '<string>',
            'CollectorVersion' => '<string>',
            'CreatedDate' => '<string>',
            'Description' => '<string>',
            'InventoryData' => [
                'NumberOfDatabases' => <integer>,
                'NumberOfSchemas' => <integer>,
            ],
            'LastDataReceived' => '<string>',
            'ModifiedDate' => '<string>',
            'RegisteredDate' => '<string>',
            'S3BucketName' => '<string>',
            'ServiceAccessRoleArn' => '<string>',
            'VersionStatus' => 'UP_TO_DATE|OUTDATED|UNSUPPORTED',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Collectors
Type: Array of CollectorResponse structures

Provides descriptions of the Fleet Advisor collectors, including the collectors' name and ID, and the latest inventory data.

NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

DescribeFleetAdvisorDatabases

$result = $client->describeFleetAdvisorDatabases([/* ... */]);
$promise = $client->describeFleetAdvisorDatabasesAsync([/* ... */]);

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Returns a list of Fleet Advisor databases in your account.

Parameter Syntax

$result = $client->describeFleetAdvisorDatabases([
    'Filters' => [
        [
            'Name' => '<string>', // REQUIRED
            'Values' => ['<string>', ...], // REQUIRED
        ],
        // ...
    ],
    'MaxRecords' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
Filters
Type: Array of Filter structures

If you specify any of the following filters, the output includes information for only those databases that meet the filter criteria:

  • database-id – The ID of the database.

  • database-name – The name of the database.

  • database-engine – The name of the database engine.

  • server-ip-address – The IP address of the database server.

  • database-ip-address – The IP address of the database.

  • collector-name – The name of the associated Fleet Advisor collector.

An example is: describe-fleet-advisor-databases --filter Name="database-id",Values="45"

MaxRecords
Type: int

Sets the maximum number of records returned in the response.

NextToken
Type: string

If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Result Syntax

[
    'Databases' => [
        [
            'Collectors' => [
                [
                    'CollectorName' => '<string>',
                    'CollectorReferencedId' => '<string>',
                ],
                // ...
            ],
            'DatabaseId' => '<string>',
            'DatabaseName' => '<string>',
            'IpAddress' => '<string>',
            'NumberOfSchemas' => <integer>,
            'Server' => [
                'IpAddress' => '<string>',
                'ServerId' => '<string>',
                'ServerName' => '<string>',
            ],
            'SoftwareDetails' => [
                'Engine' => '<string>',
                'EngineEdition' => '<string>',
                'EngineVersion' => '<string>',
                'OsArchitecture' => <integer>,
                'ServicePack' => '<string>',
                'SupportLevel' => '<string>',
                'Tooltip' => '<string>',
            ],
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Databases
Type: Array of DatabaseResponse structures

Provides descriptions of the Fleet Advisor collector databases, including the database's collector, ID, and name.

NextToken
Type: string

If NextToken is returned, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Errors

InvalidResourceStateFault:

The resource is in a state that prevents it from being used for database migration.

DescribeFleetAdvisorLsaAnalysis

$result = $client->describeFleetAdvisorLsaAnalysis([/* ... */]);
$promise = $client->describeFleetAdvisorLsaAnalysisAsync([/* ... */]);

End of support notice: On May 20, 2026, Amazon Web Services will end support for Amazon Web Services DMS Fleet Advisor;. After May 20, 2026, you will no longer be able to access the Amazon Web Services DMS Fleet Advisor; console or Amazon Web Services DMS Fleet Advisor; resources. For more information, see Amazon Web Services DMS Fleet Advisor end of support.

Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet Advisor collectors.

Parameter Syntax

$result = $client->describeFleetAdvisorLsaAnalysis([
    'MaxRecords' => <integer>,
    'NextToken' => '<string>',
]);

Parameter Details

Members
MaxRecords
Type: int

Sets the maximum number of records returned in the response.

NextToken
Type: string

If NextToken is returned by a previous response, there are more results available. The value of NextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

Result Syntax

[
    'Analysis' => [
        [
            'LsaAnalysisId' => '<string>',
            'Status' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Analysis