Chilkat Online Tools

DescribeEndpoints delphiAx Example

AWS Database Migration Service

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

begin
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

rest := TChilkatRest.Create(Self);

authAws := TChilkatAuthAws.Create(Self);
authAws.AccessKey := 'AWS_ACCESS_KEY';
authAws.SecretKey := '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.Region := 'us-west-2';
authAws.ServiceName := 'dms';
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
rest.SetAuthAws(authAws.ControlInterface);

// URL: https://dms.us-west-2.amazonaws.com/
// Use the same region as specified above.
success := rest.Connect('dms.us-west-2.amazonaws.com',443,1,1);
if (success <> 1) then
  begin
    Memo1.Lines.Add('ConnectFailReason: ' + IntToStr(rest.ConnectFailReason));
    Memo1.Lines.Add(rest.LastErrorText);
    Exit;
  end;

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

json := TChilkatJsonObject.Create(Self);
json.UpdateString('Filters[0].Name','string');
json.UpdateString('Filters[0].Values[0]','string');
json.UpdateString('Marker','string');
json.UpdateInt('MaxRecords',123);

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

// {
//   "Filters": [
//     {
//       "Name": "string",
//       "Values": [
//         "string"
//       ]
//     }
//   ],
//   "Marker": "string",
//   "MaxRecords": number
// }

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

sbRequestBody := TChilkatStringBuilder.Create(Self);
json.EmitSb(sbRequestBody.ControlInterface);
sbResponseBody := TChilkatStringBuilder.Create(Self);
success := rest.FullRequestSb('POST','/',sbRequestBody.ControlInterface,sbResponseBody.ControlInterface);
if (success <> 1) then
  begin
    Memo1.Lines.Add(rest.LastErrorText);
    Exit;
  end;
respStatusCode := rest.ResponseStatusCode;
Memo1.Lines.Add('response status code = ' + IntToStr(respStatusCode));
if (respStatusCode <> 200) then
  begin
    Memo1.Lines.Add('Response Header:');
    Memo1.Lines.Add(rest.ResponseHeader);
    Memo1.Lines.Add('Response Body:');
    Memo1.Lines.Add(sbResponseBody.GetAsString());
    Exit;
  end;

jResp := TChilkatJsonObject.Create(Self);
jResp.LoadSb(sbResponseBody.ControlInterface);

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

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

    i := i + 1;
  end;

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

// {
//   "Endpoints": [
//     {
//       "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"
//     }
//   ],
//   "Marker": "string"
// }