AWS Database Migration Service
API Reference (API Version 2016-01-01)

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

CreateEndpoint

Creates an endpoint using the provided settings.

Request Syntax

{ "CertificateArn": "string", "DatabaseName": "string", "DmsTransferSettings": { "BucketName": "string", "ServiceAccessRoleArn": "string" }, "DynamoDbSettings": { "ServiceAccessRoleArn": "string" }, "ElasticsearchSettings": { "EndpointUri": "string", "ErrorRetryDuration": number, "FullLoadErrorPercentage": number, "ServiceAccessRoleArn": "string" }, "EndpointIdentifier": "string", "EndpointType": "string", "EngineName": "string", "ExternalTableDefinition": "string", "ExtraConnectionAttributes": "string", "KinesisSettings": { "MessageFormat": "string", "ServiceAccessRoleArn": "string", "StreamArn": "string" }, "KmsKeyId": "string", "MongoDbSettings": { "AuthMechanism": "string", "AuthSource": "string", "AuthType": "string", "DatabaseName": "string", "DocsToInvestigate": "string", "ExtractDocId": "string", "KmsKeyId": "string", "NestingLevel": "string", "Password": "string", "Port": number, "ServerName": "string", "Username": "string" }, "Password": "string", "Port": number, "RedshiftSettings": { "AcceptAnyDate": boolean, "AfterConnectScript": "string", "BucketFolder": "string", "BucketName": "string", "ConnectionTimeout": number, "DatabaseName": "string", "DateFormat": "string", "EmptyAsNull": boolean, "EncryptionMode": "string", "FileTransferUploadStreams": number, "LoadTimeout": number, "MaxFileSize": number, "Password": "string", "Port": number, "RemoveQuotes": boolean, "ReplaceChars": "string", "ReplaceInvalidChars": "string", "ServerName": "string", "ServerSideEncryptionKmsKeyId": "string", "ServiceAccessRoleArn": "string", "TimeFormat": "string", "TrimBlanks": boolean, "TruncateColumns": boolean, "Username": "string", "WriteBufferSize": number }, "S3Settings": { "BucketFolder": "string", "BucketName": "string", "CdcInsertsOnly": boolean, "CompressionType": "string", "CsvDelimiter": "string", "CsvRowDelimiter": "string", "DataFormat": "string", "DataPageSize": number, "DictPageSizeLimit": number, "EnableStatistics": boolean, "EncodingType": "string", "EncryptionMode": "string", "ExternalTableDefinition": "string", "IncludeOpForFullLoad": boolean, "ParquetVersion": "string", "RowGroupLength": number, "ServerSideEncryptionKmsKeyId": "string", "ServiceAccessRoleArn": "string", "TimestampColumnName": "string" }, "ServerName": "string", "ServiceAccessRoleArn": "string", "SslMode": "string", "Tags": [ { "Key": "string", "Value": "string" } ], "Username": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

CertificateArn

The Amazon Resource Name (ARN) for the certificate.

Type: String

Required: No

DatabaseName

The name of the endpoint database.

Type: String

Required: No

DmsTransferSettings

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

Possible attributes include the following:

  • serviceAccessRoleArn - The IAM role that has permission to access the Amazon S3 bucket.

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

  • compressionType - An optional parameter to use GZIP to compress the target files. To use GZIP, set this value to NONE (the default). To keep the files uncompressed, don't use this value.

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

JSON syntax for these attributes is as follows: { "ServiceAccessRoleArn": "string", "BucketName": "string", "CompressionType": "none"|"gzip" }

Type: DmsTransferSettings object

Required: No

DynamoDbSettings

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

Type: DynamoDbSettings object

Required: No

ElasticsearchSettings

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

Type: ElasticsearchSettings object

Required: No

EndpointIdentifier

The database endpoint identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.

Type: String

Required: Yes

EndpointType

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

Type: String

Valid Values: source | target

Required: Yes

EngineName

The type of engine for the endpoint. Valid values, depending on the EndpointType value, include mysql, oracle, postgres, mariadb, aurora, aurora-postgresql, redshift, s3, db2, azuredb, sybase, dynamodb, mongodb, and sqlserver.

Type: String

Required: Yes

ExternalTableDefinition

The external table definition.

Type: String

Required: No

ExtraConnectionAttributes

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 AWS DMS Endpoints in the AWS Database Migration Service User Guide.

Type: String

Required: No

KinesisSettings

Settings in JSON format for the target Amazon Kinesis Data Streams endpoint. For more information about the available settings, see Using Object Mapping to Migrate Data to a Kinesis Data Stream in the AWS Database Migration User Guide.

Type: KinesisSettings object

Required: No

KmsKeyId

An AWS 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 AWS DMS uses your default encryption key.

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

Type: String

Required: No

MongoDbSettings

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

Type: MongoDbSettings object

Required: No

Password

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

Type: String

Required: No

Port

The port used by the endpoint database.

Type: Integer

Required: No

RedshiftSettings

Type: RedshiftSettings object

Required: No

S3Settings

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 AWS DMS in the AWS Database Migration Service User Guide.

Type: S3Settings object

Required: No

ServerName

The name of the server where the endpoint database resides.

Type: String

Required: No

ServiceAccessRoleArn

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

Type: String

Required: No

SslMode

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

Type: String

Valid Values: none | require | verify-ca | verify-full

Required: No

Tags

One or more tags to be assigned to the endpoint.

Type: Array of Tag objects

Required: No

Username

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

Type: String

Required: No

Response Syntax

{ "Endpoint": { "CertificateArn": "string", "DatabaseName": "string", "DmsTransferSettings": { "BucketName": "string", "ServiceAccessRoleArn": "string" }, "DynamoDbSettings": { "ServiceAccessRoleArn": "string" }, "ElasticsearchSettings": { "EndpointUri": "string", "ErrorRetryDuration": number, "FullLoadErrorPercentage": number, "ServiceAccessRoleArn": "string" }, "EndpointArn": "string", "EndpointIdentifier": "string", "EndpointType": "string", "EngineDisplayName": "string", "EngineName": "string", "ExternalId": "string", "ExternalTableDefinition": "string", "ExtraConnectionAttributes": "string", "KinesisSettings": { "MessageFormat": "string", "ServiceAccessRoleArn": "string", "StreamArn": "string" }, "KmsKeyId": "string", "MongoDbSettings": { "AuthMechanism": "string", "AuthSource": "string", "AuthType": "string", "DatabaseName": "string", "DocsToInvestigate": "string", "ExtractDocId": "string", "KmsKeyId": "string", "NestingLevel": "string", "Password": "string", "Port": number, "ServerName": "string", "Username": "string" }, "Port": number, "RedshiftSettings": { "AcceptAnyDate": boolean, "AfterConnectScript": "string", "BucketFolder": "string", "BucketName": "string", "ConnectionTimeout": number, "DatabaseName": "string", "DateFormat": "string", "EmptyAsNull": boolean, "EncryptionMode": "string", "FileTransferUploadStreams": number, "LoadTimeout": number, "MaxFileSize": number, "Password": "string", "Port": number, "RemoveQuotes": boolean, "ReplaceChars": "string", "ReplaceInvalidChars": "string", "ServerName": "string", "ServerSideEncryptionKmsKeyId": "string", "ServiceAccessRoleArn": "string", "TimeFormat": "string", "TrimBlanks": boolean, "TruncateColumns": boolean, "Username": "string", "WriteBufferSize": number }, "S3Settings": { "BucketFolder": "string", "BucketName": "string", "CdcInsertsOnly": boolean, "CompressionType": "string", "CsvDelimiter": "string", "CsvRowDelimiter": "string", "DataFormat": "string", "DataPageSize": number, "DictPageSizeLimit": number, "EnableStatistics": boolean, "EncodingType": "string", "EncryptionMode": "string", "ExternalTableDefinition": "string", "IncludeOpForFullLoad": boolean, "ParquetVersion": "string", "RowGroupLength": number, "ServerSideEncryptionKmsKeyId": "string", "ServiceAccessRoleArn": "string", "TimestampColumnName": "string" }, "ServerName": "string", "ServiceAccessRoleArn": "string", "SslMode": "string", "Status": "string", "Username": "string" } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

Endpoint

The endpoint that was created.

Type: Endpoint object

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedFault

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

HTTP Status Code: 400

InvalidResourceStateFault

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

HTTP Status Code: 400

KMSKeyNotAccessibleFault

AWS DMS cannot access the AWS KMS key.

HTTP Status Code: 400

ResourceAlreadyExistsFault

The resource you are attempting to create already exists.

HTTP Status Code: 400

ResourceNotFoundFault

The resource could not be found.

HTTP Status Code: 400

ResourceQuotaExceededFault

The quota for this resource quota has been exceeded.

HTTP Status Code: 400

Example

Sample Request

POST / HTTP/1.1 Host: dms.<region>.<domain> x-amz-Date: <Date> Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=contenttype;date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid,Signature=<Signature> User-Agent: <UserAgentString> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Connection: Keep-Alive X-Amz-Target: AmazonDMSv20160101.CreateEndpoint { "EndpointIdentifier":"test-endpoint-1”, " EndpointType":"source”, " EngineName":"mysql", "Username":"username", "Password":"password", "ServerName":"test-source.cxln7iyxx1lo.us-west-2.rds.amazonaws.com”, " Port":3306, "DatabaseName":"", "ExtraConnectionAttributes":"", "KmsKeyId":"", "Tags":[ { "Key":"", "Value":“" } ] }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: <RequestId> Content-Type: application/x-amz-json-1.1 Content-Length: <PayloadSizeBytes> Date: <Date> { "Endpoint":{ "Username":"username", "Status":"active", "EndpointArn":"arn:aws:dms:us-east- 1:123456789012:endpoint:RAAR3R22XSH46S3PWLC3NJAWKM", "ServerName":"test-source.cxln7iyxx1lo.us-west-2.rds.amazonaws.com", "EndpointType":"SOURCE", "KmsKeyId":"arn:aws:kms:us-east-1:123456789012:key/4dc17316-5543- 4ded-b1e3-d53a7cfb411d", "EngineName":"mysql", "EndpointIdentifier":"test-endpoint-1", "Port":3306 } }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: