Chilkat Online Tools

CreateEndpoint unicodeCpp Example

AWS Database Migration Service

#include <CkRestW.h>
#include <CkAuthAwsW.h>
#include <CkJsonObjectW.h>
#include <CkStringBuilderW.h>

void ChilkatSample(void)
    {
    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkRestW rest;
    bool success;

    CkAuthAwsW authAws;
    authAws.put_AccessKey(L"AWS_ACCESS_KEY");
    authAws.put_SecretKey(L"AWS_SECRET_KEY");

    // Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
    authAws.put_Region(L"us-west-2");
    authAws.put_ServiceName(L"dms");
    // SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    rest.SetAuthAws(authAws);

    // URL: https://dms.us-west-2.amazonaws.com/
    // Use the same region as specified above.
    success = rest.Connect(L"dms.us-west-2.amazonaws.com",443,true,true);
    if (success != true) {
        wprintf(L"ConnectFailReason: %d\n",rest.get_ConnectFailReason());
        wprintf(L"%s\n",rest.lastErrorText());
        return;
    }

    // The following code creates the JSON request body.
    // The JSON created by this code is shown below.

    // Use this online tool to generate code from sample JSON:
    // Generate Code to Create JSON

    CkJsonObjectW json;
    json.UpdateString(L"CertificateArn",L"string");
    json.UpdateString(L"DatabaseName",L"string");
    json.UpdateString(L"DmsTransferSettings.BucketName",L"string");
    json.UpdateString(L"DmsTransferSettings.ServiceAccessRoleArn",L"string");
    json.UpdateString(L"DocDbSettings.DatabaseName",L"string");
    json.UpdateInt(L"DocDbSettings.DocsToInvestigate",123);
    json.UpdateInt(L"DocDbSettings.ExtractDocId",123);
    json.UpdateString(L"DocDbSettings.KmsKeyId",L"string");
    json.UpdateString(L"DocDbSettings.NestingLevel",L"string");
    json.UpdateString(L"DocDbSettings.Password",L"string");
    json.UpdateInt(L"DocDbSettings.Port",123);
    json.UpdateString(L"DocDbSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"DocDbSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"DocDbSettings.ServerName",L"string");
    json.UpdateString(L"DocDbSettings.Username",L"string");
    json.UpdateString(L"DynamoDbSettings.ServiceAccessRoleArn",L"string");
    json.UpdateString(L"ElasticsearchSettings.EndpointUri",L"string");
    json.UpdateInt(L"ElasticsearchSettings.ErrorRetryDuration",123);
    json.UpdateInt(L"ElasticsearchSettings.FullLoadErrorPercentage",123);
    json.UpdateString(L"ElasticsearchSettings.ServiceAccessRoleArn",L"string");
    json.UpdateString(L"EndpointIdentifier",L"string");
    json.UpdateString(L"EndpointType",L"string");
    json.UpdateString(L"EngineName",L"string");
    json.UpdateString(L"ExternalTableDefinition",L"string");
    json.UpdateString(L"ExtraConnectionAttributes",L"string");
    json.UpdateString(L"GcpMySQLSettings.AfterConnectScript",L"string");
    json.UpdateInt(L"GcpMySQLSettings.CleanSourceMetadataOnMismatch",123);
    json.UpdateString(L"GcpMySQLSettings.DatabaseName",L"string");
    json.UpdateInt(L"GcpMySQLSettings.EventsPollInterval",123);
    json.UpdateInt(L"GcpMySQLSettings.MaxFileSize",123);
    json.UpdateInt(L"GcpMySQLSettings.ParallelLoadThreads",123);
    json.UpdateString(L"GcpMySQLSettings.Password",L"string");
    json.UpdateInt(L"GcpMySQLSettings.Port",123);
    json.UpdateString(L"GcpMySQLSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"GcpMySQLSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"GcpMySQLSettings.ServerName",L"string");
    json.UpdateString(L"GcpMySQLSettings.ServerTimezone",L"string");
    json.UpdateString(L"GcpMySQLSettings.TargetDbType",L"string");
    json.UpdateString(L"GcpMySQLSettings.Username",L"string");
    json.UpdateString(L"IBMDb2Settings.CurrentLsn",L"string");
    json.UpdateString(L"IBMDb2Settings.DatabaseName",L"string");
    json.UpdateInt(L"IBMDb2Settings.MaxKBytesPerRead",123);
    json.UpdateString(L"IBMDb2Settings.Password",L"string");
    json.UpdateInt(L"IBMDb2Settings.Port",123);
    json.UpdateString(L"IBMDb2Settings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"IBMDb2Settings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"IBMDb2Settings.ServerName",L"string");
    json.UpdateInt(L"IBMDb2Settings.SetDataCaptureChanges",123);
    json.UpdateString(L"IBMDb2Settings.Username",L"string");
    json.UpdateString(L"KafkaSettings.Broker",L"string");
    json.UpdateInt(L"KafkaSettings.IncludeControlDetails",123);
    json.UpdateInt(L"KafkaSettings.IncludeNullAndEmpty",123);
    json.UpdateInt(L"KafkaSettings.IncludePartitionValue",123);
    json.UpdateInt(L"KafkaSettings.IncludeTableAlterOperations",123);
    json.UpdateInt(L"KafkaSettings.IncludeTransactionDetails",123);
    json.UpdateString(L"KafkaSettings.MessageFormat",L"string");
    json.UpdateInt(L"KafkaSettings.MessageMaxBytes",123);
    json.UpdateInt(L"KafkaSettings.NoHexPrefix",123);
    json.UpdateInt(L"KafkaSettings.PartitionIncludeSchemaTable",123);
    json.UpdateString(L"KafkaSettings.SaslPassword",L"string");
    json.UpdateString(L"KafkaSettings.SaslUsername",L"string");
    json.UpdateString(L"KafkaSettings.SecurityProtocol",L"string");
    json.UpdateString(L"KafkaSettings.SslCaCertificateArn",L"string");
    json.UpdateString(L"KafkaSettings.SslClientCertificateArn",L"string");
    json.UpdateString(L"KafkaSettings.SslClientKeyArn",L"string");
    json.UpdateString(L"KafkaSettings.SslClientKeyPassword",L"string");
    json.UpdateString(L"KafkaSettings.Topic",L"string");
    json.UpdateInt(L"KinesisSettings.IncludeControlDetails",123);
    json.UpdateInt(L"KinesisSettings.IncludeNullAndEmpty",123);
    json.UpdateInt(L"KinesisSettings.IncludePartitionValue",123);
    json.UpdateInt(L"KinesisSettings.IncludeTableAlterOperations",123);
    json.UpdateInt(L"KinesisSettings.IncludeTransactionDetails",123);
    json.UpdateString(L"KinesisSettings.MessageFormat",L"string");
    json.UpdateInt(L"KinesisSettings.NoHexPrefix",123);
    json.UpdateInt(L"KinesisSettings.PartitionIncludeSchemaTable",123);
    json.UpdateString(L"KinesisSettings.ServiceAccessRoleArn",L"string");
    json.UpdateString(L"KinesisSettings.StreamArn",L"string");
    json.UpdateString(L"KmsKeyId",L"string");
    json.UpdateInt(L"MicrosoftSQLServerSettings.BcpPacketSize",123);
    json.UpdateString(L"MicrosoftSQLServerSettings.ControlTablesFileGroup",L"string");
    json.UpdateString(L"MicrosoftSQLServerSettings.DatabaseName",L"string");
    json.UpdateString(L"MicrosoftSQLServerSettings.Password",L"string");
    json.UpdateInt(L"MicrosoftSQLServerSettings.Port",123);
    json.UpdateInt(L"MicrosoftSQLServerSettings.QuerySingleAlwaysOnNode",123);
    json.UpdateInt(L"MicrosoftSQLServerSettings.ReadBackupOnly",123);
    json.UpdateString(L"MicrosoftSQLServerSettings.SafeguardPolicy",L"string");
    json.UpdateString(L"MicrosoftSQLServerSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"MicrosoftSQLServerSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"MicrosoftSQLServerSettings.ServerName",L"string");
    json.UpdateInt(L"MicrosoftSQLServerSettings.UseBcpFullLoad",123);
    json.UpdateString(L"MicrosoftSQLServerSettings.Username",L"string");
    json.UpdateInt(L"MicrosoftSQLServerSettings.UseThirdPartyBackupDevice",123);
    json.UpdateString(L"MongoDbSettings.AuthMechanism",L"string");
    json.UpdateString(L"MongoDbSettings.AuthSource",L"string");
    json.UpdateString(L"MongoDbSettings.AuthType",L"string");
    json.UpdateString(L"MongoDbSettings.DatabaseName",L"string");
    json.UpdateString(L"MongoDbSettings.DocsToInvestigate",L"string");
    json.UpdateString(L"MongoDbSettings.ExtractDocId",L"string");
    json.UpdateString(L"MongoDbSettings.KmsKeyId",L"string");
    json.UpdateString(L"MongoDbSettings.NestingLevel",L"string");
    json.UpdateString(L"MongoDbSettings.Password",L"string");
    json.UpdateInt(L"MongoDbSettings.Port",123);
    json.UpdateString(L"MongoDbSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"MongoDbSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"MongoDbSettings.ServerName",L"string");
    json.UpdateString(L"MongoDbSettings.Username",L"string");
    json.UpdateString(L"MySQLSettings.AfterConnectScript",L"string");
    json.UpdateInt(L"MySQLSettings.CleanSourceMetadataOnMismatch",123);
    json.UpdateString(L"MySQLSettings.DatabaseName",L"string");
    json.UpdateInt(L"MySQLSettings.EventsPollInterval",123);
    json.UpdateInt(L"MySQLSettings.MaxFileSize",123);
    json.UpdateInt(L"MySQLSettings.ParallelLoadThreads",123);
    json.UpdateString(L"MySQLSettings.Password",L"string");
    json.UpdateInt(L"MySQLSettings.Port",123);
    json.UpdateString(L"MySQLSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"MySQLSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"MySQLSettings.ServerName",L"string");
    json.UpdateString(L"MySQLSettings.ServerTimezone",L"string");
    json.UpdateString(L"MySQLSettings.TargetDbType",L"string");
    json.UpdateString(L"MySQLSettings.Username",L"string");
    json.UpdateInt(L"NeptuneSettings.ErrorRetryDuration",123);
    json.UpdateInt(L"NeptuneSettings.IamAuthEnabled",123);
    json.UpdateInt(L"NeptuneSettings.MaxFileSize",123);
    json.UpdateInt(L"NeptuneSettings.MaxRetryCount",123);
    json.UpdateString(L"NeptuneSettings.S3BucketFolder",L"string");
    json.UpdateString(L"NeptuneSettings.S3BucketName",L"string");
    json.UpdateString(L"NeptuneSettings.ServiceAccessRoleArn",L"string");
    json.UpdateInt(L"OracleSettings.AccessAlternateDirectly",123);
    json.UpdateInt(L"OracleSettings.AdditionalArchivedLogDestId",123);
    json.UpdateInt(L"OracleSettings.AddSupplementalLogging",123);
    json.UpdateInt(L"OracleSettings.AllowSelectNestedTables",123);
    json.UpdateInt(L"OracleSettings.ArchivedLogDestId",123);
    json.UpdateInt(L"OracleSettings.ArchivedLogsOnly",123);
    json.UpdateString(L"OracleSettings.AsmPassword",L"string");
    json.UpdateString(L"OracleSettings.AsmServer",L"string");
    json.UpdateString(L"OracleSettings.AsmUser",L"string");
    json.UpdateString(L"OracleSettings.CharLengthSemantics",L"string");
    json.UpdateString(L"OracleSettings.DatabaseName",L"string");
    json.UpdateInt(L"OracleSettings.DirectPathNoLog",123);
    json.UpdateInt(L"OracleSettings.DirectPathParallelLoad",123);
    json.UpdateInt(L"OracleSettings.EnableHomogenousTablespace",123);
ERROR: Undefined variable(number)
ERROR: Undefined variable(number)
ERROR: Undefined variable(number)
    json.UpdateInt(L"OracleSettings.ExtraArchivedLogDestIds[0]",number);ERROR: Undefined variable(number)
ERROR: Undefined variable(number)
ERROR: Undefined variable(number)
ERROR: Undefined variable(number)
ERROR: Undefined variable(number)

    json.UpdateInt(L"OracleSettings.FailTasksOnLobTruncation",123);
    json.UpdateInt(L"OracleSettings.NumberDatatypeScale",123);
    json.UpdateString(L"OracleSettings.OraclePathPrefix",L"string");
    json.UpdateInt(L"OracleSettings.ParallelAsmReadThreads",123);
    json.UpdateString(L"OracleSettings.Password",L"string");
    json.UpdateInt(L"OracleSettings.Port",123);
    json.UpdateInt(L"OracleSettings.ReadAheadBlocks",123);
    json.UpdateInt(L"OracleSettings.ReadTableSpaceName",123);
    json.UpdateInt(L"OracleSettings.ReplacePathPrefix",123);
    json.UpdateInt(L"OracleSettings.RetryInterval",123);
    json.UpdateString(L"OracleSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"OracleSettings.SecretsManagerOracleAsmAccessRoleArn",L"string");
    json.UpdateString(L"OracleSettings.SecretsManagerOracleAsmSecretId",L"string");
    json.UpdateString(L"OracleSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"OracleSettings.SecurityDbEncryption",L"string");
    json.UpdateString(L"OracleSettings.SecurityDbEncryptionName",L"string");
    json.UpdateString(L"OracleSettings.ServerName",L"string");
    json.UpdateString(L"OracleSettings.SpatialDataOptionToGeoJsonFunctionName",L"string");
    json.UpdateInt(L"OracleSettings.StandbyDelayTime",123);
    json.UpdateInt(L"OracleSettings.UseAlternateFolderForOnline",123);
    json.UpdateInt(L"OracleSettings.UseBFile",123);
    json.UpdateInt(L"OracleSettings.UseDirectPathFullLoad",123);
    json.UpdateInt(L"OracleSettings.UseLogminerReader",123);
    json.UpdateString(L"OracleSettings.UsePathPrefix",L"string");
    json.UpdateString(L"OracleSettings.Username",L"string");
    json.UpdateString(L"Password",L"string");
    json.UpdateInt(L"Port",123);
    json.UpdateString(L"PostgreSQLSettings.AfterConnectScript",L"string");
    json.UpdateInt(L"PostgreSQLSettings.CaptureDdls",123);
    json.UpdateString(L"PostgreSQLSettings.DatabaseName",L"string");
    json.UpdateString(L"PostgreSQLSettings.DdlArtifactsSchema",L"string");
    json.UpdateInt(L"PostgreSQLSettings.ExecuteTimeout",123);
    json.UpdateInt(L"PostgreSQLSettings.FailTasksOnLobTruncation",123);
    json.UpdateInt(L"PostgreSQLSettings.HeartbeatEnable",123);
    json.UpdateInt(L"PostgreSQLSettings.HeartbeatFrequency",123);
    json.UpdateString(L"PostgreSQLSettings.HeartbeatSchema",L"string");
    json.UpdateInt(L"PostgreSQLSettings.MaxFileSize",123);
    json.UpdateString(L"PostgreSQLSettings.Password",L"string");
    json.UpdateString(L"PostgreSQLSettings.PluginName",L"string");
    json.UpdateInt(L"PostgreSQLSettings.Port",123);
    json.UpdateString(L"PostgreSQLSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"PostgreSQLSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"PostgreSQLSettings.ServerName",L"string");
    json.UpdateString(L"PostgreSQLSettings.SlotName",L"string");
    json.UpdateString(L"PostgreSQLSettings.Username",L"string");
    json.UpdateString(L"RedisSettings.AuthPassword",L"string");
    json.UpdateString(L"RedisSettings.AuthType",L"string");
    json.UpdateString(L"RedisSettings.AuthUserName",L"string");
    json.UpdateInt(L"RedisSettings.Port",123);
    json.UpdateString(L"RedisSettings.ServerName",L"string");
    json.UpdateString(L"RedisSettings.SslCaCertificateArn",L"string");
    json.UpdateString(L"RedisSettings.SslSecurityProtocol",L"string");
    json.UpdateInt(L"RedshiftSettings.AcceptAnyDate",123);
    json.UpdateString(L"RedshiftSettings.AfterConnectScript",L"string");
    json.UpdateString(L"RedshiftSettings.BucketFolder",L"string");
    json.UpdateString(L"RedshiftSettings.BucketName",L"string");
    json.UpdateInt(L"RedshiftSettings.CaseSensitiveNames",123);
    json.UpdateInt(L"RedshiftSettings.CompUpdate",123);
    json.UpdateInt(L"RedshiftSettings.ConnectionTimeout",123);
    json.UpdateString(L"RedshiftSettings.DatabaseName",L"string");
    json.UpdateString(L"RedshiftSettings.DateFormat",L"string");
    json.UpdateInt(L"RedshiftSettings.EmptyAsNull",123);
    json.UpdateString(L"RedshiftSettings.EncryptionMode",L"string");
    json.UpdateInt(L"RedshiftSettings.ExplicitIds",123);
    json.UpdateInt(L"RedshiftSettings.FileTransferUploadStreams",123);
    json.UpdateInt(L"RedshiftSettings.LoadTimeout",123);
    json.UpdateInt(L"RedshiftSettings.MaxFileSize",123);
    json.UpdateString(L"RedshiftSettings.Password",L"string");
    json.UpdateInt(L"RedshiftSettings.Port",123);
    json.UpdateInt(L"RedshiftSettings.RemoveQuotes",123);
    json.UpdateString(L"RedshiftSettings.ReplaceChars",L"string");
    json.UpdateString(L"RedshiftSettings.ReplaceInvalidChars",L"string");
    json.UpdateString(L"RedshiftSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"RedshiftSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"RedshiftSettings.ServerName",L"string");
    json.UpdateString(L"RedshiftSettings.ServerSideEncryptionKmsKeyId",L"string");
    json.UpdateString(L"RedshiftSettings.ServiceAccessRoleArn",L"string");
    json.UpdateString(L"RedshiftSettings.TimeFormat",L"string");
    json.UpdateInt(L"RedshiftSettings.TrimBlanks",123);
    json.UpdateInt(L"RedshiftSettings.TruncateColumns",123);
    json.UpdateString(L"RedshiftSettings.Username",L"string");
    json.UpdateInt(L"RedshiftSettings.WriteBufferSize",123);
    json.UpdateString(L"ResourceIdentifier",L"string");
    json.UpdateInt(L"S3Settings.AddColumnName",123);
    json.UpdateString(L"S3Settings.BucketFolder",L"string");
    json.UpdateString(L"S3Settings.BucketName",L"string");
    json.UpdateString(L"S3Settings.CannedAclForObjects",L"string");
    json.UpdateInt(L"S3Settings.CdcInsertsAndUpdates",123);
    json.UpdateInt(L"S3Settings.CdcInsertsOnly",123);
    json.UpdateInt(L"S3Settings.CdcMaxBatchInterval",123);
    json.UpdateInt(L"S3Settings.CdcMinFileSize",123);
    json.UpdateString(L"S3Settings.CdcPath",L"string");
    json.UpdateString(L"S3Settings.CompressionType",L"string");
    json.UpdateString(L"S3Settings.CsvDelimiter",L"string");
    json.UpdateString(L"S3Settings.CsvNoSupValue",L"string");
    json.UpdateString(L"S3Settings.CsvNullValue",L"string");
    json.UpdateString(L"S3Settings.CsvRowDelimiter",L"string");
    json.UpdateString(L"S3Settings.DataFormat",L"string");
    json.UpdateInt(L"S3Settings.DataPageSize",123);
    json.UpdateString(L"S3Settings.DatePartitionDelimiter",L"string");
    json.UpdateInt(L"S3Settings.DatePartitionEnabled",123);
    json.UpdateString(L"S3Settings.DatePartitionSequence",L"string");
    json.UpdateString(L"S3Settings.DatePartitionTimezone",L"string");
    json.UpdateInt(L"S3Settings.DictPageSizeLimit",123);
    json.UpdateInt(L"S3Settings.EnableStatistics",123);
    json.UpdateString(L"S3Settings.EncodingType",L"string");
    json.UpdateString(L"S3Settings.EncryptionMode",L"string");
    json.UpdateString(L"S3Settings.ExternalTableDefinition",L"string");
    json.UpdateInt(L"S3Settings.IgnoreHeaderRows",123);
    json.UpdateInt(L"S3Settings.IncludeOpForFullLoad",123);
    json.UpdateInt(L"S3Settings.MaxFileSize",123);
    json.UpdateInt(L"S3Settings.ParquetTimestampInMillisecond",123);
    json.UpdateString(L"S3Settings.ParquetVersion",L"string");
    json.UpdateInt(L"S3Settings.PreserveTransactions",123);
    json.UpdateInt(L"S3Settings.Rfc4180",123);
    json.UpdateInt(L"S3Settings.RowGroupLength",123);
    json.UpdateString(L"S3Settings.ServerSideEncryptionKmsKeyId",L"string");
    json.UpdateString(L"S3Settings.ServiceAccessRoleArn",L"string");
    json.UpdateString(L"S3Settings.TimestampColumnName",L"string");
    json.UpdateInt(L"S3Settings.UseCsvNoSupValue",123);
    json.UpdateInt(L"S3Settings.UseTaskStartTimeForFullLoadTimestamp",123);
    json.UpdateString(L"ServerName",L"string");
    json.UpdateString(L"ServiceAccessRoleArn",L"string");
    json.UpdateString(L"SslMode",L"string");
    json.UpdateString(L"SybaseSettings.DatabaseName",L"string");
    json.UpdateString(L"SybaseSettings.Password",L"string");
    json.UpdateInt(L"SybaseSettings.Port",123);
    json.UpdateString(L"SybaseSettings.SecretsManagerAccessRoleArn",L"string");
    json.UpdateString(L"SybaseSettings.SecretsManagerSecretId",L"string");
    json.UpdateString(L"SybaseSettings.ServerName",L"string");
    json.UpdateString(L"SybaseSettings.Username",L"string");
    json.UpdateString(L"Tags[0].Key",L"string");
    json.UpdateString(L"Tags[0].ResourceArn",L"string");
    json.UpdateString(L"Tags[0].Value",L"string");
    json.UpdateString(L"Username",L"string");

    // The JSON request body created by the above code:

    // {
    //   "CertificateArn": "string",
    //   "DatabaseName": "string",
    //   "DmsTransferSettings": {
    //     "BucketName": "string",
    //     "ServiceAccessRoleArn": "string"
    //   },
    //   "DocDbSettings": {
    //     "DatabaseName": "string",
    //     "DocsToInvestigate": number,
    //     "ExtractDocId": boolean,
    //     "KmsKeyId": "string",
    //     "NestingLevel": "string",
    //     "Password": "string",
    //     "Port": number,
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "Username": "string"
    //   },
    //   "DynamoDbSettings": {
    //     "ServiceAccessRoleArn": "string"
    //   },
    //   "ElasticsearchSettings": {
    //     "EndpointUri": "string",
    //     "ErrorRetryDuration": number,
    //     "FullLoadErrorPercentage": number,
    //     "ServiceAccessRoleArn": "string"
    //   },
    //   "EndpointIdentifier": "string",
    //   "EndpointType": "string",
    //   "EngineName": "string",
    //   "ExternalTableDefinition": "string",
    //   "ExtraConnectionAttributes": "string",
    //   "GcpMySQLSettings": {
    //     "AfterConnectScript": "string",
    //     "CleanSourceMetadataOnMismatch": boolean,
    //     "DatabaseName": "string",
    //     "EventsPollInterval": number,
    //     "MaxFileSize": number,
    //     "ParallelLoadThreads": number,
    //     "Password": "string",
    //     "Port": number,
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "ServerTimezone": "string",
    //     "TargetDbType": "string",
    //     "Username": "string"
    //   },
    //   "IBMDb2Settings": {
    //     "CurrentLsn": "string",
    //     "DatabaseName": "string",
    //     "MaxKBytesPerRead": number,
    //     "Password": "string",
    //     "Port": number,
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "SetDataCaptureChanges": boolean,
    //     "Username": "string"
    //   },
    //   "KafkaSettings": {
    //     "Broker": "string",
    //     "IncludeControlDetails": boolean,
    //     "IncludeNullAndEmpty": boolean,
    //     "IncludePartitionValue": boolean,
    //     "IncludeTableAlterOperations": boolean,
    //     "IncludeTransactionDetails": boolean,
    //     "MessageFormat": "string",
    //     "MessageMaxBytes": number,
    //     "NoHexPrefix": boolean,
    //     "PartitionIncludeSchemaTable": boolean,
    //     "SaslPassword": "string",
    //     "SaslUsername": "string",
    //     "SecurityProtocol": "string",
    //     "SslCaCertificateArn": "string",
    //     "SslClientCertificateArn": "string",
    //     "SslClientKeyArn": "string",
    //     "SslClientKeyPassword": "string",
    //     "Topic": "string"
    //   },
    //   "KinesisSettings": {
    //     "IncludeControlDetails": boolean,
    //     "IncludeNullAndEmpty": boolean,
    //     "IncludePartitionValue": boolean,
    //     "IncludeTableAlterOperations": boolean,
    //     "IncludeTransactionDetails": boolean,
    //     "MessageFormat": "string",
    //     "NoHexPrefix": boolean,
    //     "PartitionIncludeSchemaTable": boolean,
    //     "ServiceAccessRoleArn": "string",
    //     "StreamArn": "string"
    //   },
    //   "KmsKeyId": "string",
    //   "MicrosoftSQLServerSettings": {
    //     "BcpPacketSize": number,
    //     "ControlTablesFileGroup": "string",
    //     "DatabaseName": "string",
    //     "Password": "string",
    //     "Port": number,
    //     "QuerySingleAlwaysOnNode": boolean,
    //     "ReadBackupOnly": boolean,
    //     "SafeguardPolicy": "string",
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "UseBcpFullLoad": boolean,
    //     "Username": "string",
    //     "UseThirdPartyBackupDevice": boolean
    //   },
    //   "MongoDbSettings": {
    //     "AuthMechanism": "string",
    //     "AuthSource": "string",
    //     "AuthType": "string",
    //     "DatabaseName": "string",
    //     "DocsToInvestigate": "string",
    //     "ExtractDocId": "string",
    //     "KmsKeyId": "string",
    //     "NestingLevel": "string",
    //     "Password": "string",
    //     "Port": number,
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "Username": "string"
    //   },
    //   "MySQLSettings": {
    //     "AfterConnectScript": "string",
    //     "CleanSourceMetadataOnMismatch": boolean,
    //     "DatabaseName": "string",
    //     "EventsPollInterval": number,
    //     "MaxFileSize": number,
    //     "ParallelLoadThreads": number,
    //     "Password": "string",
    //     "Port": number,
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "ServerTimezone": "string",
    //     "TargetDbType": "string",
    //     "Username": "string"
    //   },
    //   "NeptuneSettings": {
    //     "ErrorRetryDuration": number,
    //     "IamAuthEnabled": boolean,
    //     "MaxFileSize": number,
    //     "MaxRetryCount": number,
    //     "S3BucketFolder": "string",
    //     "S3BucketName": "string",
    //     "ServiceAccessRoleArn": "string"
    //   },
    //   "OracleSettings": {
    //     "AccessAlternateDirectly": boolean,
    //     "AdditionalArchivedLogDestId": number,
    //     "AddSupplementalLogging": boolean,
    //     "AllowSelectNestedTables": boolean,
    //     "ArchivedLogDestId": number,
    //     "ArchivedLogsOnly": boolean,
    //     "AsmPassword": "string",
    //     "AsmServer": "string",
    //     "AsmUser": "string",
    //     "CharLengthSemantics": "string",
    //     "DatabaseName": "string",
    //     "DirectPathNoLog": boolean,
    //     "DirectPathParallelLoad": boolean,
    //     "EnableHomogenousTablespace": boolean,
    //     "ExtraArchivedLogDestIds": [
    //       number
    //     ],
    //     "FailTasksOnLobTruncation": boolean,
    //     "NumberDatatypeScale": number,
    //     "OraclePathPrefix": "string",
    //     "ParallelAsmReadThreads": number,
    //     "Password": "string",
    //     "Port": number,
    //     "ReadAheadBlocks": number,
    //     "ReadTableSpaceName": boolean,
    //     "ReplacePathPrefix": boolean,
    //     "RetryInterval": number,
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerOracleAsmAccessRoleArn": "string",
    //     "SecretsManagerOracleAsmSecretId": "string",
    //     "SecretsManagerSecretId": "string",
    //     "SecurityDbEncryption": "string",
    //     "SecurityDbEncryptionName": "string",
    //     "ServerName": "string",
    //     "SpatialDataOptionToGeoJsonFunctionName": "string",
    //     "StandbyDelayTime": number,
    //     "UseAlternateFolderForOnline": boolean,
    //     "UseBFile": boolean,
    //     "UseDirectPathFullLoad": boolean,
    //     "UseLogminerReader": boolean,
    //     "UsePathPrefix": "string",
    //     "Username": "string"
    //   },
    //   "Password": "string",
    //   "Port": number,
    //   "PostgreSQLSettings": {
    //     "AfterConnectScript": "string",
    //     "CaptureDdls": boolean,
    //     "DatabaseName": "string",
    //     "DdlArtifactsSchema": "string",
    //     "ExecuteTimeout": number,
    //     "FailTasksOnLobTruncation": boolean,
    //     "HeartbeatEnable": boolean,
    //     "HeartbeatFrequency": number,
    //     "HeartbeatSchema": "string",
    //     "MaxFileSize": number,
    //     "Password": "string",
    //     "PluginName": "string",
    //     "Port": number,
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "SlotName": "string",
    //     "Username": "string"
    //   },
    //   "RedisSettings": {
    //     "AuthPassword": "string",
    //     "AuthType": "string",
    //     "AuthUserName": "string",
    //     "Port": number,
    //     "ServerName": "string",
    //     "SslCaCertificateArn": "string",
    //     "SslSecurityProtocol": "string"
    //   },
    //   "RedshiftSettings": {
    //     "AcceptAnyDate": boolean,
    //     "AfterConnectScript": "string",
    //     "BucketFolder": "string",
    //     "BucketName": "string",
    //     "CaseSensitiveNames": boolean,
    //     "CompUpdate": boolean,
    //     "ConnectionTimeout": number,
    //     "DatabaseName": "string",
    //     "DateFormat": "string",
    //     "EmptyAsNull": boolean,
    //     "EncryptionMode": "string",
    //     "ExplicitIds": boolean,
    //     "FileTransferUploadStreams": number,
    //     "LoadTimeout": number,
    //     "MaxFileSize": number,
    //     "Password": "string",
    //     "Port": number,
    //     "RemoveQuotes": boolean,
    //     "ReplaceChars": "string",
    //     "ReplaceInvalidChars": "string",
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "ServerSideEncryptionKmsKeyId": "string",
    //     "ServiceAccessRoleArn": "string",
    //     "TimeFormat": "string",
    //     "TrimBlanks": boolean,
    //     "TruncateColumns": boolean,
    //     "Username": "string",
    //     "WriteBufferSize": number
    //   },
    //   "ResourceIdentifier": "string",
    //   "S3Settings": {
    //     "AddColumnName": boolean,
    //     "BucketFolder": "string",
    //     "BucketName": "string",
    //     "CannedAclForObjects": "string",
    //     "CdcInsertsAndUpdates": boolean,
    //     "CdcInsertsOnly": boolean,
    //     "CdcMaxBatchInterval": number,
    //     "CdcMinFileSize": number,
    //     "CdcPath": "string",
    //     "CompressionType": "string",
    //     "CsvDelimiter": "string",
    //     "CsvNoSupValue": "string",
    //     "CsvNullValue": "string",
    //     "CsvRowDelimiter": "string",
    //     "DataFormat": "string",
    //     "DataPageSize": number,
    //     "DatePartitionDelimiter": "string",
    //     "DatePartitionEnabled": boolean,
    //     "DatePartitionSequence": "string",
    //     "DatePartitionTimezone": "string",
    //     "DictPageSizeLimit": number,
    //     "EnableStatistics": boolean,
    //     "EncodingType": "string",
    //     "EncryptionMode": "string",
    //     "ExternalTableDefinition": "string",
    //     "IgnoreHeaderRows": number,
    //     "IncludeOpForFullLoad": boolean,
    //     "MaxFileSize": number,
    //     "ParquetTimestampInMillisecond": boolean,
    //     "ParquetVersion": "string",
    //     "PreserveTransactions": boolean,
    //     "Rfc4180": boolean,
    //     "RowGroupLength": number,
    //     "ServerSideEncryptionKmsKeyId": "string",
    //     "ServiceAccessRoleArn": "string",
    //     "TimestampColumnName": "string",
    //     "UseCsvNoSupValue": boolean,
    //     "UseTaskStartTimeForFullLoadTimestamp": boolean
    //   },
    //   "ServerName": "string",
    //   "ServiceAccessRoleArn": "string",
    //   "SslMode": "string",
    //   "SybaseSettings": {
    //     "DatabaseName": "string",
    //     "Password": "string",
    //     "Port": number,
    //     "SecretsManagerAccessRoleArn": "string",
    //     "SecretsManagerSecretId": "string",
    //     "ServerName": "string",
    //     "Username": "string"
    //   },
    //   "Tags": [
    //     {
    //       "Key": "string",
    //       "ResourceArn": "string",
    //       "Value": "string"
    //     }
    //   ],
    //   "Username": "string"
    // }

    rest.AddHeader(L"Content-Type",L"application/x-amz-json-1.1");
    rest.AddHeader(L"X-Amz-Target",L"AmazonDMSv20160101.CreateEndpoint");

    CkStringBuilderW sbRequestBody;
    json.EmitSb(sbRequestBody);
    CkStringBuilderW sbResponseBody;
    success = rest.FullRequestSb(L"POST",L"/",sbRequestBody,sbResponseBody);
    if (success != true) {
        wprintf(L"%s\n",rest.lastErrorText());
        return;
    }

    int respStatusCode = rest.get_ResponseStatusCode();
    wprintf(L"response status code = %d\n",respStatusCode);
    if (respStatusCode != 200) {
        wprintf(L"Response Header:\n");
        wprintf(L"%s\n",rest.responseHeader());
        wprintf(L"Response Body:\n");
        wprintf(L"%s\n",sbResponseBody.getAsString());
        return;
    }

    CkJsonObjectW jResp;
    jResp.LoadSb(sbResponseBody);

    // The following code parses the JSON response.
    // A sample JSON response is shown below the sample code.

    // Use this online tool to generate parsing code from sample JSON:
    // Generate Parsing Code from JSON

    // Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
    // See this example explaining how this memory should be used: const char * functions.

    int intVal;

    const wchar_t *CertificateArn = jResp.stringOf(L"Endpoint.CertificateArn");
    const wchar_t *DatabaseName = jResp.stringOf(L"Endpoint.DatabaseName");
    const wchar_t *BucketName = jResp.stringOf(L"Endpoint.DmsTransferSettings.BucketName");
    const wchar_t *ServiceAccessRoleArn = jResp.stringOf(L"Endpoint.DmsTransferSettings.ServiceAccessRoleArn");
    const wchar_t *DocDbSettingsDatabaseName = jResp.stringOf(L"Endpoint.DocDbSettings.DatabaseName");
    int DocsToInvestigate = jResp.IntOf(L"Endpoint.DocDbSettings.DocsToInvestigate");
    int ExtractDocId = jResp.IntOf(L"Endpoint.DocDbSettings.ExtractDocId");
    const wchar_t *KmsKeyId = jResp.stringOf(L"Endpoint.DocDbSettings.KmsKeyId");
    const wchar_t *NestingLevel = jResp.stringOf(L"Endpoint.DocDbSettings.NestingLevel");
    const wchar_t *Password = jResp.stringOf(L"Endpoint.DocDbSettings.Password");
    int Port = jResp.IntOf(L"Endpoint.DocDbSettings.Port");
    const wchar_t *SecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.DocDbSettings.SecretsManagerAccessRoleArn");
    const wchar_t *SecretsManagerSecretId = jResp.stringOf(L"Endpoint.DocDbSettings.SecretsManagerSecretId");
    const wchar_t *ServerName = jResp.stringOf(L"Endpoint.DocDbSettings.ServerName");
    const wchar_t *Username = jResp.stringOf(L"Endpoint.DocDbSettings.Username");
    const wchar_t *DynamoDbSettingsServiceAccessRoleArn = jResp.stringOf(L"Endpoint.DynamoDbSettings.ServiceAccessRoleArn");
    const wchar_t *EndpointUri = jResp.stringOf(L"Endpoint.ElasticsearchSettings.EndpointUri");
    int ErrorRetryDuration = jResp.IntOf(L"Endpoint.ElasticsearchSettings.ErrorRetryDuration");
    int FullLoadErrorPercentage = jResp.IntOf(L"Endpoint.ElasticsearchSettings.FullLoadErrorPercentage");
    const wchar_t *ElasticsearchSettingsServiceAccessRoleArn = jResp.stringOf(L"Endpoint.ElasticsearchSettings.ServiceAccessRoleArn");
    const wchar_t *EndpointArn = jResp.stringOf(L"Endpoint.EndpointArn");
    const wchar_t *EndpointIdentifier = jResp.stringOf(L"Endpoint.EndpointIdentifier");
    const wchar_t *EndpointType = jResp.stringOf(L"Endpoint.EndpointType");
    const wchar_t *EngineDisplayName = jResp.stringOf(L"Endpoint.EngineDisplayName");
    const wchar_t *EngineName = jResp.stringOf(L"Endpoint.EngineName");
    const wchar_t *ExternalId = jResp.stringOf(L"Endpoint.ExternalId");
    const wchar_t *ExternalTableDefinition = jResp.stringOf(L"Endpoint.ExternalTableDefinition");
    const wchar_t *ExtraConnectionAttributes = jResp.stringOf(L"Endpoint.ExtraConnectionAttributes");
    const wchar_t *AfterConnectScript = jResp.stringOf(L"Endpoint.GcpMySQLSettings.AfterConnectScript");
    int CleanSourceMetadataOnMismatch = jResp.IntOf(L"Endpoint.GcpMySQLSettings.CleanSourceMetadataOnMismatch");
    const wchar_t *GcpMySQLSettingsDatabaseName = jResp.stringOf(L"Endpoint.GcpMySQLSettings.DatabaseName");
    int EventsPollInterval = jResp.IntOf(L"Endpoint.GcpMySQLSettings.EventsPollInterval");
    int MaxFileSize = jResp.IntOf(L"Endpoint.GcpMySQLSettings.MaxFileSize");
    int ParallelLoadThreads = jResp.IntOf(L"Endpoint.GcpMySQLSettings.ParallelLoadThreads");
    const wchar_t *GcpMySQLSettingsPassword = jResp.stringOf(L"Endpoint.GcpMySQLSettings.Password");
    int GcpMySQLSettingsPort = jResp.IntOf(L"Endpoint.GcpMySQLSettings.Port");
    const wchar_t *GcpMySQLSettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.GcpMySQLSettings.SecretsManagerAccessRoleArn");
    const wchar_t *GcpMySQLSettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.GcpMySQLSettings.SecretsManagerSecretId");
    const wchar_t *GcpMySQLSettingsServerName = jResp.stringOf(L"Endpoint.GcpMySQLSettings.ServerName");
    const wchar_t *ServerTimezone = jResp.stringOf(L"Endpoint.GcpMySQLSettings.ServerTimezone");
    const wchar_t *TargetDbType = jResp.stringOf(L"Endpoint.GcpMySQLSettings.TargetDbType");
    const wchar_t *GcpMySQLSettingsUsername = jResp.stringOf(L"Endpoint.GcpMySQLSettings.Username");
    const wchar_t *CurrentLsn = jResp.stringOf(L"Endpoint.IBMDb2Settings.CurrentLsn");
    const wchar_t *IBMDb2SettingsDatabaseName = jResp.stringOf(L"Endpoint.IBMDb2Settings.DatabaseName");
    int MaxKBytesPerRead = jResp.IntOf(L"Endpoint.IBMDb2Settings.MaxKBytesPerRead");
    const wchar_t *IBMDb2SettingsPassword = jResp.stringOf(L"Endpoint.IBMDb2Settings.Password");
    int IBMDb2SettingsPort = jResp.IntOf(L"Endpoint.IBMDb2Settings.Port");
    const wchar_t *IBMDb2SettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.IBMDb2Settings.SecretsManagerAccessRoleArn");
    const wchar_t *IBMDb2SettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.IBMDb2Settings.SecretsManagerSecretId");
    const wchar_t *IBMDb2SettingsServerName = jResp.stringOf(L"Endpoint.IBMDb2Settings.ServerName");
    int SetDataCaptureChanges = jResp.IntOf(L"Endpoint.IBMDb2Settings.SetDataCaptureChanges");
    const wchar_t *IBMDb2SettingsUsername = jResp.stringOf(L"Endpoint.IBMDb2Settings.Username");
    const wchar_t *Broker = jResp.stringOf(L"Endpoint.KafkaSettings.Broker");
    int IncludeControlDetails = jResp.IntOf(L"Endpoint.KafkaSettings.IncludeControlDetails");
    int IncludeNullAndEmpty = jResp.IntOf(L"Endpoint.KafkaSettings.IncludeNullAndEmpty");
    int IncludePartitionValue = jResp.IntOf(L"Endpoint.KafkaSettings.IncludePartitionValue");
    int IncludeTableAlterOperations = jResp.IntOf(L"Endpoint.KafkaSettings.IncludeTableAlterOperations");
    int IncludeTransactionDetails = jResp.IntOf(L"Endpoint.KafkaSettings.IncludeTransactionDetails");
    const wchar_t *MessageFormat = jResp.stringOf(L"Endpoint.KafkaSettings.MessageFormat");
    int MessageMaxBytes = jResp.IntOf(L"Endpoint.KafkaSettings.MessageMaxBytes");
    int NoHexPrefix = jResp.IntOf(L"Endpoint.KafkaSettings.NoHexPrefix");
    int PartitionIncludeSchemaTable = jResp.IntOf(L"Endpoint.KafkaSettings.PartitionIncludeSchemaTable");
    const wchar_t *SaslPassword = jResp.stringOf(L"Endpoint.KafkaSettings.SaslPassword");
    const wchar_t *SaslUsername = jResp.stringOf(L"Endpoint.KafkaSettings.SaslUsername");
    const wchar_t *SecurityProtocol = jResp.stringOf(L"Endpoint.KafkaSettings.SecurityProtocol");
    const wchar_t *SslCaCertificateArn = jResp.stringOf(L"Endpoint.KafkaSettings.SslCaCertificateArn");
    const wchar_t *SslClientCertificateArn = jResp.stringOf(L"Endpoint.KafkaSettings.SslClientCertificateArn");
    const wchar_t *SslClientKeyArn = jResp.stringOf(L"Endpoint.KafkaSettings.SslClientKeyArn");
    const wchar_t *SslClientKeyPassword = jResp.stringOf(L"Endpoint.KafkaSettings.SslClientKeyPassword");
    const wchar_t *Topic = jResp.stringOf(L"Endpoint.KafkaSettings.Topic");
    int KinesisSettingsIncludeControlDetails = jResp.IntOf(L"Endpoint.KinesisSettings.IncludeControlDetails");
    int KinesisSettingsIncludeNullAndEmpty = jResp.IntOf(L"Endpoint.KinesisSettings.IncludeNullAndEmpty");
    int KinesisSettingsIncludePartitionValue = jResp.IntOf(L"Endpoint.KinesisSettings.IncludePartitionValue");
    int KinesisSettingsIncludeTableAlterOperations = jResp.IntOf(L"Endpoint.KinesisSettings.IncludeTableAlterOperations");
    int KinesisSettingsIncludeTransactionDetails = jResp.IntOf(L"Endpoint.KinesisSettings.IncludeTransactionDetails");
    const wchar_t *KinesisSettingsMessageFormat = jResp.stringOf(L"Endpoint.KinesisSettings.MessageFormat");
    int KinesisSettingsNoHexPrefix = jResp.IntOf(L"Endpoint.KinesisSettings.NoHexPrefix");
    int KinesisSettingsPartitionIncludeSchemaTable = jResp.IntOf(L"Endpoint.KinesisSettings.PartitionIncludeSchemaTable");
    const wchar_t *KinesisSettingsServiceAccessRoleArn = jResp.stringOf(L"Endpoint.KinesisSettings.ServiceAccessRoleArn");
    const wchar_t *StreamArn = jResp.stringOf(L"Endpoint.KinesisSettings.StreamArn");
    const wchar_t *EndpointKmsKeyId = jResp.stringOf(L"Endpoint.KmsKeyId");
    int BcpPacketSize = jResp.IntOf(L"Endpoint.MicrosoftSQLServerSettings.BcpPacketSize");
    const wchar_t *ControlTablesFileGroup = jResp.stringOf(L"Endpoint.MicrosoftSQLServerSettings.ControlTablesFileGroup");
    const wchar_t *MicrosoftSQLServerSettingsDatabaseName = jResp.stringOf(L"Endpoint.MicrosoftSQLServerSettings.DatabaseName");
    const wchar_t *MicrosoftSQLServerSettingsPassword = jResp.stringOf(L"Endpoint.MicrosoftSQLServerSettings.Password");
    int MicrosoftSQLServerSettingsPort = jResp.IntOf(L"Endpoint.MicrosoftSQLServerSettings.Port");
    int QuerySingleAlwaysOnNode = jResp.IntOf(L"Endpoint.MicrosoftSQLServerSettings.QuerySingleAlwaysOnNode");
    int ReadBackupOnly = jResp.IntOf(L"Endpoint.MicrosoftSQLServerSettings.ReadBackupOnly");
    const wchar_t *SafeguardPolicy = jResp.stringOf(L"Endpoint.MicrosoftSQLServerSettings.SafeguardPolicy");
    const wchar_t *MicrosoftSQLServerSettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.MicrosoftSQLServerSettings.SecretsManagerAccessRoleArn");
    const wchar_t *MicrosoftSQLServerSettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.MicrosoftSQLServerSettings.SecretsManagerSecretId");
    const wchar_t *MicrosoftSQLServerSettingsServerName = jResp.stringOf(L"Endpoint.MicrosoftSQLServerSettings.ServerName");
    int UseBcpFullLoad = jResp.IntOf(L"Endpoint.MicrosoftSQLServerSettings.UseBcpFullLoad");
    const wchar_t *MicrosoftSQLServerSettingsUsername = jResp.stringOf(L"Endpoint.MicrosoftSQLServerSettings.Username");
    int UseThirdPartyBackupDevice = jResp.IntOf(L"Endpoint.MicrosoftSQLServerSettings.UseThirdPartyBackupDevice");
    const wchar_t *AuthMechanism = jResp.stringOf(L"Endpoint.MongoDbSettings.AuthMechanism");
    const wchar_t *AuthSource = jResp.stringOf(L"Endpoint.MongoDbSettings.AuthSource");
    const wchar_t *AuthType = jResp.stringOf(L"Endpoint.MongoDbSettings.AuthType");
    const wchar_t *MongoDbSettingsDatabaseName = jResp.stringOf(L"Endpoint.MongoDbSettings.DatabaseName");
    const wchar_t *MongoDbSettingsDocsToInvestigate = jResp.stringOf(L"Endpoint.MongoDbSettings.DocsToInvestigate");
    const wchar_t *MongoDbSettingsExtractDocId = jResp.stringOf(L"Endpoint.MongoDbSettings.ExtractDocId");
    const wchar_t *MongoDbSettingsKmsKeyId = jResp.stringOf(L"Endpoint.MongoDbSettings.KmsKeyId");
    const wchar_t *MongoDbSettingsNestingLevel = jResp.stringOf(L"Endpoint.MongoDbSettings.NestingLevel");
    const wchar_t *MongoDbSettingsPassword = jResp.stringOf(L"Endpoint.MongoDbSettings.Password");
    int MongoDbSettingsPort = jResp.IntOf(L"Endpoint.MongoDbSettings.Port");
    const wchar_t *MongoDbSettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.MongoDbSettings.SecretsManagerAccessRoleArn");
    const wchar_t *MongoDbSettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.MongoDbSettings.SecretsManagerSecretId");
    const wchar_t *MongoDbSettingsServerName = jResp.stringOf(L"Endpoint.MongoDbSettings.ServerName");
    const wchar_t *MongoDbSettingsUsername = jResp.stringOf(L"Endpoint.MongoDbSettings.Username");
    const wchar_t *MySQLSettingsAfterConnectScript = jResp.stringOf(L"Endpoint.MySQLSettings.AfterConnectScript");
    int MySQLSettingsCleanSourceMetadataOnMismatch = jResp.IntOf(L"Endpoint.MySQLSettings.CleanSourceMetadataOnMismatch");
    const wchar_t *MySQLSettingsDatabaseName = jResp.stringOf(L"Endpoint.MySQLSettings.DatabaseName");
    int MySQLSettingsEventsPollInterval = jResp.IntOf(L"Endpoint.MySQLSettings.EventsPollInterval");
    int MySQLSettingsMaxFileSize = jResp.IntOf(L"Endpoint.MySQLSettings.MaxFileSize");
    int MySQLSettingsParallelLoadThreads = jResp.IntOf(L"Endpoint.MySQLSettings.ParallelLoadThreads");
    const wchar_t *MySQLSettingsPassword = jResp.stringOf(L"Endpoint.MySQLSettings.Password");
    int MySQLSettingsPort = jResp.IntOf(L"Endpoint.MySQLSettings.Port");
    const wchar_t *MySQLSettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.MySQLSettings.SecretsManagerAccessRoleArn");
    const wchar_t *MySQLSettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.MySQLSettings.SecretsManagerSecretId");
    const wchar_t *MySQLSettingsServerName = jResp.stringOf(L"Endpoint.MySQLSettings.ServerName");
    const wchar_t *MySQLSettingsServerTimezone = jResp.stringOf(L"Endpoint.MySQLSettings.ServerTimezone");
    const wchar_t *MySQLSettingsTargetDbType = jResp.stringOf(L"Endpoint.MySQLSettings.TargetDbType");
    const wchar_t *MySQLSettingsUsername = jResp.stringOf(L"Endpoint.MySQLSettings.Username");
    int NeptuneSettingsErrorRetryDuration = jResp.IntOf(L"Endpoint.NeptuneSettings.ErrorRetryDuration");
    int IamAuthEnabled = jResp.IntOf(L"Endpoint.NeptuneSettings.IamAuthEnabled");
    int NeptuneSettingsMaxFileSize = jResp.IntOf(L"Endpoint.NeptuneSettings.MaxFileSize");
    int MaxRetryCount = jResp.IntOf(L"Endpoint.NeptuneSettings.MaxRetryCount");
    const wchar_t *S3BucketFolder = jResp.stringOf(L"Endpoint.NeptuneSettings.S3BucketFolder");
    const wchar_t *S3BucketName = jResp.stringOf(L"Endpoint.NeptuneSettings.S3BucketName");
    const wchar_t *NeptuneSettingsServiceAccessRoleArn = jResp.stringOf(L"Endpoint.NeptuneSettings.ServiceAccessRoleArn");
    int AccessAlternateDirectly = jResp.IntOf(L"Endpoint.OracleSettings.AccessAlternateDirectly");
    int AdditionalArchivedLogDestId = jResp.IntOf(L"Endpoint.OracleSettings.AdditionalArchivedLogDestId");
    int AddSupplementalLogging = jResp.IntOf(L"Endpoint.OracleSettings.AddSupplementalLogging");
    int AllowSelectNestedTables = jResp.IntOf(L"Endpoint.OracleSettings.AllowSelectNestedTables");
    int ArchivedLogDestId = jResp.IntOf(L"Endpoint.OracleSettings.ArchivedLogDestId");
    int ArchivedLogsOnly = jResp.IntOf(L"Endpoint.OracleSettings.ArchivedLogsOnly");
    const wchar_t *AsmPassword = jResp.stringOf(L"Endpoint.OracleSettings.AsmPassword");
    const wchar_t *AsmServer = jResp.stringOf(L"Endpoint.OracleSettings.AsmServer");
    const wchar_t *AsmUser = jResp.stringOf(L"Endpoint.OracleSettings.AsmUser");
    const wchar_t *CharLengthSemantics = jResp.stringOf(L"Endpoint.OracleSettings.CharLengthSemantics");
    const wchar_t *OracleSettingsDatabaseName = jResp.stringOf(L"Endpoint.OracleSettings.DatabaseName");
    int DirectPathNoLog = jResp.IntOf(L"Endpoint.OracleSettings.DirectPathNoLog");
    int DirectPathParallelLoad = jResp.IntOf(L"Endpoint.OracleSettings.DirectPathParallelLoad");
    int EnableHomogenousTablespace = jResp.IntOf(L"Endpoint.OracleSettings.EnableHomogenousTablespace");
    int FailTasksOnLobTruncation = jResp.IntOf(L"Endpoint.OracleSettings.FailTasksOnLobTruncation");
    int NumberDatatypeScale = jResp.IntOf(L"Endpoint.OracleSettings.NumberDatatypeScale");
    const wchar_t *OraclePathPrefix = jResp.stringOf(L"Endpoint.OracleSettings.OraclePathPrefix");
    int ParallelAsmReadThreads = jResp.IntOf(L"Endpoint.OracleSettings.ParallelAsmReadThreads");
    const wchar_t *OracleSettingsPassword = jResp.stringOf(L"Endpoint.OracleSettings.Password");
    int OracleSettingsPort = jResp.IntOf(L"Endpoint.OracleSettings.Port");
    int ReadAheadBlocks = jResp.IntOf(L"Endpoint.OracleSettings.ReadAheadBlocks");
    int ReadTableSpaceName = jResp.IntOf(L"Endpoint.OracleSettings.ReadTableSpaceName");
    int ReplacePathPrefix = jResp.IntOf(L"Endpoint.OracleSettings.ReplacePathPrefix");
    int RetryInterval = jResp.IntOf(L"Endpoint.OracleSettings.RetryInterval");
    const wchar_t *OracleSettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.OracleSettings.SecretsManagerAccessRoleArn");
    const wchar_t *SecretsManagerOracleAsmAccessRoleArn = jResp.stringOf(L"Endpoint.OracleSettings.SecretsManagerOracleAsmAccessRoleArn");
    const wchar_t *SecretsManagerOracleAsmSecretId = jResp.stringOf(L"Endpoint.OracleSettings.SecretsManagerOracleAsmSecretId");
    const wchar_t *OracleSettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.OracleSettings.SecretsManagerSecretId");
    const wchar_t *SecurityDbEncryption = jResp.stringOf(L"Endpoint.OracleSettings.SecurityDbEncryption");
    const wchar_t *SecurityDbEncryptionName = jResp.stringOf(L"Endpoint.OracleSettings.SecurityDbEncryptionName");
    const wchar_t *OracleSettingsServerName = jResp.stringOf(L"Endpoint.OracleSettings.ServerName");
    const wchar_t *SpatialDataOptionToGeoJsonFunctionName = jResp.stringOf(L"Endpoint.OracleSettings.SpatialDataOptionToGeoJsonFunctionName");
    int StandbyDelayTime = jResp.IntOf(L"Endpoint.OracleSettings.StandbyDelayTime");
    int UseAlternateFolderForOnline = jResp.IntOf(L"Endpoint.OracleSettings.UseAlternateFolderForOnline");
    int UseBFile = jResp.IntOf(L"Endpoint.OracleSettings.UseBFile");
    int UseDirectPathFullLoad = jResp.IntOf(L"Endpoint.OracleSettings.UseDirectPathFullLoad");
    int UseLogminerReader = jResp.IntOf(L"Endpoint.OracleSettings.UseLogminerReader");
    const wchar_t *UsePathPrefix = jResp.stringOf(L"Endpoint.OracleSettings.UsePathPrefix");
    const wchar_t *OracleSettingsUsername = jResp.stringOf(L"Endpoint.OracleSettings.Username");
    int EndpointPort = jResp.IntOf(L"Endpoint.Port");
    const wchar_t *PostgreSQLSettingsAfterConnectScript = jResp.stringOf(L"Endpoint.PostgreSQLSettings.AfterConnectScript");
    int CaptureDdls = jResp.IntOf(L"Endpoint.PostgreSQLSettings.CaptureDdls");
    const wchar_t *PostgreSQLSettingsDatabaseName = jResp.stringOf(L"Endpoint.PostgreSQLSettings.DatabaseName");
    const wchar_t *DdlArtifactsSchema = jResp.stringOf(L"Endpoint.PostgreSQLSettings.DdlArtifactsSchema");
    int ExecuteTimeout = jResp.IntOf(L"Endpoint.PostgreSQLSettings.ExecuteTimeout");
    int PostgreSQLSettingsFailTasksOnLobTruncation = jResp.IntOf(L"Endpoint.PostgreSQLSettings.FailTasksOnLobTruncation");
    int HeartbeatEnable = jResp.IntOf(L"Endpoint.PostgreSQLSettings.HeartbeatEnable");
    int HeartbeatFrequency = jResp.IntOf(L"Endpoint.PostgreSQLSettings.HeartbeatFrequency");
    const wchar_t *HeartbeatSchema = jResp.stringOf(L"Endpoint.PostgreSQLSettings.HeartbeatSchema");
    int PostgreSQLSettingsMaxFileSize = jResp.IntOf(L"Endpoint.PostgreSQLSettings.MaxFileSize");
    const wchar_t *PostgreSQLSettingsPassword = jResp.stringOf(L"Endpoint.PostgreSQLSettings.Password");
    const wchar_t *PluginName = jResp.stringOf(L"Endpoint.PostgreSQLSettings.PluginName");
    int PostgreSQLSettingsPort = jResp.IntOf(L"Endpoint.PostgreSQLSettings.Port");
    const wchar_t *PostgreSQLSettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.PostgreSQLSettings.SecretsManagerAccessRoleArn");
    const wchar_t *PostgreSQLSettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.PostgreSQLSettings.SecretsManagerSecretId");
    const wchar_t *PostgreSQLSettingsServerName = jResp.stringOf(L"Endpoint.PostgreSQLSettings.ServerName");
    const wchar_t *SlotName = jResp.stringOf(L"Endpoint.PostgreSQLSettings.SlotName");
    const wchar_t *PostgreSQLSettingsUsername = jResp.stringOf(L"Endpoint.PostgreSQLSettings.Username");
    const wchar_t *AuthPassword = jResp.stringOf(L"Endpoint.RedisSettings.AuthPassword");
    const wchar_t *RedisSettingsAuthType = jResp.stringOf(L"Endpoint.RedisSettings.AuthType");
    const wchar_t *AuthUserName = jResp.stringOf(L"Endpoint.RedisSettings.AuthUserName");
    int RedisSettingsPort = jResp.IntOf(L"Endpoint.RedisSettings.Port");
    const wchar_t *RedisSettingsServerName = jResp.stringOf(L"Endpoint.RedisSettings.ServerName");
    const wchar_t *RedisSettingsSslCaCertificateArn = jResp.stringOf(L"Endpoint.RedisSettings.SslCaCertificateArn");
    const wchar_t *SslSecurityProtocol = jResp.stringOf(L"Endpoint.RedisSettings.SslSecurityProtocol");
    int AcceptAnyDate = jResp.IntOf(L"Endpoint.RedshiftSettings.AcceptAnyDate");
    const wchar_t *RedshiftSettingsAfterConnectScript = jResp.stringOf(L"Endpoint.RedshiftSettings.AfterConnectScript");
    const wchar_t *BucketFolder = jResp.stringOf(L"Endpoint.RedshiftSettings.BucketFolder");
    const wchar_t *RedshiftSettingsBucketName = jResp.stringOf(L"Endpoint.RedshiftSettings.BucketName");
    int CaseSensitiveNames = jResp.IntOf(L"Endpoint.RedshiftSettings.CaseSensitiveNames");
    int CompUpdate = jResp.IntOf(L"Endpoint.RedshiftSettings.CompUpdate");
    int ConnectionTimeout = jResp.IntOf(L"Endpoint.RedshiftSettings.ConnectionTimeout");
    const wchar_t *RedshiftSettingsDatabaseName = jResp.stringOf(L"Endpoint.RedshiftSettings.DatabaseName");
    const wchar_t *DateFormat = jResp.stringOf(L"Endpoint.RedshiftSettings.DateFormat");
    int EmptyAsNull = jResp.IntOf(L"Endpoint.RedshiftSettings.EmptyAsNull");
    const wchar_t *EncryptionMode = jResp.stringOf(L"Endpoint.RedshiftSettings.EncryptionMode");
    int ExplicitIds = jResp.IntOf(L"Endpoint.RedshiftSettings.ExplicitIds");
    int FileTransferUploadStreams = jResp.IntOf(L"Endpoint.RedshiftSettings.FileTransferUploadStreams");
    int LoadTimeout = jResp.IntOf(L"Endpoint.RedshiftSettings.LoadTimeout");
    int RedshiftSettingsMaxFileSize = jResp.IntOf(L"Endpoint.RedshiftSettings.MaxFileSize");
    const wchar_t *RedshiftSettingsPassword = jResp.stringOf(L"Endpoint.RedshiftSettings.Password");
    int RedshiftSettingsPort = jResp.IntOf(L"Endpoint.RedshiftSettings.Port");
    int RemoveQuotes = jResp.IntOf(L"Endpoint.RedshiftSettings.RemoveQuotes");
    const wchar_t *ReplaceChars = jResp.stringOf(L"Endpoint.RedshiftSettings.ReplaceChars");
    const wchar_t *ReplaceInvalidChars = jResp.stringOf(L"Endpoint.RedshiftSettings.ReplaceInvalidChars");
    const wchar_t *RedshiftSettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.RedshiftSettings.SecretsManagerAccessRoleArn");
    const wchar_t *RedshiftSettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.RedshiftSettings.SecretsManagerSecretId");
    const wchar_t *RedshiftSettingsServerName = jResp.stringOf(L"Endpoint.RedshiftSettings.ServerName");
    const wchar_t *ServerSideEncryptionKmsKeyId = jResp.stringOf(L"Endpoint.RedshiftSettings.ServerSideEncryptionKmsKeyId");
    const wchar_t *RedshiftSettingsServiceAccessRoleArn = jResp.stringOf(L"Endpoint.RedshiftSettings.ServiceAccessRoleArn");
    const wchar_t *TimeFormat = jResp.stringOf(L"Endpoint.RedshiftSettings.TimeFormat");
    int TrimBlanks = jResp.IntOf(L"Endpoint.RedshiftSettings.TrimBlanks");
    int TruncateColumns = jResp.IntOf(L"Endpoint.RedshiftSettings.TruncateColumns");
    const wchar_t *RedshiftSettingsUsername = jResp.stringOf(L"Endpoint.RedshiftSettings.Username");
    int WriteBufferSize = jResp.IntOf(L"Endpoint.RedshiftSettings.WriteBufferSize");
    int AddColumnName = jResp.IntOf(L"Endpoint.S3Settings.AddColumnName");
    const wchar_t *S3SettingsBucketFolder = jResp.stringOf(L"Endpoint.S3Settings.BucketFolder");
    const wchar_t *S3SettingsBucketName = jResp.stringOf(L"Endpoint.S3Settings.BucketName");
    const wchar_t *CannedAclForObjects = jResp.stringOf(L"Endpoint.S3Settings.CannedAclForObjects");
    int CdcInsertsAndUpdates = jResp.IntOf(L"Endpoint.S3Settings.CdcInsertsAndUpdates");
    int CdcInsertsOnly = jResp.IntOf(L"Endpoint.S3Settings.CdcInsertsOnly");
    int CdcMaxBatchInterval = jResp.IntOf(L"Endpoint.S3Settings.CdcMaxBatchInterval");
    int CdcMinFileSize = jResp.IntOf(L"Endpoint.S3Settings.CdcMinFileSize");
    const wchar_t *CdcPath = jResp.stringOf(L"Endpoint.S3Settings.CdcPath");
    const wchar_t *CompressionType = jResp.stringOf(L"Endpoint.S3Settings.CompressionType");
    const wchar_t *CsvDelimiter = jResp.stringOf(L"Endpoint.S3Settings.CsvDelimiter");
    const wchar_t *CsvNoSupValue = jResp.stringOf(L"Endpoint.S3Settings.CsvNoSupValue");
    const wchar_t *CsvNullValue = jResp.stringOf(L"Endpoint.S3Settings.CsvNullValue");
    const wchar_t *CsvRowDelimiter = jResp.stringOf(L"Endpoint.S3Settings.CsvRowDelimiter");
    const wchar_t *DataFormat = jResp.stringOf(L"Endpoint.S3Settings.DataFormat");
    int DataPageSize = jResp.IntOf(L"Endpoint.S3Settings.DataPageSize");
    const wchar_t *DatePartitionDelimiter = jResp.stringOf(L"Endpoint.S3Settings.DatePartitionDelimiter");
    int DatePartitionEnabled = jResp.IntOf(L"Endpoint.S3Settings.DatePartitionEnabled");
    const wchar_t *DatePartitionSequence = jResp.stringOf(L"Endpoint.S3Settings.DatePartitionSequence");
    const wchar_t *DatePartitionTimezone = jResp.stringOf(L"Endpoint.S3Settings.DatePartitionTimezone");
    int DictPageSizeLimit = jResp.IntOf(L"Endpoint.S3Settings.DictPageSizeLimit");
    int EnableStatistics = jResp.IntOf(L"Endpoint.S3Settings.EnableStatistics");
    const wchar_t *EncodingType = jResp.stringOf(L"Endpoint.S3Settings.EncodingType");
    const wchar_t *S3SettingsEncryptionMode = jResp.stringOf(L"Endpoint.S3Settings.EncryptionMode");
    const wchar_t *S3SettingsExternalTableDefinition = jResp.stringOf(L"Endpoint.S3Settings.ExternalTableDefinition");
    int IgnoreHeaderRows = jResp.IntOf(L"Endpoint.S3Settings.IgnoreHeaderRows");
    int IncludeOpForFullLoad = jResp.IntOf(L"Endpoint.S3Settings.IncludeOpForFullLoad");
    int S3SettingsMaxFileSize = jResp.IntOf(L"Endpoint.S3Settings.MaxFileSize");
    int ParquetTimestampInMillisecond = jResp.IntOf(L"Endpoint.S3Settings.ParquetTimestampInMillisecond");
    const wchar_t *ParquetVersion = jResp.stringOf(L"Endpoint.S3Settings.ParquetVersion");
    int PreserveTransactions = jResp.IntOf(L"Endpoint.S3Settings.PreserveTransactions");
    int Rfc4180 = jResp.IntOf(L"Endpoint.S3Settings.Rfc4180");
    int RowGroupLength = jResp.IntOf(L"Endpoint.S3Settings.RowGroupLength");
    const wchar_t *S3SettingsServerSideEncryptionKmsKeyId = jResp.stringOf(L"Endpoint.S3Settings.ServerSideEncryptionKmsKeyId");
    const wchar_t *S3SettingsServiceAccessRoleArn = jResp.stringOf(L"Endpoint.S3Settings.ServiceAccessRoleArn");
    const wchar_t *TimestampColumnName = jResp.stringOf(L"Endpoint.S3Settings.TimestampColumnName");
    int UseCsvNoSupValue = jResp.IntOf(L"Endpoint.S3Settings.UseCsvNoSupValue");
    int UseTaskStartTimeForFullLoadTimestamp = jResp.IntOf(L"Endpoint.S3Settings.UseTaskStartTimeForFullLoadTimestamp");
    const wchar_t *EndpointServerName = jResp.stringOf(L"Endpoint.ServerName");
    const wchar_t *EndpointServiceAccessRoleArn = jResp.stringOf(L"Endpoint.ServiceAccessRoleArn");
    const wchar_t *SslMode = jResp.stringOf(L"Endpoint.SslMode");
    const wchar_t *Status = jResp.stringOf(L"Endpoint.Status");
    const wchar_t *SybaseSettingsDatabaseName = jResp.stringOf(L"Endpoint.SybaseSettings.DatabaseName");
    const wchar_t *SybaseSettingsPassword = jResp.stringOf(L"Endpoint.SybaseSettings.Password");
    int SybaseSettingsPort = jResp.IntOf(L"Endpoint.SybaseSettings.Port");
    const wchar_t *SybaseSettingsSecretsManagerAccessRoleArn = jResp.stringOf(L"Endpoint.SybaseSettings.SecretsManagerAccessRoleArn");
    const wchar_t *SybaseSettingsSecretsManagerSecretId = jResp.stringOf(L"Endpoint.SybaseSettings.SecretsManagerSecretId");
    const wchar_t *SybaseSettingsServerName = jResp.stringOf(L"Endpoint.SybaseSettings.ServerName");
    const wchar_t *SybaseSettingsUsername = jResp.stringOf(L"Endpoint.SybaseSettings.Username");
    const wchar_t *EndpointUsername = jResp.stringOf(L"Endpoint.Username");
    int i = 0;
    int count_i = jResp.SizeOfArray(L"Endpoint.OracleSettings.ExtraArchivedLogDestIds");
    while (i < count_i) {
        jResp.put_I(i);
        intVal = jResp.IntOf(L"Endpoint.OracleSettings.ExtraArchivedLogDestIds[i]");
        i = i + 1;
    }

    // A sample JSON response body parsed by the above code:

    // {
    //   "Endpoint": {
    //     "CertificateArn": "string",
    //     "DatabaseName": "string",
    //     "DmsTransferSettings": {
    //       "BucketName": "string",
    //       "ServiceAccessRoleArn": "string"
    //     },
    //     "DocDbSettings": {
    //       "DatabaseName": "string",
    //       "DocsToInvestigate": number,
    //       "ExtractDocId": boolean,
    //       "KmsKeyId": "string",
    //       "NestingLevel": "string",
    //       "Password": "string",
    //       "Port": number,
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "Username": "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",
    //     "GcpMySQLSettings": {
    //       "AfterConnectScript": "string",
    //       "CleanSourceMetadataOnMismatch": boolean,
    //       "DatabaseName": "string",
    //       "EventsPollInterval": number,
    //       "MaxFileSize": number,
    //       "ParallelLoadThreads": number,
    //       "Password": "string",
    //       "Port": number,
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "ServerTimezone": "string",
    //       "TargetDbType": "string",
    //       "Username": "string"
    //     },
    //     "IBMDb2Settings": {
    //       "CurrentLsn": "string",
    //       "DatabaseName": "string",
    //       "MaxKBytesPerRead": number,
    //       "Password": "string",
    //       "Port": number,
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "SetDataCaptureChanges": boolean,
    //       "Username": "string"
    //     },
    //     "KafkaSettings": {
    //       "Broker": "string",
    //       "IncludeControlDetails": boolean,
    //       "IncludeNullAndEmpty": boolean,
    //       "IncludePartitionValue": boolean,
    //       "IncludeTableAlterOperations": boolean,
    //       "IncludeTransactionDetails": boolean,
    //       "MessageFormat": "string",
    //       "MessageMaxBytes": number,
    //       "NoHexPrefix": boolean,
    //       "PartitionIncludeSchemaTable": boolean,
    //       "SaslPassword": "string",
    //       "SaslUsername": "string",
    //       "SecurityProtocol": "string",
    //       "SslCaCertificateArn": "string",
    //       "SslClientCertificateArn": "string",
    //       "SslClientKeyArn": "string",
    //       "SslClientKeyPassword": "string",
    //       "Topic": "string"
    //     },
    //     "KinesisSettings": {
    //       "IncludeControlDetails": boolean,
    //       "IncludeNullAndEmpty": boolean,
    //       "IncludePartitionValue": boolean,
    //       "IncludeTableAlterOperations": boolean,
    //       "IncludeTransactionDetails": boolean,
    //       "MessageFormat": "string",
    //       "NoHexPrefix": boolean,
    //       "PartitionIncludeSchemaTable": boolean,
    //       "ServiceAccessRoleArn": "string",
    //       "StreamArn": "string"
    //     },
    //     "KmsKeyId": "string",
    //     "MicrosoftSQLServerSettings": {
    //       "BcpPacketSize": number,
    //       "ControlTablesFileGroup": "string",
    //       "DatabaseName": "string",
    //       "Password": "string",
    //       "Port": number,
    //       "QuerySingleAlwaysOnNode": boolean,
    //       "ReadBackupOnly": boolean,
    //       "SafeguardPolicy": "string",
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "UseBcpFullLoad": boolean,
    //       "Username": "string",
    //       "UseThirdPartyBackupDevice": boolean
    //     },
    //     "MongoDbSettings": {
    //       "AuthMechanism": "string",
    //       "AuthSource": "string",
    //       "AuthType": "string",
    //       "DatabaseName": "string",
    //       "DocsToInvestigate": "string",
    //       "ExtractDocId": "string",
    //       "KmsKeyId": "string",
    //       "NestingLevel": "string",
    //       "Password": "string",
    //       "Port": number,
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "Username": "string"
    //     },
    //     "MySQLSettings": {
    //       "AfterConnectScript": "string",
    //       "CleanSourceMetadataOnMismatch": boolean,
    //       "DatabaseName": "string",
    //       "EventsPollInterval": number,
    //       "MaxFileSize": number,
    //       "ParallelLoadThreads": number,
    //       "Password": "string",
    //       "Port": number,
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "ServerTimezone": "string",
    //       "TargetDbType": "string",
    //       "Username": "string"
    //     },
    //     "NeptuneSettings": {
    //       "ErrorRetryDuration": number,
    //       "IamAuthEnabled": boolean,
    //       "MaxFileSize": number,
    //       "MaxRetryCount": number,
    //       "S3BucketFolder": "string",
    //       "S3BucketName": "string",
    //       "ServiceAccessRoleArn": "string"
    //     },
    //     "OracleSettings": {
    //       "AccessAlternateDirectly": boolean,
    //       "AdditionalArchivedLogDestId": number,
    //       "AddSupplementalLogging": boolean,
    //       "AllowSelectNestedTables": boolean,
    //       "ArchivedLogDestId": number,
    //       "ArchivedLogsOnly": boolean,
    //       "AsmPassword": "string",
    //       "AsmServer": "string",
    //       "AsmUser": "string",
    //       "CharLengthSemantics": "string",
    //       "DatabaseName": "string",
    //       "DirectPathNoLog": boolean,
    //       "DirectPathParallelLoad": boolean,
    //       "EnableHomogenousTablespace": boolean,
    //       "ExtraArchivedLogDestIds": [
    //         number
    //       ],
    //       "FailTasksOnLobTruncation": boolean,
    //       "NumberDatatypeScale": number,
    //       "OraclePathPrefix": "string",
    //       "ParallelAsmReadThreads": number,
    //       "Password": "string",
    //       "Port": number,
    //       "ReadAheadBlocks": number,
    //       "ReadTableSpaceName": boolean,
    //       "ReplacePathPrefix": boolean,
    //       "RetryInterval": number,
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerOracleAsmAccessRoleArn": "string",
    //       "SecretsManagerOracleAsmSecretId": "string",
    //       "SecretsManagerSecretId": "string",
    //       "SecurityDbEncryption": "string",
    //       "SecurityDbEncryptionName": "string",
    //       "ServerName": "string",
    //       "SpatialDataOptionToGeoJsonFunctionName": "string",
    //       "StandbyDelayTime": number,
    //       "UseAlternateFolderForOnline": boolean,
    //       "UseBFile": boolean,
    //       "UseDirectPathFullLoad": boolean,
    //       "UseLogminerReader": boolean,
    //       "UsePathPrefix": "string",
    //       "Username": "string"
    //     },
    //     "Port": number,
    //     "PostgreSQLSettings": {
    //       "AfterConnectScript": "string",
    //       "CaptureDdls": boolean,
    //       "DatabaseName": "string",
    //       "DdlArtifactsSchema": "string",
    //       "ExecuteTimeout": number,
    //       "FailTasksOnLobTruncation": boolean,
    //       "HeartbeatEnable": boolean,
    //       "HeartbeatFrequency": number,
    //       "HeartbeatSchema": "string",
    //       "MaxFileSize": number,
    //       "Password": "string",
    //       "PluginName": "string",
    //       "Port": number,
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "SlotName": "string",
    //       "Username": "string"
    //     },
    //     "RedisSettings": {
    //       "AuthPassword": "string",
    //       "AuthType": "string",
    //       "AuthUserName": "string",
    //       "Port": number,
    //       "ServerName": "string",
    //       "SslCaCertificateArn": "string",
    //       "SslSecurityProtocol": "string"
    //     },
    //     "RedshiftSettings": {
    //       "AcceptAnyDate": boolean,
    //       "AfterConnectScript": "string",
    //       "BucketFolder": "string",
    //       "BucketName": "string",
    //       "CaseSensitiveNames": boolean,
    //       "CompUpdate": boolean,
    //       "ConnectionTimeout": number,
    //       "DatabaseName": "string",
    //       "DateFormat": "string",
    //       "EmptyAsNull": boolean,
    //       "EncryptionMode": "string",
    //       "ExplicitIds": boolean,
    //       "FileTransferUploadStreams": number,
    //       "LoadTimeout": number,
    //       "MaxFileSize": number,
    //       "Password": "string",
    //       "Port": number,
    //       "RemoveQuotes": boolean,
    //       "ReplaceChars": "string",
    //       "ReplaceInvalidChars": "string",
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "ServerSideEncryptionKmsKeyId": "string",
    //       "ServiceAccessRoleArn": "string",
    //       "TimeFormat": "string",
    //       "TrimBlanks": boolean,
    //       "TruncateColumns": boolean,
    //       "Username": "string",
    //       "WriteBufferSize": number
    //     },
    //     "S3Settings": {
    //       "AddColumnName": boolean,
    //       "BucketFolder": "string",
    //       "BucketName": "string",
    //       "CannedAclForObjects": "string",
    //       "CdcInsertsAndUpdates": boolean,
    //       "CdcInsertsOnly": boolean,
    //       "CdcMaxBatchInterval": number,
    //       "CdcMinFileSize": number,
    //       "CdcPath": "string",
    //       "CompressionType": "string",
    //       "CsvDelimiter": "string",
    //       "CsvNoSupValue": "string",
    //       "CsvNullValue": "string",
    //       "CsvRowDelimiter": "string",
    //       "DataFormat": "string",
    //       "DataPageSize": number,
    //       "DatePartitionDelimiter": "string",
    //       "DatePartitionEnabled": boolean,
    //       "DatePartitionSequence": "string",
    //       "DatePartitionTimezone": "string",
    //       "DictPageSizeLimit": number,
    //       "EnableStatistics": boolean,
    //       "EncodingType": "string",
    //       "EncryptionMode": "string",
    //       "ExternalTableDefinition": "string",
    //       "IgnoreHeaderRows": number,
    //       "IncludeOpForFullLoad": boolean,
    //       "MaxFileSize": number,
    //       "ParquetTimestampInMillisecond": boolean,
    //       "ParquetVersion": "string",
    //       "PreserveTransactions": boolean,
    //       "Rfc4180": boolean,
    //       "RowGroupLength": number,
    //       "ServerSideEncryptionKmsKeyId": "string",
    //       "ServiceAccessRoleArn": "string",
    //       "TimestampColumnName": "string",
    //       "UseCsvNoSupValue": boolean,
    //       "UseTaskStartTimeForFullLoadTimestamp": boolean
    //     },
    //     "ServerName": "string",
    //     "ServiceAccessRoleArn": "string",
    //     "SslMode": "string",
    //     "Status": "string",
    //     "SybaseSettings": {
    //       "DatabaseName": "string",
    //       "Password": "string",
    //       "Port": number,
    //       "SecretsManagerAccessRoleArn": "string",
    //       "SecretsManagerSecretId": "string",
    //       "ServerName": "string",
    //       "Username": "string"
    //     },
    //     "Username": "string"
    //   }
    // }
    }