SDK for PHP 3.x

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 = [] )
Starts the analysis of up to 20 source databases to recommend target engines for each source database.
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 = [] )
Creates a Fleet Advisor collector using the specified parameters.
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 = [] )
Deletes the specified Fleet Advisor collector.
DeleteFleetAdvisorDatabases ( array $params = [] )
Deletes the specified Fleet Advisor collector databases.
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 associations for the specified migration project.
DescribeFleetAdvisorCollectors ( array $params = [] )
Returns a list of the Fleet Advisor collectors in your account.
DescribeFleetAdvisorDatabases ( array $params = [] )
Returns a list of Fleet Advisor databases in your account.
DescribeFleetAdvisorLsaAnalysis ( array $params = [] )
Provides descriptions of large-scale assessment (LSA) analyses produced by your Fleet Advisor collectors.
DescribeFleetAdvisorSchemaObjectSummary ( array $params = [] )
Provides descriptions of the schemas discovered by your Fleet Advisor collectors.
DescribeFleetAdvisorSchemas ( array $params = [] )
Returns a list of schemas detected by Fleet Advisor Collectors in your account.
DescribeInstanceProfiles ( array $params = [] )
Returns a paginated list of instance profiles for your account in the current region.
DescribeMetadataModelAssessments ( array $params = [] )
Returns a paginated list of metadata model assessments for your account in the current region.
DescribeMetadataModelConversions ( array $params = [] )
Returns a paginated list of metadata model conversions for a migration project.
DescribeMetadataModelExportsAsScript ( array $params = [] )
Returns a paginated list of metadata model exports.
DescribeMetadataModelExportsToTarget ( array $params = [] )
Returns a paginated list of metadata model exports.
DescribeMetadataModelImports ( array $params = [] )
Returns a paginated list of metadata model imports.
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 = [] )
For internal use only
DescribeRecommendationLimitations ( array $params = [] )
Returns a paginated list of limitations for recommendations of target Amazon Web Services engines.
DescribeRecommendations ( array $params = [] )
Returns a paginated list of target engine recommendations for your source databases.
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.
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 = [] )
Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.
StartDataMigration ( array $params = [] )
Starts the specified data migration.
StartExtensionPackAssociation ( array $params = [] )
Applies the extension pack to your target database.
StartMetadataModelAssessment ( array $params = [] )
Creates a database migration assessment report by assessing the migration complexity for your source database.
StartMetadataModelConversion ( array $params = [] )
Converts your source database objects to a format compatible with the target database.
StartMetadataModelExportAsScript ( array $params = [] )
Saves your converted code to a file as a SQL script, and stores this file on your Amazon S3 bucket.
StartMetadataModelExportToTarget ( array $params = [] )
Applies converted database objects to your target database.
StartMetadataModelImport ( array $params = [] )
Loads the metadata for all the dependent database objects of the parent object.
StartRecommendations ( array $params = [] )
Starts the analysis of your source database to provide recommendations of target engines.
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
DescribeMetadataModelConversions
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

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

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([/* ... */]);

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.

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>,
            '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>',
        ],
        // ...
    ],
]);

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.

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>',
    ],
]

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.

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',
        ],
        'MariaDbSettings' => [
            'CertificateArn' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'MicrosoftSqlServerSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            '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>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'OracleSettings' => [
            'AsmServer' => '<string>',
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
            'SecretsManagerOracleAsmSecretId' => '<string>',
            'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
            'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'PostgreSqlSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'RedshiftSettings' => [
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
        ],
    ],
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

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 include "aurora", "aurora-postgresql", "mysql", "oracle", "postgres", "sqlserver", redshift, mariadb, mongodb, and docdb. 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.

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',
            ],
            'MariaDbSettings' => [
                'CertificateArn' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MicrosoftSqlServerSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                '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>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'OracleSettings' => [
                'AsmServer' => '<string>',
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
                'SecretsManagerOracleAsmSecretId' => '<string>',
                'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
                'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'PostgreSqlSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'RedshiftSettings' => [
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
            ],
        ],
    ],
]

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 Data Provider

Creates the data provider with the specified parameters.

$result = $client->createDataProvider([
    'DataProviderName' => 'sqlServer-dev',
    'Description' => 'description',
    'Engine' => 'sqlserver',
    'Settings' => [
        'MicrosoftSqlServerSettings' => [
            'DatabaseName' => 'DatabaseName',
            'Port' => 11112,
            'ServerName' => 'ServerName2',
            'SslMode' => 'none',
        ],
    ],
    'Tags' => [
        [
            'Key' => 'access',
            'Value' => 'authorizedusers',
        ],
    ],
]);

Result syntax:

[
    'DataProvider' => [
        'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:my-target-dataprovider',
        'DataProviderCreationTime' => ,
        'DataProviderName' => 'my-target-dataprovider',
        'Engine' => 'postgres',
        'Settings' => [
            'PostgreSqlSettings' => [
                'DatabaseName' => 'target',
                'Port' => 5432,
                'ServerName' => 'postrgesql.a1b2c3d4e5f6.us-east-1.rds.amazonaws.com',
                'SslMode' => 'none',
            ],
        ],
    ],
]

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>',
    ],
    '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>',
    ],
    'KmsKeyId' => '<string>',
    'MicrosoftSQLServerSettings' => [
        '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>',
        '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>',
        '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>',
        '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>',
        'BabelfishDatabaseName' => '<string>',
        'CaptureDdls' => true || false,
        'DatabaseMode' => 'default|babelfish',
        'DatabaseName' => '<string>',
        'DdlArtifactsSchema' => '<string>',
        '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>',
        '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>,
        ],
        '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>',
        ],
        '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>',
        ],
        'KmsKeyId' => '<string>',
        'MicrosoftSQLServerSettings' => [
            '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>',
            '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>',
            '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>',
            '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>',
            'BabelfishDatabaseName' => '<string>',
            'CaptureDdls' => true || false,
            'DatabaseMode' => 'default|babelfish',
            'DatabaseName' => '<string>',
            'DdlArtifactsSchema' => '<string>',
            '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>',
            '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([/* ... */]);

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.

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 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.

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 Instance Profile

Creates the instance profile using the specified parameters.

$result = $client->createInstanceProfile([
    'Description' => 'Description',
    'InstanceProfileName' => 'my-instance-profile',
    'KmsKeyArn' => 'arn:aws:kms:us-east-1:012345678901:key/01234567-89ab-cdef-0123-456789abcdef',
    'NetworkType' => 'DUAL',
    'PubliclyAccessible' => 1,
    'SubnetGroupIdentifier' => 'my-subnet-group',
    'Tags' => [
        [
            'Key' => 'access',
            'Value' => 'authorizedusers',
        ],
    ],
]);

Result syntax:

[
    'InstanceProfile' => [
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:012345678901:instance-profile:my-instance-profile',
        'InstanceProfileCreationTime' => ,
        'InstanceProfileName' => 'my-instance-profile',
        'KmsKeyArn' => 'arn:aws:kms:us-east-1:012345678901:key/01234567-89ab-cdef-0123-456789abcdef',
        'PubliclyAccessible' => 1,
        'SubnetGroupIdentifier' => 'public-subnets',
    ],
]

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.

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

The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.

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 Migration Project

Creates the migration project with the specified parameters.

$result = $client->createMigrationProject([
    'Description' => 'description',
    'InstanceProfileIdentifier' => 'ip-au-17',
    'MigrationProjectName' => 'my-migration-project',
    'SchemaConversionApplicationAttributes' => [
        'S3BucketPath' => 'arn:aws:s3:::mylogin-bucket',
        'S3BucketRoleArn' => 'arn:aws:iam::012345678901:role/Admin',
    ],
    'SourceDataProviderDescriptors' => [
        [
            'DataProviderIdentifier' => 'arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
            'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/myuser-admin-access',
            'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:myorg/example1/ALL.SOURCE.ORACLE_12-A1B2C3',
        ],
    ],
    'Tags' => [
        [
            'Key' => 'access',
            'Value' => 'authorizedusers',
        ],
    ],
    'TargetDataProviderDescriptors' => [
        [
            'DataProviderIdentifier' => 'arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
            'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/myuser-admin-access',
            'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:myorg/example1/TARGET.postgresql-A1B2C3',
        ],
    ],
    'TransformationRules' => '{"key0":"value0","key1":"value1","key2":"value2"}',
]);

Result syntax:

[
    'MigrationProject' => [
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:012345678901:instance-profile:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
        'InstanceProfileName' => 'my-instance-profile',
        'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
        'MigrationProjectCreationTime' => ,
        'MigrationProjectName' => 'my-migration-project',
        'SchemaConversionApplicationAttributes' => [
            'S3BucketPath' => 'my-s3-bucket/my_folder',
            'S3BucketRoleArn' => 'arn:aws:iam::012345678901:role/my-s3role',
        ],
        'SourceDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
                'DataProviderName' => 'source-oracle-12',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/my-access-role',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:myuser/ALL.SOURCE.ORACLE_12-0123456',
            ],
        ],
        'TargetDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
                'DataProviderName' => 'target-dataprovider-3',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/dmytbon-admin-access',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:myuser/TARGET.postgresql-0123456',
            ],
        ],
    ],
]

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>', ...],
        ],
        '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>',
    '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.

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>,
        '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' => [
            '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.

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' => [
        '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>,
        '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>',
    ],
]

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.

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',
            ],
            'MariaDbSettings' => [
                'CertificateArn' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MicrosoftSqlServerSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                '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>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'OracleSettings' => [
                'AsmServer' => '<string>',
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
                'SecretsManagerOracleAsmSecretId' => '<string>',
                'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
                'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'PostgreSqlSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'RedshiftSettings' => [
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
            ],
        ],
    ],
]

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 Data Provider

Deletes the specified data provider.

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

Result syntax:

[
    'DataProvider' => [
        'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:my-target-data-provider',
        'DataProviderCreationTime' => ,
        'DataProviderName' => 'my-target-data-provider',
        'Engine' => 'postgres',
        'Settings' => [
            'PostgreSqlSettings' => [
                'DatabaseName' => 'target',
                'Port' => 5432,
                'ServerName' => 'postrgesql.0a1b2c3d4e5f.us-east-1.rds.amazonaws.com',
                'SslMode' => 'none',
            ],
        ],
    ],
]

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>,
        ],
        '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>',
        ],
        '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>',
        ],
        'KmsKeyId' => '<string>',
        'MicrosoftSQLServerSettings' => [
            '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>',
            '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>',
            '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>',
            '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>',
            'BabelfishDatabaseName' => '<string>',
            'CaptureDdls' => true || false,
            'DatabaseMode' => 'default|babelfish',
            'DatabaseName' => '<string>',
            'DdlArtifactsSchema' => '<string>',
            '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>',
            '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.

DeleteFleetAdvisorCollector

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

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([/* ... */]);

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.

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 Instance Profile

Deletes the specified instance profile.

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

Result syntax:

[
    'InstanceProfile' => [
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:012345678901:instance-profile:my-instance-profile',
        'InstanceProfileCreationTime' => ,
        'InstanceProfileName' => 'my-instance-profile',
        'KmsKeyArn' => 'arn:aws:kms:us-east-1:012345678901:key/01234567-89ab-cdef-0123-456789abcdef',
        'PubliclyAccessible' => 1,
        'SubnetGroupIdentifier' => 'public-subnets',
    ],
]

DeleteMigrationProject

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

Deletes the specified migration project.

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 Migration Project

Deletes the specified migration project.

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

Result syntax:

[
    'MigrationProject' => [
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:012345678901:instance-profile:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
        'InstanceProfileName' => 'my-instance-profile',
        'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
        'MigrationProjectCreationTime' => ,
        'MigrationProjectName' => 'my-migration-project',
        'SchemaConversionApplicationAttributes' => [
            'S3BucketPath' => 'my-s3-bucket/my_folder',
            'S3BucketRoleArn' => 'arn:aws:iam::012345678901:role/my-s3role',
        ],
        'SourceDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
                'DataProviderName' => 'all-source-oracle-12',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/my-access-role',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:myuser/ALL.SOURCE.ORACLE_12-0123456',
            ],
        ],
        'TargetDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
                'DataProviderName' => 'sde-obilyns-dataprovider-3',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::437223687239:role/dmytbon-admin-access',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:myuser/TARGET.postgresql-0123456',
            ],
        ],
    ],
]

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>', ...],
        ],
        '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>,
        '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' => [
            '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.

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>,
            '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',
    '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.

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>,
            '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.

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

The configuration parameters for the schema conversion project.

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: Describe Conversion Configuration

Returns configuration parameters for a schema conversion project.

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

Result syntax:

[
    'ConversionConfiguration' => '{"Common project settings":{"ShowSeverityLevelInSql":"CRITICAL"},"ORACLE_TO_POSTGRESQL" : {"ToTimeZone":false,"LastDayBuiltinFunctionOracle":false, "NextDayBuiltinFunctionOracle":false,"ConvertProceduresToFunction":false,"NvlBuiltinFunctionOracle":false,"DbmsAssertBuiltinFunctionOracle":false}}',
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
]

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>',
        ],
        // ...
    ],
    '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.

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

Filters applied to the data providers described in the form of key-value pairs.

Valid filter names: data-provider-identifier

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',
                ],
                'MariaDbSettings' => [
                    'CertificateArn' => '<string>',
                    'Port' => <integer>,
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'MicrosoftSqlServerSettings' => [
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    '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>,
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'OracleSettings' => [
                    'AsmServer' => '<string>',
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
                    'SecretsManagerOracleAsmSecretId' => '<string>',
                    'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
                    'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'PostgreSqlSettings' => [
                    'CertificateArn' => '<string>',
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'ServerName' => '<string>',
                    'SslMode' => 'none|require|verify-ca|verify-full',
                ],
                'RedshiftSettings' => [
                    'DatabaseName' => '<string>',
                    'Port' => <integer>,
                    'ServerName' => '<string>',
                ],
            ],
        ],
        // ...
    ],
    '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

$result = $client->describeDataProviders([
    'Filters' => [
        [
            'Name' => 'data-provider-identifier',
            'Values' => [
                'arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
            ],
        ],
    ],
    'Marker' => 'EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
    'MaxRecords' => 20,
]);

Result syntax:

[
    'DataProviders' => [
        [
            'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:my-target-data-provider',
            'DataProviderCreationTime' => ,
            'DataProviderName' => 'my-target-data-provider',
            'Engine' => 'postgres',
            'Settings' => [
                'PostgreSqlSettings' => [
                    'DatabaseName' => 'target',
                    'Port' => 5432,
                    'ServerName' => 'postrgesql.0a1b2c3d4e5f.us-east-1.rds.amazonaws.com',
                    'SslMode' => 'none',
                ],
            ],
        ],
    ],
    'Marker' => 'EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
]

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>,
            ],
            '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>',
            ],
            '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>',
            ],
            'KmsKeyId' => '<string>',
            'MicrosoftSQLServerSettings' => [
                '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>',
                '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>',
                '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>',
                '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>',
                'BabelfishDatabaseName' => '<string>',
                'CaptureDdls' => true || false,
                'DatabaseMode' => 'default|babelfish',
                'DatabaseName' => '<string>',
                'DdlArtifactsSchema' => '<string>',
                '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>',
                '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 associations for the specified migration project. An extension pack is an add-on module that emulates functions present in a source database that are required when converting objects to the target database.

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

Filters applied to the extension pack associations described in the form of key-value pairs.

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 name or Amazon Resource Name (ARN) for the migration project.

Result Syntax

[
    'Marker' => '<string>',
    'Requests' => [
        [
            'Error' => [
                'defaultErrorDetails' => [
                    'Message' => '<string>',
                ],
            ],
            'ExportSqlDetails' => [
                'ObjectURL' => '<string>',
                'S3ObjectKey' => '<string>',
            ],
            'MigrationProjectArn' => '<string>',
            '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 associations for the specified migration project.

Errors

There are no errors described for this operation.

Examples

Example 1: Describe Extension Pack Associations

Returns a paginated list of extension pack associations for the specified migration project.

$result = $client->describeExtensionPackAssociations([
    'Filters' => [
        [
            'Name' => 'instance-profile-identifier',
            'Values' => [
                'arn:aws:dms:us-east-1:012345678901:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
            ],
        ],
    ],
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'MaxRecords' => 20,
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
]);

Result syntax:

[
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'Requests' => [
        [
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
            'Status' => 'SUCCESS',
        ],
    ],
]

DescribeFleetAdvisorCollectors

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

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([/* ... */]);

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([/* ... */]);

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
Type: Array of FleetAdvisorLsaAnalysisResponse structures

A list of FleetAdvisorLsaAnalysisResponse objects.

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.

DescribeFleetAdvisorSchemaObjectSummary

$result = $client->describeFleetAdvisorSchemaObjectSummary([/* ... */]);
$promise = $client->describeFleetAdvisorSchemaObjectSummaryAsync([/* ... */]);

Provides descriptions of the schemas discovered by your Fleet Advisor collectors.

Parameter Syntax

$result = $client->describeFleetAdvisorSchemaObjectSummary([
    '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 schema objects that meet the filter criteria:

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

Example: describe-fleet-advisor-schema-object-summary --filter Name="schema-id",Values="50"

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

[
    'FleetAdvisorSchemaObjects' => [
        [
            'CodeLineCount' => <integer>,
            'CodeSize' => <integer>,
            'NumberOfObjects' => <integer>,
            'ObjectType' => '<string>',
            'SchemaId' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
FleetAdvisorSchemaObjects
Type: Array of FleetAdvisorSchemaObjectResponse structures

A collection of FleetAdvisorSchemaObjectResponse objects.

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.

DescribeFleetAdvisorSchemas

$result = $client->describeFleetAdvisorSchemas([/* ... */]);
$promise = $client->describeFleetAdvisorSchemasAsync([/* ... */]);

Returns a list of schemas detected by Fleet Advisor Collectors in your account.

Parameter Syntax

$result = $client->describeFleetAdvisorSchemas([
    '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 schemas that meet the filter criteria:

  • complexity – The schema's complexity, for example Simple.

  • database-id – The ID of the schema's database.

  • database-ip-address – The IP address of the schema's database.

  • database-name – The name of the schema's database.

  • database-engine – The name of the schema database's engine.

  • original-schema-name – The name of the schema's database's main schema.

  • schema-id – The ID of the schema, for example 15.

  • schema-name – The name of the schema.

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

An example is: describe-fleet-advisor-schemas --filter Name="schema-id",Values="50"

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

[
    'FleetAdvisorSchemas' => [
        [
            'CodeLineCount' => <integer>,
            'CodeSize' => <integer>,
            'Complexity' => '<string>',
            'DatabaseInstance' => [
                'DatabaseEngine' => '<string>',
                'DatabaseId' => '<string>',
                'DatabaseIpAddress' => '<string>',
                'DatabaseName' => '<string>',
            ],
            'OriginalSchema' => [
                'DatabaseId' => '<string>',
                'DatabaseIpAddress' => '<string>',
                'DatabaseName' => '<string>',
                'SchemaId' => '<string>',
                'SchemaName' => '<string>',
            ],
            'SchemaId' => '<string>',
            'SchemaName' => '<string>',
            'Server' => [
                'IpAddress' => '<string>',
                'ServerId' => '<string>',
                'ServerName' => '<string>',
            ],
            'Similarity' => <float>,
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
FleetAdvisorSchemas
Type: Array of SchemaResponse structures

A collection of SchemaResponse objects.

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.

DescribeInstanceProfiles

$result = $client->describeInstanceProfiles([/* ... */]);
$promise = $client->describeInstanceProfilesAsync([/* ... */]);

Returns a paginated list of instance profiles for your account in the current region.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the instance profiles described in the form of key-value pairs.

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

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

Result Details

Members
InstanceProfiles
Type: Array of InstanceProfile structures

A description of instance profiles.

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 Instance Profiles

Returns a paginated list of instance profiles for your account in the current region.

$result = $client->describeInstanceProfiles([
    'Filters' => [
        [
            'Name' => 'instance-profile-identifier',
            'Values' => [
                'arn:aws:dms:us-east-1:012345678901:instance-profile:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
            ],
        ],
    ],
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'MaxRecords' => 20,
]);

Result syntax:

[
    'InstanceProfiles' => [
        [
            'InstanceProfileArn' => 'arn:aws:dms:us-east-1:012345678901:instance-profile:my-instance-profile',
            'InstanceProfileCreationTime' => ,
            'InstanceProfileName' => 'my-instance-profile',
            'KmsKeyArn' => 'arn:aws:kms:us-east-1:012345678901:key/01234567-89ab-cdef-0123-456789abcdef',
            'PubliclyAccessible' => 1,
            'SubnetGroupIdentifier' => 'public-subnets',
        ],
    ],
    'Marker' => '0123456789abcdefghijklmnopqrs',
]

DescribeMetadataModelAssessments

$result = $client->describeMetadataModelAssessments([/* ... */]);
$promise = $client->describeMetadataModelAssessmentsAsync([/* ... */]);

Returns a paginated list of metadata model assessments for your account in the current region.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the metadata model assessments described in the form of key-value pairs.

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 name or Amazon Resource Name (ARN) of the migration project.

Result Syntax

[
    'Marker' => '<string>',
    'Requests' => [
        [
            'Error' => [
                'defaultErrorDetails' => [
                    'Message' => '<string>',
                ],
            ],
            'ExportSqlDetails' => [
                'ObjectURL' => '<string>',
                'S3ObjectKey' => '<string>',
            ],
            'MigrationProjectArn' => '<string>',
            '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 metadata model assessments for the specified migration project.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe Metadata Model Assessments

Returns a paginated list of metadata model assessments for your account in the current region.

$result = $client->describeMetadataModelAssessments([
    'Filters' => [
        [
            'Name' => 'my-migration-project',
            'Values' => [
                'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            ],
        ],
    ],
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'MaxRecords' => 20,
    'MigrationProjectIdentifier' => '',
]);

Result syntax:

[
    'Marker' => 'ASDLKJASDJKHDFHGDNBGDASKJHGFK',
    'Requests' => [
        [
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
            'Status' => 'SUCCESS',
        ],
    ],
]

DescribeMetadataModelConversions

$result = $client->describeMetadataModelConversions([/* ... */]);
$promise = $client->describeMetadataModelConversionsAsync([/* ... */]);

Returns a paginated list of metadata model conversions for a migration project.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the metadata model conversions described in the form of key-value pairs.

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>',
            '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 metadata model conversions.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe Metadata Model Conversions

Returns a paginated list of metadata model conversions for a migration project.

$result = $client->describeMetadataModelConversions([
    'Filters' => [
        [
            'Name' => 'request-id',
            'Values' => [
                '01234567-89ab-cdef-0123-456789abcdef',
            ],
        ],
    ],
    'Marker' => 'EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ123456',
    'MaxRecords' => 123,
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
]);

Result syntax:

[
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'Requests' => [
        [
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
            'Status' => 'SUCCESS',
        ],
    ],
]

DescribeMetadataModelExportsAsScript

$result = $client->describeMetadataModelExportsAsScript([/* ... */]);
$promise = $client->describeMetadataModelExportsAsScriptAsync([/* ... */]);

Returns a paginated list of metadata model exports.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the metadata model exports described in the form of key-value pairs.

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>',
            '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 metadata model exports.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe Metadata Model Exports As Script

Returns a paginated list of metadata model exports.

$result = $client->describeMetadataModelExportsAsScript([
    'Filters' => [
        [
            'Name' => 'request-id',
            'Values' => [
                '01234567-89ab-cdef-0123-456789abcdef',
            ],
        ],
    ],
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'MaxRecords' => 20,
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
]);

Result syntax:

[
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'Requests' => [
        [
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
            'Status' => 'SUCCESS',
        ],
    ],
]

DescribeMetadataModelExportsToTarget

$result = $client->describeMetadataModelExportsToTarget([/* ... */]);
$promise = $client->describeMetadataModelExportsToTargetAsync([/* ... */]);

Returns a paginated list of metadata model exports.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the metadata model exports described in the form of key-value pairs.

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>',
            '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 metadata model exports.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe Metadata Model Exports To Target

Returns a paginated list of metadata model exports.

$result = $client->describeMetadataModelExportsToTarget([
    'Filters' => [
        [
            'Name' => 'request-id',
            'Values' => [
                '01234567-89ab-cdef-0123-456789abcdef',
            ],
        ],
    ],
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'MaxRecords' => 20,
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
]);

Result syntax:

[
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'Requests' => [
        [
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
            'Status' => 'SUCCESS',
        ],
    ],
]

DescribeMetadataModelImports

$result = $client->describeMetadataModelImports([/* ... */]);
$promise = $client->describeMetadataModelImportsAsync([/* ... */]);

Returns a paginated list of metadata model imports.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the metadata model imports described in the form of key-value pairs.

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

A paginated list of metadata model imports.

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>',
            '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 metadata model imports.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe Metadata Model Imports

Returns a paginated list of metadata model imports.

$result = $client->describeMetadataModelImports([
    'Filters' => [
        [
            'Name' => 'request-id',
            'Values' => [
                '01234567-89ab-cdef-0123-456789abcdef',
            ],
        ],
    ],
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'MaxRecords' => 20,
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
]);

Result syntax:

[
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'Requests' => [
        [
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
            'Status' => 'SUCCESS',
        ],
    ],
]

DescribeMigrationProjects

$result = $client->describeMigrationProjects([/* ... */]);
$promise = $client->describeMigrationProjectsAsync([/* ... */]);

Returns a paginated list of migration projects for your account in the current region.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the migration projects described in the form of key-value pairs.

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

[
    'Marker' => '<string>',
    'MigrationProjects' => [
        [
            '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
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.

MigrationProjects
Type: Array of MigrationProject structures

A description of migration projects.

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 Migration Projects

Returns a paginated list of migration projects for your account in the current region.

$result = $client->describeMigrationProjects([
    'Filters' => [
        [
            'Name' => 'migration-project-identifier',
            'Values' => [
                'arn:aws:dms:us-east-1:012345678901:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ12345678901',
            ],
        ],
    ],
    'Marker' => 'EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ123456',
    'MaxRecords' => 20,
]);

Result syntax:

[
    'Marker' => '0123456789abcdefghijklmnopqrs',
    'MigrationProjects' => [
        [
            'InstanceProfileArn' => 'arn:aws:dms:us-east-1:012345678901:instance-profile:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            'InstanceProfileName' => 'my-instance-profile',
            'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
            'MigrationProjectCreationTime' => ,
            'MigrationProjectName' => 'my-migration-project',
            'SchemaConversionApplicationAttributes' => [
                'S3BucketPath' => 'my-s3-bucket/my_folder',
                'S3BucketRoleArn' => 'arn:aws:iam::012345678901:role/my-s3role',
            ],
            'SourceDataProviderDescriptors' => [
                [
                    'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
                    'DataProviderName' => 'all-source-oracle-12',
                    'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/my-access-role',
                    'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:mygroup/myalias/ALL.SOURCE.ORACLE_12-012345',
                ],
            ],
            'TargetDataProviderDescriptors' => [
                [
                    'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
                    'DataProviderName' => 'my-data-provider',
                    'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/dmytbon-admin-access',
                    'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:mygroup/myalias/TARGET.postgresql-012345',
                ],
            ],
        ],
    ],
]

DescribeOrderableReplicationInstances

$result = $client->describeOrderableReplicationInstances([/* ... */]);
$promise = $client->describeOrderableReplicationInstancesAsync([/* ... */]);

Returns information about the replication instance types that can be created in the specified region.

Parameter Syntax

$result = $client->describeOrderableReplicationInstances([
    '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.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

[
    'Marker' => '<string>',
    'OrderableReplicationInstances' => [
        [
            'AvailabilityZones' => ['<string>', ...],
            'DefaultAllocatedStorage' => <integer>,
            'EngineVersion' => '<string>',
            'IncludedAllocatedStorage' => <integer>,
            'MaxAllocatedStorage' => <integer>,
            'MinAllocatedStorage' => <integer>,
            'ReleaseStatus' => 'beta|prod',
            'ReplicationInstanceClass' => '<string>',
            'StorageType' => '<string>',
        ],
        // ...
    ],
]

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.

OrderableReplicationInstances
Type: Array of OrderableReplicationInstance structures

The order-able replication instances available.

Errors

There are no errors described for this operation.

Examples

Example 1: Describe orderable replication instances

Returns information about the replication instance types that can be created in the specified region.

$result = $client->describeOrderableReplicationInstances([
    'Marker' => '',
    'MaxRecords' => 123,
]);

Result syntax:

[
    'Marker' => '',
    'OrderableReplicationInstances' => [
    ],
]

DescribePendingMaintenanceActions

$result = $client->describePendingMaintenanceActions([/* ... */]);
$promise = $client->describePendingMaintenanceActionsAsync([/* ... */]);

For internal use only

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

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.

ReplicationInstanceArn
Type: string

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

Result Syntax

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

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.

PendingMaintenanceActions
Type: Array of ResourcePendingMaintenanceActions structures

The pending maintenance action.

Errors

ResourceNotFoundFault:

The resource could not be found.

DescribeRecommendationLimitations

$result = $client->describeRecommendationLimitations([/* ... */]);
$promise = $client->describeRecommendationLimitationsAsync([/* ... */]);

Returns a paginated list of limitations for recommendations of target Amazon Web Services engines.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the limitations described in the form of key-value pairs.

MaxRecords
Type: int

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

NextToken
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 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

[
    'Limitations' => [
        [
            'DatabaseId' => '<string>',
            'Description' => '<string>',
            'EngineName' => '<string>',
            'Impact' => '<string>',
            'Name' => '<string>',
            'Type' => '<string>',
        ],
        // ...
    ],
    'NextToken' => '<string>',
]

Result Details

Members
Limitations
Type: Array of Limitation structures

The list of limitations for recommendations of target Amazon Web Services engines.

NextToken
Type: string

The unique pagination token returned for you to pass to a subsequent request. Fleet Advisor returns this token when the number of records in the response is greater than the MaxRecords value. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

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.

DescribeRecommendations

$result = $client->describeRecommendations([/* ... */]);
$promise = $client->describeRecommendationsAsync([/* ... */]);

Returns a paginated list of target engine recommendations for your source databases.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the target engine recommendations described in the form of key-value pairs.

MaxRecords
Type: int

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

NextToken
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 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

[
    'NextToken' => '<string>',
    'Recommendations' => [
        [
            'CreatedDate' => '<string>',
            'Data' => [
                'RdsEngine' => [
                    'RequirementsToTarget' => [
                        'DeploymentOption' => '<string>',
                        'EngineEdition' => '<string>',
                        'EngineVersion' => '<string>',
                        'InstanceMemory' => <float>,
                        'InstanceVcpu' => <float>,
                        'StorageIops' => <integer>,
                        'StorageSize' => <integer>,
                    ],
                    'TargetConfiguration' => [
                        'DeploymentOption' => '<string>',
                        'EngineEdition' => '<string>',
                        'EngineVersion' => '<string>',
                        'InstanceMemory' => <float>,
                        'InstanceType' => '<string>',
                        'InstanceVcpu' => <float>,
                        'StorageIops' => <integer>,
                        'StorageSize' => <integer>,
                        'StorageType' => '<string>',
                    ],
                ],
            ],
            'DatabaseId' => '<string>',
            'EngineName' => '<string>',
            'Preferred' => true || false,
            'Settings' => [
                'InstanceSizingType' => '<string>',
                'WorkloadType' => '<string>',
            ],
            'Status' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
NextToken
Type: string

The unique pagination token returned for you to pass to a subsequent request. Fleet Advisor returns this token when the number of records in the response is greater than the MaxRecords value. To retrieve the next page, make the call again using the returned token and keeping all other arguments unchanged.

Recommendations
Type: Array of Recommendation structures

The list of recommendations of target engines that Fleet Advisor created for the 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.

DescribeRefreshSchemasStatus

$result = $client->describeRefreshSchemasStatus([/* ... */]);
$promise = $client->describeRefreshSchemasStatusAsync([/* ... */]);

Returns the status of the RefreshSchemas operation.

Parameter Syntax

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

Parameter Details

Members
EndpointArn
Required: Yes
Type: string

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

Result Syntax

[
    'RefreshSchemasStatus' => [
        'EndpointArn' => '<string>',
        'LastFailureMessage' => '<string>',
        'LastRefreshDate' => <DateTime>,
        'ReplicationInstanceArn' => '<string>',
        'Status' => 'successful|failed|refreshing',
    ],
]

Result Details

Members
RefreshSchemasStatus
Type: RefreshSchemasStatus structure

The status of the schema.

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: Describe refresh schema status

Returns the status of the refresh-schemas operation.

$result = $client->describeRefreshSchemasStatus([
    'EndpointArn' => '',
]);

Result syntax:

[
    'RefreshSchemasStatus' => [
    ],
]

DescribeReplicationConfigs

$result = $client->describeReplicationConfigs([/* ... */]);
$promise = $client->describeReplicationConfigsAsync([/* ... */]);

Returns one or more existing DMS Serverless replication configurations as a list of structures.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the replication configs.

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

[
    'Marker' => '<string>',
    'ReplicationConfigs' => [
        [
            'ComputeConfig' => [
                'AvailabilityZone' => '<string>',
                'DnsNameServers' => '<string>',
                'KmsKeyId' => '<string>',
                'MaxCapacityUnits' => <integer>,
                'MinCapacityUnits' => <integer>,
                'MultiAZ' => true || false,
                'PreferredMaintenanceWindow' => '<string>',
                'ReplicationSubnetGroupId' => '<string>',
                'VpcSecurityGroupIds' => ['<string>', ...],
            ],
            '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
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.

ReplicationConfigs
Type: Array of ReplicationConfig structures

Returned configuration parameters that describe each provisioned DMS Serverless replication.

Errors

ResourceNotFoundFault:

The resource could not be found.

DescribeReplicationInstanceTaskLogs

$result = $client->describeReplicationInstanceTaskLogs([/* ... */]);
$promise = $client->describeReplicationInstanceTaskLogsAsync([/* ... */]);

Returns information about the task logs for the specified task.

Parameter Syntax

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

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.

Default: 100

Constraints: Minimum 20, maximum 100.

ReplicationInstanceArn
Required: Yes
Type: string

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

Result Syntax

[
    'Marker' => '<string>',
    'ReplicationInstanceArn' => '<string>',
    'ReplicationInstanceTaskLogs' => [
        [
            'ReplicationInstanceTaskLogSize' => <integer>,
            'ReplicationTaskArn' => '<string>',
            'ReplicationTaskName' => '<string>',
        ],
        // ...
    ],
]

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.

ReplicationInstanceArn
Type: string

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

ReplicationInstanceTaskLogs
Type: Array of ReplicationInstanceTaskLog structures

An array of replication task log metadata. Each member of the array contains the replication task name, ARN, and task log size (in bytes).

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

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

DescribeReplicationInstances

$result = $client->describeReplicationInstances([/* ... */]);
$promise = $client->describeReplicationInstancesAsync([/* ... */]);

Returns information about replication instances for your account in the current region.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to replication instances.

Valid filter names: replication-instance-arn | replication-instance-id | replication-instance-class | engine-version

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>',
    'ReplicationInstances' => [
        [
            'AllocatedStorage' => <integer>,
            'AutoMinorVersionUpgrade' => true || false,
            'AvailabilityZone' => '<string>',
            'DnsNameServers' => '<string>',
            'EngineVersion' => '<string>',
            'FreeUntil' => <DateTime>,
            'InstanceCreateTime' => <DateTime>,
            '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' => [
                '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
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.

ReplicationInstances
Type: Array of ReplicationInstance structures

The replication instances described.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe replication instances

Returns the status of the refresh-schemas operation.

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

Result syntax:

[
    'Marker' => '',
    'ReplicationInstances' => [
    ],
]

DescribeReplicationSubnetGroups

$result = $client->describeReplicationSubnetGroups([/* ... */]);
$promise = $client->describeReplicationSubnetGroupsAsync([/* ... */]);

Returns information about the replication subnet groups.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to replication subnet groups.

Valid filter names: replication-subnet-group-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.

Result Syntax

[
    'Marker' => '<string>',
    'ReplicationSubnetGroups' => [
        [
            'ReplicationSubnetGroupDescription' => '<string>',
            'ReplicationSubnetGroupIdentifier' => '<string>',
            'SubnetGroupStatus' => '<string>',
            'Subnets' => [
                [
                    'SubnetAvailabilityZone' => [
                        'Name' => '<string>',
                    ],
                    'SubnetIdentifier' => '<string>',
                    'SubnetStatus' => '<string>',
                ],
                // ...
            ],
            'SupportedNetworkTypes' => ['<string>', ...],
            'VpcId' => '<string>',
        ],
        // ...
    ],
]

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.

ReplicationSubnetGroups
Type: Array of ReplicationSubnetGroup structures

A description of the replication subnet groups.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe replication subnet groups

Returns information about the replication subnet groups.

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

Result syntax:

[
    'Marker' => '',
    'ReplicationSubnetGroups' => [
    ],
]

DescribeReplicationTableStatistics

$result = $client->describeReplicationTableStatistics([/* ... */]);
$promise = $client->describeReplicationTableStatisticsAsync([/* ... */]);

Returns table and schema statistics for one or more provisioned replications that use a given DMS Serverless replication configuration.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the replication table statistics.

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.

ReplicationConfigArn
Required: Yes
Type: string

The replication config to describe.

Result Syntax

[
    'Marker' => '<string>',
    'ReplicationConfigArn' => '<string>',
    'ReplicationTableStatistics' => [
        [
            'AppliedDdls' => <integer>,
            'AppliedDeletes' => <integer>,
            'AppliedInserts' => <integer>,
            'AppliedUpdates' => <integer>,
            'Ddls' => <integer>,
            'Deletes' => <integer>,
            'FullLoadCondtnlChkFailedRows' => <integer>,
            'FullLoadEndTime' => <DateTime>,
            'FullLoadErrorRows' => <integer>,
            'FullLoadReloaded' => true || false,
            'FullLoadRows' => <integer>,
            'FullLoadStartTime' => <DateTime>,
            'Inserts' => <integer>,
            'LastUpdateTime' => <DateTime>,
            'SchemaName' => '<string>',
            'TableName' => '<string>',
            'TableState' => '<string>',
            'Updates' => <integer>,
            'ValidationFailedRecords' => <integer>,
            'ValidationPendingRecords' => <integer>,
            'ValidationState' => '<string>',
            'ValidationStateDetails' => '<string>',
            'ValidationSuspendedRecords' => <integer>,
        ],
        // ...
    ],
]

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.

ReplicationConfigArn
Type: string

The Amazon Resource Name of the replication config.

ReplicationTableStatistics
Type: Array of TableStatistics structures

Returns table statistics on the replication, including table name, rows inserted, rows updated, and rows 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.

DescribeReplicationTaskAssessmentResults

$result = $client->describeReplicationTaskAssessmentResults([/* ... */]);
$promise = $client->describeReplicationTaskAssessmentResultsAsync([/* ... */]);

Returns the task assessment results from the Amazon S3 bucket that DMS creates in your Amazon Web Services account. This action always returns the latest results.

For more information about DMS task assessments, see Creating a task assessment report in the Database Migration Service User Guide.

Parameter Syntax

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

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.

Default: 100

Constraints: Minimum 20, maximum 100.

ReplicationTaskArn
Type: string

The Amazon Resource Name (ARN) string that uniquely identifies the task. When this input parameter is specified, the API returns only one result and ignore the values of the MaxRecords and Marker parameters.

Result Syntax

[
    'BucketName' => '<string>',
    'Marker' => '<string>',
    'ReplicationTaskAssessmentResults' => [
        [
            'AssessmentResults' => '<string>',
            'AssessmentResultsFile' => '<string>',
            'AssessmentStatus' => '<string>',
            'ReplicationTaskArn' => '<string>',
            'ReplicationTaskIdentifier' => '<string>',
            'ReplicationTaskLastAssessmentDate' => <DateTime>,
            'S3ObjectUrl' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
BucketName
Type: string

- The Amazon S3 bucket where the task assessment report is located.

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.

ReplicationTaskAssessmentResults
Type: Array of ReplicationTaskAssessmentResult structures

The task assessment report.

Errors

ResourceNotFoundFault:

The resource could not be found.

DescribeReplicationTaskAssessmentRuns

$result = $client->describeReplicationTaskAssessmentRuns([/* ... */]);
$promise = $client->describeReplicationTaskAssessmentRunsAsync([/* ... */]);

Returns a paginated list of premigration assessment runs based on filter settings.

These filter settings can specify a combination of premigration assessment runs, migration tasks, replication instances, and assessment run status values.

This operation doesn't return information about individual assessments. For this information, see the DescribeReplicationTaskIndividualAssessments operation.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the premigration assessment runs described in the form of key-value pairs.

Valid filter names: replication-task-assessment-run-arn, replication-task-arn, replication-instance-arn, status

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

[
    'Marker' => '<string>',
    'ReplicationTaskAssessmentRuns' => [
        [
            '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>,
                'Warning' => <integer>,
            ],
            'ServiceAccessRoleArn' => '<string>',
            'Status' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Marker
Type: string

A 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.

ReplicationTaskAssessmentRuns
Type: Array of ReplicationTaskAssessmentRun structures

One or more premigration assessment runs as specified by Filters.

Errors

ResourceNotFoundFault:

The resource could not be found.

DescribeReplicationTaskIndividualAssessments

$result = $client->describeReplicationTaskIndividualAssessments([/* ... */]);
$promise = $client->describeReplicationTaskIndividualAssessmentsAsync([/* ... */]);

Returns a paginated list of individual assessments based on filter settings.

These filter settings can specify a combination of premigration assessment runs, migration tasks, and assessment status values.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the individual assessments described in the form of key-value pairs.

Valid filter names: replication-task-assessment-run-arn, replication-task-arn, status

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

[
    'Marker' => '<string>',
    'ReplicationTaskIndividualAssessments' => [
        [
            'IndividualAssessmentName' => '<string>',
            'ReplicationTaskAssessmentRunArn' => '<string>',
            'ReplicationTaskIndividualAssessmentArn' => '<string>',
            'ReplicationTaskIndividualAssessmentStartDate' => <DateTime>,
            'Status' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
Marker
Type: string

A 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.

ReplicationTaskIndividualAssessments
Type: Array of ReplicationTaskIndividualAssessment structures

One or more individual assessments as specified by Filters.

Errors

ResourceNotFoundFault:

The resource could not be found.

DescribeReplicationTasks

$result = $client->describeReplicationTasks([/* ... */]);
$promise = $client->describeReplicationTasksAsync([/* ... */]);

Returns information about replication tasks for your account in the current region.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to replication tasks.

Valid filter names: replication-task-arn | replication-task-id | migration-type | 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.

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).

Result Syntax

[
    'Marker' => '<string>',
    'ReplicationTasks' => [
        [
            '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
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.

ReplicationTasks
Type: Array of ReplicationTask structures

A description of the replication tasks.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Describe replication tasks

Returns information about replication tasks for your account in the current region.

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

Result syntax:

[
    'Marker' => '',
    'ReplicationTasks' => [
    ],
]

DescribeReplications

$result = $client->describeReplications([/* ... */]);
$promise = $client->describeReplicationsAsync([/* ... */]);

Provides details on replication progress by returning status information for one or more provisioned DMS Serverless replications.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to the replications.

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

[
    'Marker' => '<string>',
    'Replications' => [
        [
            'CdcStartPosition' => '<string>',
            'CdcStartTime' => <DateTime>,
            'CdcStopPosition' => '<string>',
            'FailureMessages' => ['<string>', ...],
            'ProvisionData' => [
                'DateNewProvisioningDataAvailable' => <DateTime>,
                'DateProvisioned' => <DateTime>,
                'IsNewProvisioningAvailable' => true || false,
                'ProvisionState' => '<string>',
                'ProvisionedCapacityUnits' => <integer>,
                'ReasonForNewProvisioningData' => '<string>',
            ],
            'RecoveryCheckpoint' => '<string>',
            'ReplicationConfigArn' => '<string>',
            'ReplicationConfigIdentifier' => '<string>',
            'ReplicationCreateTime' => <DateTime>,
            'ReplicationDeprovisionTime' => <DateTime>,
            'ReplicationLastStopTime' => <DateTime>,
            'ReplicationStats' => [
                'ElapsedTimeMillis' => <integer>,
                'FreshStartDate' => <DateTime>,
                'FullLoadFinishDate' => <DateTime>,
                'FullLoadProgressPercent' => <integer>,
                'FullLoadStartDate' => <DateTime>,
                'StartDate' => <DateTime>,
                'StopDate' => <DateTime>,
                'TablesErrored' => <integer>,
                'TablesLoaded' => <integer>,
                'TablesLoading' => <integer>,
                'TablesQueued' => <integer>,
            ],
            'ReplicationType' => 'full-load|cdc|full-load-and-cdc',
            'ReplicationUpdateTime' => <DateTime>,
            'SourceEndpointArn' => '<string>',
            'StartReplicationType' => '<string>',
            'Status' => '<string>',
            'StopReason' => '<string>',
            'TargetEndpointArn' => '<string>',
        ],
        // ...
    ],
]

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.

Replications
Type: Array of Replication structures

The replication descriptions.

Errors

ResourceNotFoundFault:

The resource could not be found.

DescribeSchemas

$result = $client->describeSchemas([/* ... */]);
$promise = $client->describeSchemasAsync([/* ... */]);

Returns information about the schema for the specified endpoint.

Parameter Syntax

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

Parameter Details

Members
EndpointArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) string that uniquely identifies the 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.

Default: 100

Constraints: Minimum 20, maximum 100.

Result Syntax

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

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.

Schemas
Type: Array of strings

The described schema.

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: Describe schemas

Returns information about the schema for the specified endpoint.

$result = $client->describeSchemas([
    'EndpointArn' => '',
    'Marker' => '',
    'MaxRecords' => 123,
]);

Result syntax:

[
    'Marker' => '',
    'Schemas' => [
    ],
]

DescribeTableStatistics

$result = $client->describeTableStatistics([/* ... */]);
$promise = $client->describeTableStatisticsAsync([/* ... */]);

Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.

Note that the "last updated" column the DMS console only indicates the time that DMS last updated the table statistics record for a table. It does not indicate the time of the last update to the table.

Parameter Syntax

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

Parameter Details

Members
Filters
Type: Array of Filter structures

Filters applied to table statistics.

Valid filter names: schema-name | table-name | table-state

A combination of filters creates an AND condition where each record matches all specified filters.

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 500.

ReplicationTaskArn
Required: Yes
Type: string

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

Result Syntax

[
    'Marker' => '<string>',
    'ReplicationTaskArn' => '<string>',
    'TableStatistics' => [
        [
            'AppliedDdls' => <integer>,
            'AppliedDeletes' => <integer>,
            'AppliedInserts' => <integer>,
            'AppliedUpdates' => <integer>,
            'Ddls' => <integer>,
            'Deletes' => <integer>,
            'FullLoadCondtnlChkFailedRows' => <integer>,
            'FullLoadEndTime' => <DateTime>,
            'FullLoadErrorRows' => <integer>,
            'FullLoadReloaded' => true || false,
            'FullLoadRows' => <integer>,
            'FullLoadStartTime' => <DateTime>,
            'Inserts' => <integer>,
            'LastUpdateTime' => <DateTime>,
            'SchemaName' => '<string>',
            'TableName' => '<string>',
            'TableState' => '<string>',
            'Updates' => <integer>,
            'ValidationFailedRecords' => <integer>,
            'ValidationPendingRecords' => <integer>,
            'ValidationState' => '<string>',
            'ValidationStateDetails' => '<string>',
            'ValidationSuspendedRecords' => <integer>,
        ],
        // ...
    ],
]

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.

ReplicationTaskArn
Type: string

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

TableStatistics
Type: Array of TableStatistics structures

The table statistics.

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: Describe table statistics

Returns table statistics on the database migration task, including table name, rows inserted, rows updated, and rows deleted.

$result = $client->describeTableStatistics([
    'Marker' => '',
    'MaxRecords' => 123,
    'ReplicationTaskArn' => '',
]);

Result syntax:

[
    'Marker' => '',
    'ReplicationTaskArn' => '',
    'TableStatistics' => [
    ],
]

ExportMetadataModelAssessment

$result = $client->exportMetadataModelAssessment([/* ... */]);
$promise = $client->exportMetadataModelAssessmentAsync([/* ... */]);

Saves a copy of a database migration assessment report to your Amazon S3 bucket. DMS can save your assessment report as a comma-separated value (CSV) or a PDF file.

Parameter Syntax

$result = $client->exportMetadataModelAssessment([
    'AssessmentReportTypes' => ['<string>', ...],
    'FileName' => '<string>',
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
    'SelectionRules' => '<string>', // REQUIRED
]);

Parameter Details

Members
AssessmentReportTypes
Type: Array of strings

The file format of the assessment file.

FileName
Type: string

The name of the assessment file to create in your Amazon S3 bucket.

MigrationProjectIdentifier
Required: Yes
Type: string

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

SelectionRules
Required: Yes
Type: string

A value that specifies the database objects to assess.

Result Syntax

[
    'CsvReport' => [
        'ObjectURL' => '<string>',
        'S3ObjectKey' => '<string>',
    ],
    'PdfReport' => [
        'ObjectURL' => '<string>',
        'S3ObjectKey' => '<string>',
    ],
]

Result Details

Members
CsvReport

The Amazon S3 details for an assessment exported in CSV format.

PdfReport

The Amazon S3 details for an assessment exported in PDF format.

Errors

ResourceNotFoundFault:

The resource could not be found.

Examples

Example 1: Export Metadata Model Assessment

Saves a copy of a database migration assessment report to your S3 bucket. DMS can save your assessment report as a comma-separated value (CSV) or a PDF file.

$result = $client->exportMetadataModelAssessment([
    'AssessmentReportTypes' => [
        'pdf',
    ],
    'FileName' => 'file',
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
    'SelectionRules' => '{"rules": [{"rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {"server-name": "aurora-pg.cluster-a1b2c3d4e5f6.us-east-1.rds.amazonaws.com", "schema-name": "schema1", "table-name": "Cities"},"rule-action": "explicit"} ]}',
]);

Result syntax:

[
    'CsvReport' => [
        'ObjectURL' => 'url',
        'S3ObjectKey' => 'object-name',
    ],
    'PdfReport' => [
        'ObjectURL' => 'url',
        'S3ObjectKey' => 'object-name',
    ],
]

ImportCertificate

$result = $client->importCertificate([/* ... */]);
$promise = $client->importCertificateAsync([/* ... */]);

Uploads the specified certificate.

Parameter Syntax

$result = $client->importCertificate([
    'CertificateIdentifier' => '<string>', // REQUIRED
    'CertificatePem' => '<string>',
    'CertificateWallet' => <string || resource || Psr\Http\Message\StreamInterface>,
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
CertificateIdentifier
Required: Yes
Type: string

A customer-assigned name for the certificate. 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.

CertificatePem
Type: string

The contents of a .pem file, which contains an X.509 certificate.

CertificateWallet
Type: blob (string|resource|Psr\Http\Message\StreamInterface)

The location of an imported Oracle Wallet certificate for use with SSL. Provide the name of a .sso file using the fileb:// prefix. You can't provide the certificate inline.

Example: filebase64("${path.root}/rds-ca-2019-root.sso")

Tags
Type: Array of Tag structures

The tags associated with the certificate.

Result Syntax

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

Result Details

Members
Certificate
Type: Certificate structure

The certificate to be uploaded.

Errors

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

InvalidCertificateFault:

The certificate was not valid.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

Examples

Example 1: Import certificate

Uploads the specified certificate.

$result = $client->importCertificate([
    'CertificateIdentifier' => '',
    'CertificatePem' => '',
]);

Result syntax:

[
    'Certificate' => [
    ],
]

ListTagsForResource

$result = $client->listTagsForResource([/* ... */]);
$promise = $client->listTagsForResourceAsync([/* ... */]);

Lists all metadata tags attached to an DMS resource, including replication instance, endpoint, subnet group, and migration task. For more information, see Tag data type description.

Parameter Syntax

$result = $client->listTagsForResource([
    'ResourceArn' => '<string>',
    'ResourceArnList' => ['<string>', ...],
]);

Parameter Details

Members
ResourceArn
Type: string

The Amazon Resource Name (ARN) string that uniquely identifies the DMS resource to list tags for. This returns a list of keys (names of tags) created for the resource and their associated tag values.

ResourceArnList
Type: Array of strings

List of ARNs that identify multiple DMS resources that you want to list tags for. This returns a list of keys (tag names) and their associated tag values. It also returns each tag's associated ResourceArn value, which is the ARN of the resource for which each listed tag is created.

Result Syntax

[
    'TagList' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
TagList
Type: Array of Tag structures

A list of tags for the resource.

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: List tags for resource

Lists all tags for an AWS DMS resource.

$result = $client->listTagsForResource([
    'ResourceArn' => '',
]);

Result syntax:

[
    'TagList' => [
    ],
]

ModifyConversionConfiguration

$result = $client->modifyConversionConfiguration([/* ... */]);
$promise = $client->modifyConversionConfigurationAsync([/* ... */]);

Modifies the specified schema conversion configuration using the provided parameters.

Parameter Syntax

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

Parameter Details

Members
ConversionConfiguration
Required: Yes
Type: string

The new conversion configuration.

MigrationProjectIdentifier
Required: Yes
Type: string

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

Result Syntax

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

Result Details

Members
MigrationProjectIdentifier
Type: string

The name or Amazon Resource Name (ARN) of the modified configuration.

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: Modify Conversion Configuration

Modifies the specified schema conversion configuration using the provided parameters.

$result = $client->modifyConversionConfiguration([
    'ConversionConfiguration' => '{"Common project settings":{"ShowSeverityLevelInSql":"CRITICAL"},"ORACLE_TO_POSTGRESQL" : {"ToTimeZone":false,"LastDayBuiltinFunctionOracle":false, "NextDayBuiltinFunctionOracle":false,"ConvertProceduresToFunction":false,"NvlBuiltinFunctionOracle":false,"DbmsAssertBuiltinFunctionOracle":false}}',
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
]);

Result syntax:

[
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
]

ModifyDataMigration

$result = $client->modifyDataMigration([/* ... */]);
$promise = $client->modifyDataMigrationAsync([/* ... */]);

Modifies an existing DMS data migration.

Parameter Syntax

$result = $client->modifyDataMigration([
    'DataMigrationIdentifier' => '<string>', // REQUIRED
    'DataMigrationName' => '<string>',
    'DataMigrationType' => 'full-load|cdc|full-load-and-cdc',
    'EnableCloudwatchLogs' => true || false,
    'NumberOfJobs' => <integer>,
    'SelectionRules' => '<string>',
    'ServiceAccessRoleArn' => '<string>',
    'SourceDataSettings' => [
        [
            'CDCStartPosition' => '<string>',
            'CDCStartTime' => <integer || string || DateTime>,
            'CDCStopTime' => <integer || string || DateTime>,
            'SlotName' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
DataMigrationIdentifier
Required: Yes
Type: string

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

DataMigrationName
Type: string

The new name for the data migration.

DataMigrationType
Type: string

The new migration type for the data migration.

EnableCloudwatchLogs
Type: boolean

Whether to enable Cloudwatch logs for the data migration.

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

A JSON-formatted string that defines what objects to include and exclude from the migration.

ServiceAccessRoleArn
Type: string

The new service access role ARN for the data migration.

SourceDataSettings
Type: Array of SourceDataSetting structures

The new information about the source data provider for the data migration.

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>',
    ],
]

Result Details

Members
DataMigration
Type: DataMigration structure

Information about the modified 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.

ModifyDataProvider

$result = $client->modifyDataProvider([/* ... */]);
$promise = $client->modifyDataProviderAsync([/* ... */]);

Modifies the specified data provider using the provided settings.

You must remove the data provider from all migration projects before you can modify it.

Parameter Syntax

$result = $client->modifyDataProvider([
    'DataProviderIdentifier' => '<string>', // REQUIRED
    'DataProviderName' => '<string>',
    'Description' => '<string>',
    'Engine' => '<string>',
    'ExactSettings' => true || false,
    'Settings' => [
        'DocDbSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'MariaDbSettings' => [
            'CertificateArn' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'MicrosoftSqlServerSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            '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>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'OracleSettings' => [
            'AsmServer' => '<string>',
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
            'SecretsManagerOracleAsmSecretId' => '<string>',
            'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
            'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'PostgreSqlSettings' => [
            'CertificateArn' => '<string>',
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
            'SslMode' => 'none|require|verify-ca|verify-full',
        ],
        'RedshiftSettings' => [
            'DatabaseName' => '<string>',
            'Port' => <integer>,
            'ServerName' => '<string>',
        ],
    ],
]);

Parameter Details

Members
DataProviderIdentifier
Required: Yes
Type: string

The identifier of the data provider. 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.

DataProviderName
Type: string

The name of the data provider.

Description
Type: string

A user-friendly description of the data provider.

Engine
Type: string

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

ExactSettings
Type: boolean

If this attribute is Y, the current call to ModifyDataProvider replaces all existing data provider settings with the exact settings that you specify in this call. If this attribute is N, the current call to ModifyDataProvider does two things:

  • It replaces any data provider settings that already exist with new values, for settings with the same names.

  • It creates new data provider settings that you specify in the call, for settings with different names.

Settings
Type: DataProviderSettings structure

The settings in JSON format for a data provider.

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',
            ],
            'MariaDbSettings' => [
                'CertificateArn' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'MicrosoftSqlServerSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                '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>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'OracleSettings' => [
                'AsmServer' => '<string>',
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'SecretsManagerOracleAsmAccessRoleArn' => '<string>',
                'SecretsManagerOracleAsmSecretId' => '<string>',
                'SecretsManagerSecurityDbEncryptionAccessRoleArn' => '<string>',
                'SecretsManagerSecurityDbEncryptionSecretId' => '<string>',
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'PostgreSqlSettings' => [
                'CertificateArn' => '<string>',
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
                'SslMode' => 'none|require|verify-ca|verify-full',
            ],
            'RedshiftSettings' => [
                'DatabaseName' => '<string>',
                'Port' => <integer>,
                'ServerName' => '<string>',
            ],
        ],
    ],
]

Result Details

Members
DataProvider
Type: DataProvider structure

The data provider that was modified.

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: Modify Data Provider

Modifies the specified data provider using the provided settings.

$result = $client->modifyDataProvider([
    'DataProviderIdentifier' => 'arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
    'DataProviderName' => 'new-name',
    'Description' => 'description',
    'Engine' => 'sqlserver',
    'Settings' => [
        'MicrosoftSqlServerSettings' => [
            'DatabaseName' => 'DatabaseName',
            'Port' => 11112,
            'ServerName' => 'ServerName2',
            'SslMode' => 'none',
        ],
    ],
]);

Result syntax:

[
    'DataProvider' => [
        'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:my-target-data-provider',
        'DataProviderCreationTime' => ,
        'DataProviderName' => 'my-target-data-provider',
        'Engine' => 'postgres',
        'Settings' => [
            'PostgreSqlSettings' => [
                'DatabaseName' => 'target',
                'Port' => 5432,
                'ServerName' => 'postrgesql.0a1b2c3d4e5f.us-east-1.rds.amazonaws.com',
                'SslMode' => 'none',
            ],
        ],
    ],
]

ModifyEndpoint

$result = $client->modifyEndpoint([/* ... */]);
$promise = $client->modifyEndpointAsync([/* ... */]);

Modifies the specified endpoint.

For a MySQL source or target endpoint, don't explicitly specify the database using the DatabaseName request parameter on the ModifyEndpoint API call. Specifying DatabaseName when you modify 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->modifyEndpoint([
    '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,
    ],
    'EndpointArn' => '<string>', // REQUIRED
    'EndpointIdentifier' => '<string>',
    'EndpointType' => 'source|target',
    'EngineName' => '<string>',
    'ExactSettings' => true || false,
    '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>',
    ],
    '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>',
    ],
    'MicrosoftSQLServerSettings' => [
        '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>',
        '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>',
        '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>',
        '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>',
        'BabelfishDatabaseName' => '<string>',
        'CaptureDdls' => true || false,
        'DatabaseMode' => 'default|babelfish',
        'DatabaseName' => '<string>',
        'DdlArtifactsSchema' => '<string>',
        '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>',
        '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>,
    ],
    '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>',
    ],
    '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) of the certificate used for SSL connection.

DatabaseName
Type: string

The name of the endpoint database. For a MySQL source or target endpoint, do not specify DatabaseName.

DmsTransferSettings
Type: DmsTransferSettings structure

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

Attributes 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

Settings in JSON format for the source DocumentDB endpoint. For more information about the available settings, see the configuration properties section in Using DocumentDB as a Target for Database Migration Service in the Database Migration Service User Guide.

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.

EndpointArn
Required: Yes
Type: string

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

EndpointIdentifier
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
Type: string

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

EngineName
Type: string

The database engine name. Valid values, depending on the EndpointType, include "mysql", "oracle", "postgres", "mariadb", "aurora", "aurora-postgresql", "redshift", "s3", "db2", "db2-zos", "azuredb", "sybase", "dynamodb", "mongodb", "kinesis", "kafka", "elasticsearch", "documentdb", "sqlserver", "neptune", and "babelfish".

ExactSettings
Type: boolean

If this attribute is Y, the current call to ModifyEndpoint replaces all existing endpoint settings with the exact settings that you specify in this call. If this attribute is N, the current call to ModifyEndpoint does two things:

  • It replaces any endpoint settings that already exist with new values, for settings with the same names.

  • It creates new endpoint settings that you specify in the call, for settings with different names.

For example, if you call create-endpoint ... --endpoint-settings '{"a":1}' ..., the endpoint has the following endpoint settings: '{"a":1}'. If you then call modify-endpoint ... --endpoint-settings '{"b":2}' ... for the same endpoint, the endpoint has the following settings: '{"a":1,"b":2}'.

However, suppose that you follow this with a call to modify-endpoint ... --endpoint-settings '{"b":2}' --exact-settings ... for that same endpoint again. Then the endpoint has the following settings: '{"b":2}'. All existing settings are replaced with the exact settings that you specify.

ExternalTableDefinition
Type: string

The external table definition.

ExtraConnectionAttributes
Type: string

Additional attributes associated with the connection. To reset this parameter, pass the empty string ("") as an argument.

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.

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 the configuration properties section in 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 login 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 Redis target endpoint.

RedshiftSettings
Type: RedshiftSettings structure

Provides information that defines an Amazon Redshift endpoint.

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 IAM role you want to use to modify the endpoint. The role must allow the iam:PassRole action.

SslMode
Type: string

The SSL mode used to connect to the endpoint. The default value 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.

TimestreamSettings
Type: TimestreamSettings structure

Settings in JSON format for the target Amazon Timestream endpoint.

Username
Type: string

The user name to be used to login 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>,
        ],
        '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>',
        ],
        '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>',
        ],
        'KmsKeyId' => '<string>',
        'MicrosoftSQLServerSettings' => [
            '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>',
            '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>',
            '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>',
            '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>',
            'BabelfishDatabaseName' => '<string>',
            'CaptureDdls' => true || false,
            'DatabaseMode' => 'default|babelfish',
            'DatabaseName' => '<string>',
            'DdlArtifactsSchema' => '<string>',
            '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>',
            '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 modified endpoint.

Errors

InvalidResourceStateFault:

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

ResourceNotFoundFault:

The resource could not be found.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

AccessDeniedFault:

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

Examples

Example 1: Modify endpoint

Modifies the specified endpoint.

$result = $client->modifyEndpoint([
    'CertificateArn' => '',
    'DatabaseName' => '',
    'EndpointArn' => '',
    'EndpointIdentifier' => '',
    'EndpointType' => 'source',
    'EngineName' => '',
    'ExtraConnectionAttributes' => '',
    'Password' => '',
    'Port' => 123,
    'ServerName' => '',
    'SslMode' => 'require',
    'Username' => '',
]);

Result syntax:

[
    'Endpoint' => [
    ],
]

ModifyEventSubscription

$result = $client->modifyEventSubscription([/* ... */]);
$promise = $client->modifyEventSubscriptionAsync([/* ... */]);

Modifies an existing DMS event notification subscription.

Parameter Syntax

$result = $client->modifyEventSubscription([
    'Enabled' => true || false,
    'EventCategories' => ['<string>', ...],
    'SnsTopicArn' => '<string>',
    'SourceType' => '<string>',
    'SubscriptionName' => '<string>', // REQUIRED
]);

Parameter Details

Members
Enabled
Type: boolean

A Boolean value; set to true to activate the subscription.

EventCategories
Type: Array of strings

A list of event categories for a source type that you want to subscribe to. Use the DescribeEventCategories action to see a list of event categories.

SnsTopicArn
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.

SourceType
Type: string

The type of DMS resource that generates the events you want to subscribe to.

Valid values: replication-instance | replication-task

SubscriptionName
Required: Yes
Type: string

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

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 modified event subscription.

Errors

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

ResourceNotFoundFault:

The resource could not be found.

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.

ModifyInstanceProfile

$result = $client->modifyInstanceProfile([/* ... */]);
$promise = $client->modifyInstanceProfileAsync([/* ... */]);

Modifies the specified instance profile using the provided parameters.

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

Parameter Syntax

$result = $client->modifyInstanceProfile([
    'AvailabilityZone' => '<string>',
    'Description' => '<string>',
    'InstanceProfileIdentifier' => '<string>', // REQUIRED
    'InstanceProfileName' => '<string>',
    'KmsKeyArn' => '<string>',
    'NetworkType' => '<string>',
    'PubliclyAccessible' => true || false,
    'SubnetGroupIdentifier' => '<string>',
    'VpcSecurityGroups' => ['<string>', ...],
]);

Parameter Details

Members
AvailabilityZone
Type: string

The Availability Zone where the instance profile runs.

Description
Type: string

A user-friendly description for the instance profile.

InstanceProfileIdentifier
Required: Yes
Type: string

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

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 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.

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.

VpcSecurityGroups
Type: Array of strings

Specifies the VPC security groups 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 modified.

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.

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: Modify Instance Profile

Modifies the specified instance profile using the provided parameters.

$result = $client->modifyInstanceProfile([
    'AvailabilityZone' => '',
    'Description' => '',
    'InstanceProfileIdentifier' => '',
    'InstanceProfileName' => '',
    'KmsKeyArn' => '',
    'NetworkType' => '',
    'PubliclyAccessible' => 1,
    'SubnetGroupIdentifier' => '',
    'VpcSecurityGroups' => [
    ],
]);

Result syntax:

[
    'InstanceProfile' => [
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:012345678901:instance-profile:my-instance-profile',
        'InstanceProfileCreationTime' => ,
        'InstanceProfileName' => 'my-instance-profile',
        'KmsKeyArn' => 'arn:aws:kms:us-east-1:012345678901:key/01234567-89ab-cdef-0123-456789abcdef',
        'PubliclyAccessible' => 1,
        'SubnetGroupIdentifier' => 'public-subnets',
    ],
]

ModifyMigrationProject

$result = $client->modifyMigrationProject([/* ... */]);
$promise = $client->modifyMigrationProjectAsync([/* ... */]);

Modifies the specified migration project using the provided parameters.

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

Parameter Syntax

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

Parameter Details

Members
Description
Type: string

A user-friendly description of the migration project.

InstanceProfileIdentifier
Type: string

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

MigrationProjectIdentifier
Required: Yes
Type: string

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

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
Type: Array of DataProviderDescriptorDefinition structures

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

TargetDataProviderDescriptors
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

The settings in JSON format for migration rules. Migration rules make it possible for you to change the object names according to the rules that you specify. For example, you can change an object name to lowercase or uppercase, add or remove a prefix or suffix, or rename objects.

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 modified.

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.

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: Modify Migration Project

Modifies the specified migration project using the provided parameters.

$result = $client->modifyMigrationProject([
    'Description' => 'description',
    'InstanceProfileIdentifier' => 'my-instance-profile',
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
    'MigrationProjectName' => 'new-name',
    'SchemaConversionApplicationAttributes' => [
        'S3BucketPath' => 'arn:aws:s3:::myuser-bucket',
        'S3BucketRoleArn' => 'arn:aws:iam::012345678901:role/Admin',
    ],
    'SourceDataProviderDescriptors' => [
        [
            'DataProviderIdentifier' => 'arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
            'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/myuser-admin-access',
            'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:myorg/myuser/ALL.SOURCE.ORACLE_12-A1B2C3',
        ],
    ],
    'TargetDataProviderDescriptors' => [
        [
            'DataProviderIdentifier' => 'arn:aws:dms:us-east-1:012345678901:data-provider:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
            'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/myuser-admin-access',
            'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:myorg/myuser/TARGET.postgresql-A1B2C3',
        ],
    ],
]);

Result syntax:

[
    'MigrationProject' => [
        'InstanceProfileArn' => 'arn:aws:dms:us-east-1:012345678901:instance-profile:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
        'InstanceProfileName' => 'my-instance-profile',
        'MigrationProjectArn' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
        'MigrationProjectCreationTime' => ,
        'MigrationProjectName' => 'my-migration-project',
        'SchemaConversionApplicationAttributes' => [
            'S3BucketPath' => 'my-s3-bucket/my_folder',
            'S3BucketRoleArn' => 'arn:aws:iam::012345678901:role/my-s3role',
        ],
        'SourceDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
                'DataProviderName' => 'all-source-oracle-12',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/my-access-role',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:mygroup/myalias/ALL.SOURCE.ORACLE_12-TP5rA9',
            ],
        ],
        'TargetDataProviderDescriptors' => [
            [
                'DataProviderArn' => 'arn:aws:dms:us-east-1:012345678901:data-provider:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
                'DataProviderName' => 'my-dataprovider',
                'SecretsManagerAccessRoleArn' => 'arn:aws:iam::012345678901:role/my-access-role',
                'SecretsManagerSecretId' => 'arn:aws:secretsmanager:us-east-1:012345678901:secret:mygroup/myalias/TARGET.postgresql-mysecret',
            ],
        ],
    ],
]

ModifyReplicationConfig

$result = $client->modifyReplicationConfig([/* ... */]);
$promise = $client->modifyReplicationConfigAsync([/* ... */]);

Modifies an existing DMS Serverless replication configuration that you can use to start a replication. This command includes input validation and logic to check the state of any replication that uses this configuration. You can only modify a replication configuration before any replication that uses it has started. As soon as you have initially started a replication with a given configuiration, you can't modify that configuration, even if you stop it.

Other run statuses that allow you to run this command include FAILED and CREATED. A provisioning state that allows you to run this command is FAILED_PROVISION.

Parameter Syntax

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

Parameter Details

Members
ComputeConfig
Type: ComputeConfig structure

Configuration parameters for provisioning an DMS Serverless replication.

ReplicationConfigArn
Required: Yes
Type: string

The Amazon Resource Name of the replication to modify.

ReplicationConfigIdentifier
Type: string

The new replication config to apply to the replication.

ReplicationSettings
Type: string

The settings for the replication.

ReplicationType
Type: string

The type of replication.

SourceEndpointArn
Type: string

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

SupplementalSettings
Type: string

Additional settings for the replication.

TableMappings
Type: string

Table mappings specified in the replication.

TargetEndpointArn
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>', ...],
        ],
        '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

Information about the serverless replication config that was modified.

Errors

AccessDeniedFault:

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

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.

InvalidSubnet:

The subnet provided isn't valid.

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

InvalidResourceStateFault:

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

ModifyReplicationInstance

$result = $client->modifyReplicationInstance([/* ... */]);
$promise = $client->modifyReplicationInstanceAsync([/* ... */]);

Modifies the replication instance to apply new settings. You can change one or more parameters by specifying these parameters and the new values in the request.

Some settings are applied during the maintenance window.

Parameter Syntax

$result = $client->modifyReplicationInstance([
    'AllocatedStorage' => <integer>,
    'AllowMajorVersionUpgrade' => true || false,
    'ApplyImmediately' => true || false,
    'AutoMinorVersionUpgrade' => true || false,
    'EngineVersion' => '<string>',
    'MultiAZ' => true || false,
    'NetworkType' => '<string>',
    'PreferredMaintenanceWindow' => '<string>',
    'ReplicationInstanceArn' => '<string>', // REQUIRED
    'ReplicationInstanceClass' => '<string>',
    'ReplicationInstanceIdentifier' => '<string>',
    'VpcSecurityGroupIds' => ['<string>', ...],
]);

Parameter Details

Members
AllocatedStorage
Type: int

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

AllowMajorVersionUpgrade
Type: boolean

Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage, and the change is asynchronously applied as soon as possible.

This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the replication instance's current version.

ApplyImmediately
Type: boolean

Indicates whether the changes should be applied immediately or during the next maintenance window.

AutoMinorVersionUpgrade
Type: boolean

A value that indicates that minor version upgrades are applied automatically to the replication instance during the maintenance window. Changing this parameter doesn't result in an outage, except in the case described following. The change is asynchronously applied as soon as possible.

An outage does result if these factors apply:

  • This parameter is set to true during the maintenance window.

  • A newer minor version is available.

  • DMS has enabled automatic patching for the given engine version.

EngineVersion
Type: string

The engine version number of the replication instance.

When modifying a major engine version of an instance, also set AllowMajorVersionUpgrade to true.

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 (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied.

Default: Uses existing setting

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

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

Constraints: Must be at least 30 minutes

ReplicationInstanceArn
Required: Yes
Type: string

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

ReplicationInstanceClass
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 Selecting the right DMS replication instance for your migration.

ReplicationInstanceIdentifier
Type: string

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

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>,
        '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' => [
            '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 modified replication instance.

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.

InsufficientResourceCapacityFault:

There are not enough resources allocated to the database migration.

StorageQuotaExceededFault:

The storage quota has been exceeded.

UpgradeDependencyFailureFault:

An upgrade dependency is preventing the database migration.

Examples

Example 1: Modify replication instance

Modifies the replication instance to apply new settings. You can change one or more parameters by specifying these parameters and the new values in the request. Some settings are applied during the maintenance window.

$result = $client->modifyReplicationInstance([
    'AllocatedStorage' => 123,
    'AllowMajorVersionUpgrade' => 1,
    'ApplyImmediately' => 1,
    'AutoMinorVersionUpgrade' => 1,
    'EngineVersion' => '1.5.0',
    'MultiAZ' => 1,
    'PreferredMaintenanceWindow' => 'sun:06:00-sun:14:00',
    'ReplicationInstanceArn' => 'arn:aws:dms:us-east-1:123456789012:rep:6UTDJGBOUS3VI3SUWA66XFJCJQ',
    'ReplicationInstanceClass' => 'dms.t2.micro',
    'ReplicationInstanceIdentifier' => 'test-rep-1',
    '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' => 'available',
        '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',
        ],
    ],
]

ModifyReplicationSubnetGroup

$result = $client->modifyReplicationSubnetGroup([/* ... */]);
$promise = $client->modifyReplicationSubnetGroupAsync([/* ... */]);

Modifies the settings for the specified replication subnet group.

Parameter Syntax

$result = $client->modifyReplicationSubnetGroup([
    'ReplicationSubnetGroupDescription' => '<string>',
    'ReplicationSubnetGroupIdentifier' => '<string>', // REQUIRED
    'SubnetIds' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ReplicationSubnetGroupDescription
Type: string

A description for the replication instance subnet group.

ReplicationSubnetGroupIdentifier
Required: Yes
Type: string

The name of the replication instance subnet group.

SubnetIds
Required: Yes
Type: Array of strings

A list of subnet IDs.

Result Syntax

[
    'ReplicationSubnetGroup' => [
        '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 modified replication subnet group.

Errors

AccessDeniedFault:

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

ResourceNotFoundFault:

The resource could not be found.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

SubnetAlreadyInUse:

The specified subnet is already in use.

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: Modify replication subnet group

Modifies the settings for the specified replication subnet group.

$result = $client->modifyReplicationSubnetGroup([
    'ReplicationSubnetGroupDescription' => '',
    'ReplicationSubnetGroupIdentifier' => '',
    'SubnetIds' => [
    ],
]);

Result syntax:

[
    'ReplicationSubnetGroup' => [
    ],
]

ModifyReplicationTask

$result = $client->modifyReplicationTask([/* ... */]);
$promise = $client->modifyReplicationTaskAsync([/* ... */]);

Modifies the specified replication task.

You can't modify the task endpoints. The task must be stopped before you can modify it.

For more information about DMS tasks, see Working with Migration Tasks in the Database Migration Service User Guide.

Parameter Syntax

$result = $client->modifyReplicationTask([
    'CdcStartPosition' => '<string>',
    'CdcStartTime' => <integer || string || DateTime>,
    'CdcStopPosition' => '<string>',
    'MigrationType' => 'full-load|cdc|full-load-and-cdc',
    'ReplicationTaskArn' => '<string>', // REQUIRED
    'ReplicationTaskIdentifier' => '<string>',
    'ReplicationTaskSettings' => '<string>',
    'TableMappings' => '<string>',
    '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
Type: string

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

ReplicationTaskArn
Required: Yes
Type: string

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

ReplicationTaskIdentifier
Type: string

The replication task identifier.

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

JSON file that contains settings for the task, such as task metadata settings.

TableMappings
Type: string

When using the CLI or boto3, provide the path of the JSON file that contains the table mappings. Precede the path with file://. For example, --table-mappings file://mappingfile.json. When working with the DMS API, provide the JSON as the parameter value.

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 modified.

Errors

InvalidResourceStateFault:

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

ResourceNotFoundFault:

The resource could not be found.

ResourceAlreadyExistsFault:

The resource you are attempting to create already exists.

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

MoveReplicationTask

$result = $client->moveReplicationTask([/* ... */]);
$promise = $client->moveReplicationTaskAsync([/* ... */]);

Moves a replication task from its current replication instance to a different target replication instance using the specified parameters. The target replication instance must be created with the same or later DMS version as the current replication instance.

Parameter Syntax

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

Parameter Details

Members
ReplicationTaskArn
Required: Yes
Type: string

The Amazon Resource Name (ARN) of the task that you want to move.

TargetReplicationInstanceArn
Required: Yes
Type: string

The ARN of the replication instance where you want to move the task to.

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 moved.

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.

ResourceNotFoundFault:

The resource could not be found.

KMSKeyNotAccessibleFault:

DMS cannot access the KMS key.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

RebootReplicationInstance

$result = $client->rebootReplicationInstance([/* ... */]);
$promise = $client->rebootReplicationInstanceAsync([/* ... */]);

Reboots a replication instance. Rebooting results in a momentary outage, until the replication instance becomes available again.

Parameter Syntax

$result = $client->rebootReplicationInstance([
    'ForceFailover' => true || false,
    'ForcePlannedFailover' => true || false,
    'ReplicationInstanceArn' => '<string>', // REQUIRED
]);

Parameter Details

Members
ForceFailover
Type: boolean

If this parameter is true, the reboot is conducted through a Multi-AZ failover. If the instance isn't configured for Multi-AZ, then you can't specify true. ( --force-planned-failover and --force-failover can't both be set to true.)

ForcePlannedFailover
Type: boolean

If this parameter is true, the reboot is conducted through a planned Multi-AZ failover where resources are released and cleaned up prior to conducting the failover. If the instance isn''t configured for Multi-AZ, then you can't specify true. ( --force-planned-failover and --force-failover can't both be set to true.)

ReplicationInstanceArn
Required: Yes
Type: string

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

Result Syntax

[
    'ReplicationInstance' => [
        'AllocatedStorage' => <integer>,
        'AutoMinorVersionUpgrade' => true || false,
        'AvailabilityZone' => '<string>',
        'DnsNameServers' => '<string>',
        'EngineVersion' => '<string>',
        'FreeUntil' => <DateTime>,
        'InstanceCreateTime' => <DateTime>,
        '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' => [
            '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 is being rebooted.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

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

RefreshSchemas

$result = $client->refreshSchemas([/* ... */]);
$promise = $client->refreshSchemasAsync([/* ... */]);

Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the DescribeRefreshSchemasStatus operation.

Parameter Syntax

$result = $client->refreshSchemas([
    '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

[
    'RefreshSchemasStatus' => [
        'EndpointArn' => '<string>',
        'LastFailureMessage' => '<string>',
        'LastRefreshDate' => <DateTime>,
        'ReplicationInstanceArn' => '<string>',
        'Status' => 'successful|failed|refreshing',
    ],
]

Result Details

Members
RefreshSchemasStatus
Type: RefreshSchemasStatus structure

The status of the refreshed schema.

Errors

InvalidResourceStateFault:

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

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: Refresh schema

Populates the schema for the specified endpoint. This is an asynchronous operation and can take several minutes. You can check the status of this operation by calling the describe-refresh-schemas-status operation.

$result = $client->refreshSchemas([
    'EndpointArn' => '',
    'ReplicationInstanceArn' => '',
]);

Result syntax:

[
    'RefreshSchemasStatus' => [
    ],
]

ReloadReplicationTables

$result = $client->reloadReplicationTables([/* ... */]);
$promise = $client->reloadReplicationTablesAsync([/* ... */]);

Reloads the target database table with the source data for a given DMS Serverless replication configuration.

You can only use this operation with a task in the RUNNING state, otherwise the service will throw an InvalidResourceStateFault exception.

Parameter Syntax

$result = $client->reloadReplicationTables([
    'ReloadOption' => 'data-reload|validate-only',
    'ReplicationConfigArn' => '<string>', // REQUIRED
    'TablesToReload' => [ // REQUIRED
        [
            'SchemaName' => '<string>', // REQUIRED
            'TableName' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ReloadOption
Type: string

Options for reload. Specify data-reload to reload the data and re-validate it if validation is enabled. Specify validate-only to re-validate the table. This option applies only when validation is enabled for the replication.

ReplicationConfigArn
Required: Yes
Type: string

The Amazon Resource Name of the replication config for which to reload tables.

TablesToReload
Required: Yes
Type: Array of TableToReload structures

The list of tables to reload.

Result Syntax

[
    'ReplicationConfigArn' => '<string>',
]

Result Details

Members
ReplicationConfigArn
Type: string

The Amazon Resource Name of the replication config for which to reload tables.

Errors

ResourceNotFoundFault:

The resource could not be found.

InvalidResourceStateFault:

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

ReloadTables

$result = $client->reloadTables([/* ... */]);
$promise = $client->reloadTablesAsync([/* ... */]);

Reloads the target database table with the source data.

You can only use this operation with a task in the RUNNING state, otherwise the service will throw an InvalidResourceStateFault exception.

Parameter Syntax

$result = $client->reloadTables([
    'ReloadOption' => 'data-reload|validate-only',
    'ReplicationTaskArn' => '<string>', // REQUIRED
    'TablesToReload' => [ // REQUIRED
        [
            'SchemaName' => '<string>', // REQUIRED
            'TableName' => '<string>', // REQUIRED
        ],
        // ...
    ],
]);

Parameter Details

Members
ReloadOption
Type: string

Options for reload. Specify data-reload to reload the data and re-validate it if validation is enabled. Specify validate-only to re-validate the table. This option applies only when validation is enabled for the task.

Valid values: data-reload, validate-only

Default value is data-reload.

ReplicationTaskArn
Required: Yes
Type: string

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

TablesToReload
Required: Yes
Type: Array of TableToReload structures

The name and schema of the table to be reloaded.

Result Syntax

[
    'ReplicationTaskArn' => '<string>',
]

Result Details

Members
ReplicationTaskArn
Type: string

The Amazon Resource Name (ARN) of the 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.

RemoveTagsFromResource

$result = $client->removeTagsFromResource([/* ... */]);
$promise = $client->removeTagsFromResourceAsync([/* ... */]);

Removes metadata tags from an DMS resource, including replication instance, endpoint, subnet group, and migration task. For more information, see Tag data type description.

Parameter Syntax

$result = $client->removeTagsFromResource([
    'ResourceArn' => '<string>', // REQUIRED
    'TagKeys' => ['<string>', ...], // REQUIRED
]);

Parameter Details

Members
ResourceArn
Required: Yes
Type: string

An DMS resource from which you want to remove tag(s). The value for this parameter is an Amazon Resource Name (ARN).

TagKeys
Required: Yes
Type: Array of strings

The tag key (name) of the tag to be removed.

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: Remove tags from resource

Removes metadata tags from an AWS DMS resource.

$result = $client->removeTagsFromResource([
    'ResourceArn' => 'arn:aws:dms:us-east-1:123456789012:endpoint:ASXWXJZLNWNT5HTWCGV2BUJQ7E',
    'TagKeys' => [
    ],
]);

Result syntax:

[
]

RunFleetAdvisorLsaAnalysis

$result = $client->runFleetAdvisorLsaAnalysis([/* ... */]);
$promise = $client->runFleetAdvisorLsaAnalysisAsync([/* ... */]);

Runs large-scale assessment (LSA) analysis on every Fleet Advisor collector in your account.

Parameter Syntax

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

Parameter Details

Members

Result Syntax

[
    'LsaAnalysisId' => '<string>',
    'Status' => '<string>',
]

Result Details

Members
LsaAnalysisId
Type: string

The ID of the LSA analysis run.

Status
Type: string

The status of the LSA analysis, for example COMPLETED.

Errors

InvalidResourceStateFault:

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

ResourceNotFoundFault:

The resource could not be found.

StartDataMigration

$result = $client->startDataMigration([/* ... */]);
$promise = $client->startDataMigrationAsync([/* ... */]);

Starts the specified data migration.

Parameter Syntax

$result = $client->startDataMigration([
    'DataMigrationIdentifier' => '<string>', // REQUIRED
    'StartType' => 'reload-target|resume-processing|start-replication', // REQUIRED
]);

Parameter Details

Members
DataMigrationIdentifier
Required: Yes
Type: string

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

StartType
Required: Yes
Type: string

Specifies the start type for the data migration. Valid values include start-replication, reload-target, and resume-processing.

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>',
    ],
]

Result Details

Members
DataMigration
Type: DataMigration structure

The data migration that DMS started.

Errors

InvalidResourceStateFault:

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

InvalidOperationFault:

The action or operation requested isn't valid.

ResourceNotFoundFault:

The resource could not be found.

ResourceQuotaExceededFault:

The quota for this resource quota has been exceeded.

FailedDependencyFault:

A dependency threw an exception.

StartExtensionPackAssociation

$result = $client->startExtensionPackAssociation([/* ... */]);
$promise = $client->startExtensionPackAssociationAsync([/* ... */]);

Applies the extension pack to your target database. An extension pack is an add-on module that emulates functions present in a source database that are required when converting objects to the target database.

Parameter Syntax

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

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

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

Result Syntax

[
    'RequestIdentifier' => '<string>',
]

Result Details

Members
RequestIdentifier
Type: string

The identifier for the request operation.

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.

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.

Examples

Example 1: Start Extension Pack Association

Applies the extension pack to your target database.

$result = $client->startExtensionPackAssociation([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
]);

Result syntax:

[
    'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
]

StartMetadataModelAssessment

$result = $client->startMetadataModelAssessment([/* ... */]);
$promise = $client->startMetadataModelAssessmentAsync([/* ... */]);

Creates a database migration assessment report by assessing the migration complexity for your source database. A database migration assessment report summarizes all of the schema conversion tasks. It also details the action items for database objects that can't be converted to the database engine of your target database instance.

Parameter Syntax

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

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

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

SelectionRules
Required: Yes
Type: string

A value that specifies the database objects to assess.

Result Syntax

[
    'RequestIdentifier' => '<string>',
]

Result Details

Members
RequestIdentifier
Type: string

The identifier for the assessment operation.

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.

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.

Examples

Example 1: Start Metadata Model Assessment

Creates a database migration assessment report by assessing the migration complexity for your source database.

$result = $client->startMetadataModelAssessment([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
    'SelectionRules' => '{"rules": [{"rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {"server-name": "aurora-pg.cluster-0a1b2c3d4e5f.us-east-1.rds.amazonaws.com", "schema-name": "schema1", "table-name": "Cities"},"rule-action": "explicit"} ]}',
]);

Result syntax:

[
    'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
]

StartMetadataModelConversion

$result = $client->startMetadataModelConversion([/* ... */]);
$promise = $client->startMetadataModelConversionAsync([/* ... */]);

Converts your source database objects to a format compatible with the target database.

Parameter Syntax

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

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

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

SelectionRules
Required: Yes
Type: string

A value that specifies the database objects to convert.

Result Syntax

[
    'RequestIdentifier' => '<string>',
]

Result Details

Members
RequestIdentifier
Type: string

The identifier for the conversion operation.

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.

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.

Examples

Example 1: Start Metadata Model Conversion

Converts your source database objects to a format compatible with the target database.

$result = $client->startMetadataModelConversion([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
    'SelectionRules' => '{"rules": [{"rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {"server-name": "aurora-pg.cluster-0a1b2c3d4e5f.us-east-1.rds.amazonaws.com", "schema-name": "schema1", "table-name": "Cities"},"rule-action": "explicit"} ]}',
]);

Result syntax:

[
    'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
]

StartMetadataModelExportAsScript

$result = $client->startMetadataModelExportAsScript([/* ... */]);
$promise = $client->startMetadataModelExportAsScriptAsync([/* ... */]);

Saves your converted code to a file as a SQL script, and stores this file on your Amazon S3 bucket.

Parameter Syntax

$result = $client->startMetadataModelExportAsScript([
    'FileName' => '<string>',
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
    'Origin' => 'SOURCE|TARGET', // REQUIRED
    'SelectionRules' => '<string>', // REQUIRED
]);

Parameter Details

Members
FileName
Type: string

The name of the model file to create in the Amazon S3 bucket.

MigrationProjectIdentifier
Required: Yes
Type: string

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

Origin
Required: Yes
Type: string

Whether to export the metadata model from the source or the target.

SelectionRules
Required: Yes
Type: string

A value that specifies the database objects to export.

Result Syntax

[
    'RequestIdentifier' => '<string>',
]

Result Details

Members
RequestIdentifier
Type: string

The identifier for the export operation.

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.

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.

Examples

Example 1: Start Metadata Model Export As Script

Saves your converted code to a file as a SQL script, and stores this file on your S3 bucket.

$result = $client->startMetadataModelExportAsScript([
    'FileName' => 'FILE',
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
    'Origin' => 'SOURCE',
    'SelectionRules' => '{"rules": [{"rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {"server-name": "aurora-pg.cluster-0a1b2c3d4e5f.us-east-1.rds.amazonaws.com", "schema-name": "schema1", "table-name": "Cities"},"rule-action": "explicit"} ]}',
]);

Result syntax:

[
    'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
]

StartMetadataModelExportToTarget

$result = $client->startMetadataModelExportToTarget([/* ... */]);
$promise = $client->startMetadataModelExportToTargetAsync([/* ... */]);

Applies converted database objects to your target database.

Parameter Syntax

$result = $client->startMetadataModelExportToTarget([
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
    'OverwriteExtensionPack' => true || false,
    'SelectionRules' => '<string>', // REQUIRED
]);

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

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

OverwriteExtensionPack
Type: boolean

Whether to overwrite the migration project extension pack. An extension pack is an add-on module that emulates functions present in a source database that are required when converting objects to the target database.

SelectionRules
Required: Yes
Type: string

A value that specifies the database objects to export.

Result Syntax

[
    'RequestIdentifier' => '<string>',
]

Result Details

Members
RequestIdentifier
Type: string

The identifier for the export operation.

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.

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.

Examples

Example 1: Start Metadata Model Export To Target

Applies converted database objects to your target database.

$result = $client->startMetadataModelExportToTarget([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:EXAMPLEABCDEFGHIJKLMNOPQRSTUVWXYZ012345',
    'OverwriteExtensionPack' => 1,
    'SelectionRules' => '{"rules": [{"rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {"server-name": "aurora-pg.cluster-a1b2c3d4e5f6.us-east-1.rds.amazonaws.com", "schema-name": "schema1", "table-name": "Cities"},"rule-action": "explicit"} ]}',
]);

Result syntax:

[
    'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
]

StartMetadataModelImport

$result = $client->startMetadataModelImport([/* ... */]);
$promise = $client->startMetadataModelImportAsync([/* ... */]);

Loads the metadata for all the dependent database objects of the parent object.

This operation uses your project's Amazon S3 bucket as a metadata cache to improve performance.

Parameter Syntax

$result = $client->startMetadataModelImport([
    'MigrationProjectIdentifier' => '<string>', // REQUIRED
    'Origin' => 'SOURCE|TARGET', // REQUIRED
    'Refresh' => true || false,
    'SelectionRules' => '<string>', // REQUIRED
]);

Parameter Details

Members
MigrationProjectIdentifier
Required: Yes
Type: string

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

Origin
Required: Yes
Type: string

Whether to load metadata to the source or target database.

Refresh
Type: boolean

If true, DMS loads metadata for the specified objects from the source database.

SelectionRules
Required: Yes
Type: string

A value that specifies the database objects to import.

Result Syntax

[
    'RequestIdentifier' => '<string>',
]

Result Details

Members
RequestIdentifier
Type: string

The identifier for the import operation.

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.

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.

Examples

Example 1: Start Metadata Model Import

Loads the metadata for all the dependent database objects of the parent object.

$result = $client->startMetadataModelImport([
    'MigrationProjectIdentifier' => 'arn:aws:dms:us-east-1:012345678901:migration-project:0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ012',
    'Origin' => 'SOURCE',
    'Refresh' => ,
    'SelectionRules' => '{"rules": [{"rule-type": "selection","rule-id": "1","rule-name": "1","object-locator": {"server-name": "aurora-pg.cluster-0a1b2c3d4e5f.us-east-1.rds.amazonaws.com", "schema-name": "schema1", "table-name": "Cities"},"rule-action": "explicit"} ]}',
]);

Result syntax:

[
    'RequestIdentifier' => '01234567-89ab-cdef-0123-456789abcdef',
]

StartRecommendations

$result = $client->startRecommendations([/* ... */]);
$promise = $client->startRecommendationsAsync([/* ... */]);

Starts the analysis of your source database to provide recommendations of target engines.

You can create recommendations for multiple source databases using BatchStartRecommendations.

Parameter Syntax

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

Parameter Details

Members
DatabaseId
Required: Yes
Type: string

The identifier of the source database to analyze and provide recommendations for.

Settings
Required: Yes
Type: RecommendationSettings structure

The settings in JSON format that Fleet Advisor uses to determine target engine recommendations. These parameters include target instance sizing and availability and durability settings. For target instance sizing, Fleet Advisor supports the following two options: total capacity and resource utilization. For availability and durability, Fleet Advisor supports the following two options: production (Multi-AZ deployments) and Dev/Test (Single-AZ deployments).

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.

AccessDeniedFault:

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

ResourceNotFoundFault:

The resource could not be found.

StartReplication

$result = $client->startReplication([/* ... */]);
$promise = $client->startReplicationAsync([/* ... */]);

For a given DMS Serverless replication configuration, DMS connects to the source endpoint and collects the metadata to analyze the replication workload. Using this metadata, DMS then computes and provisions the required capacity and starts replicating to the target endpoint using the server resources that DMS has provisioned for the DMS Serverless replication.

Parameter Syntax

$result = $client->startReplication([
    'CdcStartPosition' => '<string>',
    'CdcStartTime' => <integer || string || DateTime>,
    'CdcStopPosition' => '<string>',
    'ReplicationConfigArn' => '<string>', // REQUIRED
    'StartReplicationType' => '<string>', // REQUIRED
]);

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.

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.

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.

ReplicationConfigArn
Required: Yes
Type: string

The Amazon Resource Name of the replication for which to start replication.

StartReplicationType
Required: Yes
Type: string

The replication type.

Result Syntax

[
    'Replication' => [
        'CdcStartPosition' => '<string>',
        'CdcStartTime' => <DateTime>,
        'CdcStopPosition' => '<string>',
        'FailureMessages' => ['<string>', ...],
        'ProvisionData' => [
            'DateNewProvisioningDataAvailable' => <DateTime>,
            'DateProvisioned' => <DateTime>,
            'IsNewProvisioningAvailable' => true || false,
            'ProvisionState' => '<string>',
            'ProvisionedCapacityUnits' => <integer>,
            'ReasonForNewProvisioningData' => '<string>',
        ],
        'RecoveryCheckpoint' => '<string>',
        'ReplicationConfigArn' => '<string>',
        'ReplicationConfigIdentifier' => '<string>',
        'ReplicationCreateTime' => <DateTime>,
        'ReplicationDeprovisionTime' => <DateTime>,
        'ReplicationLastStopTime' => <DateTime>,
        'ReplicationStats' => [
            'ElapsedTimeMillis' => <integer>,
            'FreshStartDate' => <DateTime>,
            'FullLoadFinishDate' => <DateTime>,
            'FullLoadProgressPercent' => <integer>,
            'FullLoadStartDate' => <DateTime>,
            'StartDate' => <DateTime>,
            'StopDate' => <DateTime>,
            'TablesErrored' => <integer>,
            'TablesLoaded' => <integer>,
            'TablesLoading' => <integer>,
            'TablesQueued' => <integer>,
        ],
        'ReplicationType' => 'full-load|cdc|full-load-and-cdc',
        'ReplicationUpdateTime' => <DateTime>,
        'SourceEndpointArn' => '<string>',
        'StartReplicationType' => '<string>',
        'Status' => '<string>',
        'StopReason' => '<string>',
        'TargetEndpointArn' => '<string>',
    ],
]

Result Details

Members
Replication
Type: Replication structure

The replication that DMS started.

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.

StartReplicationTask

$result = $client->startReplicationTask([/* ... */]);
$promise = $client->startReplicationTaskAsync([/* ... */]);

Starts the replication task.

For more information about DMS tasks, see Working with Migration Tasks in the Database Migration Service User Guide.

Parameter Syntax

$result = $client->startReplicationTask([
    'CdcStartPosition' => '<string>',
    'CdcStartTime' => <integer || string || DateTime>,
    'CdcStopPosition' => '<string>',
    'ReplicationTaskArn' => '<string>', // REQUIRED
    'StartReplicationTaskType' => 'start-replication|resume-processing|reload-target', // REQUIRED
]);

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“

ReplicationTaskArn
Required: Yes
Type: string

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

StartReplicationTaskType
Required: Yes
Type: string

The type of replication task to start.

When the migration type is full-load or full-load-and-cdc, the only valid value for the first run of the task is start-replication. This option will start the migration.

You can also use ReloadTables to reload specific tables that failed during migration instead of restarting the task.

The resume-processing option isn't applicable for a full-load task, because you can't resume partially loaded tables during the full load phase.

For a full-load-and-cdc task, DMS migrates table data, and then applies data changes that occur on the source. To load all the tables again, and start capturing source changes, use reload-target. Otherwise use resume-processing, to replicate the changes from the last stop position.

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 started.

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: Start replication task

Starts the replication task.

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

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',
    ],
]

StartReplicationTaskAssessment

$result = $client->startReplicationTaskAssessment([/* ... */]);
$promise = $client->startReplicationTaskAssessmentAsync([/* ... */]);

Starts the replication task assessment for unsupported data types in the source database.

You can only use this operation for a task if the following conditions are true:

  • The task must be in the stopped state.

  • The task must have successful connections to the source and target.

If either of these conditions are not met, an InvalidResourceStateFault error will result.

For information about DMS task assessments, see Creating a task assessment report in the Database Migration Service User Guide.

Parameter Syntax

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

Parameter Details

Members
ReplicationTaskArn
Required: Yes
Type: string

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

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 assessed replication task.

Errors

InvalidResourceStateFault:

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

ResourceNotFoundFault:

The resource could not be found.

StartReplicationTaskAssessmentRun

$result = $client->startReplicationTaskAssessmentRun([/* ... */]);
$promise = $client->startReplicationTaskAssessmentRunAsync([/* ... */]);

Starts a new premigration assessment run for one or more individual assessments of a migration task.

The assessments that you can specify depend on the source and target database engine and the migration type defined for the given task. To run this operation, your migration task must already be created. After you run this operation, you can review the status of each individual assessment. You can also run the migration task manually after the assessment run and its individual assessments complete.

Parameter Syntax

$result = $client->startReplicationTaskAssessmentRun([
    'AssessmentRunName' => '<string>', // REQUIRED
    'Exclude' => ['<string>', ...],
    'IncludeOnly' => ['<string>', ...],
    'ReplicationTaskArn' => '<string>', // REQUIRED
    'ResultEncryptionMode' => '<string>',
    'ResultKmsKeyArn' => '<string>',
    'ResultLocationBucket' => '<string>', // REQUIRED
    'ResultLocationFolder' => '<string>',
    'ServiceAccessRoleArn' => '<string>', // REQUIRED
    'Tags' => [
        [
            'Key' => '<string>',
            'ResourceArn' => '<string>',
            'Value' => '<string>',
        ],
        // ...
    ],
]);

Parameter Details

Members
AssessmentRunName
Required: Yes
Type: string

Unique name to identify the assessment run.

Exclude
Type: Array of strings

Space-separated list of names for specific individual assessments that you want to exclude. These names come from the default list of individual assessments that DMS supports for the associated migration task. This task is specified by ReplicationTaskArn.

You can't set a value for Exclude if you also set a value for IncludeOnly in the API operation.

To identify the names of the default individual assessments that DMS supports for the associated migration task, run the DescribeApplicableIndividualAssessments operation using its own ReplicationTaskArn request parameter.

IncludeOnly
Type: Array of strings

Space-separated list of names for specific individual assessments that you want to include. These names come from the default list of individual assessments that DMS supports for the associated migration task. This task is specified by ReplicationTaskArn.

You can't set a value for IncludeOnly if you also set a value for Exclude in the API operation.

To identify the names of the default individual assessments that DMS supports for the associated migration task, run the DescribeApplicableIndividualAssessments operation using its own ReplicationTaskArn request parameter.

ReplicationTaskArn
Required: Yes
Type: string

Amazon Resource Name (ARN) of the migration task associated with the premigration assessment run that you want to start.

ResultEncryptionMode
Type: string

Encryption mode that you can specify to encrypt the results of this assessment run. If you don't specify this request parameter, DMS stores the assessment run results without encryption. You can specify one of the options following:

  • "SSE_S3" – The server-side encryption provided as a default by Amazon S3.

  • "SSE_KMS" – Key Management Service (KMS) encryption. This encryption can use either a custom KMS encryption key that you specify or the default KMS encryption key that DMS provides.

ResultKmsKeyArn
Type: string

ARN of a custom KMS encryption key that you specify when you set ResultEncryptionMode to "SSE_KMS".

ResultLocationBucket
Required: Yes
Type: string

Amazon S3 bucket where you want DMS to store the results of this assessment run.

ResultLocationFolder
Type: string

Folder within an Amazon S3 bucket where you want DMS to store the results of this assessment run.

ServiceAccessRoleArn
Required: Yes
Type: string

ARN of the service role needed to start the assessment run. The role must allow the iam:PassRole action.

Tags
Type: Array of Tag structures

One or more tags to be assigned to the premigration assessment run that you want to start.

Result Syntax

[
    'ReplicationTaskAssessmentRun' => [
        'AssessmentProgress' => [
            'IndividualAssessmentCompletedCount' => <integer>,