Chilkat Online Tools

CreateEndpoint Swift3 Example

AWS Database Migration Service

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

    let rest = CkoRest()!
    var success: Bool

    let authAws = CkoAuthAws()!
    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)

    // URL: https://dms.us-west-2.amazonaws.com/
    // Use the same region as specified above.
    success = rest.connect("dms.us-west-2.amazonaws.com", port: 443, tls: true, autoReconnect: true)
    if success != true {
        print("ConnectFailReason: \(rest.connectFailReason.intValue)")
        print("\(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

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

    json.updateInt("OracleSettings.FailTasksOnLobTruncation", value: 123)
    json.updateInt("OracleSettings.NumberDatatypeScale", value: 123)
    json.update("OracleSettings.OraclePathPrefix", value: "string")
    json.updateInt("OracleSettings.ParallelAsmReadThreads", value: 123)
    json.update("OracleSettings.Password", value: "string")
    json.updateInt("OracleSettings.Port", value: 123)
    json.updateInt("OracleSettings.ReadAheadBlocks", value: 123)
    json.updateInt("OracleSettings.ReadTableSpaceName", value: 123)
    json.updateInt("OracleSettings.ReplacePathPrefix", value: 123)
    json.updateInt("OracleSettings.RetryInterval", value: 123)
    json.update("OracleSettings.SecretsManagerAccessRoleArn", value: "string")
    json.update("OracleSettings.SecretsManagerOracleAsmAccessRoleArn", value: "string")
    json.update("OracleSettings.SecretsManagerOracleAsmSecretId", value: "string")
    json.update("OracleSettings.SecretsManagerSecretId", value: "string")
    json.update("OracleSettings.SecurityDbEncryption", value: "string")
    json.update("OracleSettings.SecurityDbEncryptionName", value: "string")
    json.update("OracleSettings.ServerName", value: "string")
    json.update("OracleSettings.SpatialDataOptionToGeoJsonFunctionName", value: "string")
    json.updateInt("OracleSettings.StandbyDelayTime", value: 123)
    json.updateInt("OracleSettings.UseAlternateFolderForOnline", value: 123)
    json.updateInt("OracleSettings.UseBFile", value: 123)
    json.updateInt("OracleSettings.UseDirectPathFullLoad", value: 123)
    json.updateInt("OracleSettings.UseLogminerReader", value: 123)
    json.update("OracleSettings.UsePathPrefix", value: "string")
    json.update("OracleSettings.Username", value: "string")
    json.update("Password", value: "string")
    json.updateInt("Port", value: 123)
    json.update("PostgreSQLSettings.AfterConnectScript", value: "string")
    json.updateInt("PostgreSQLSettings.CaptureDdls", value: 123)
    json.update("PostgreSQLSettings.DatabaseName", value: "string")
    json.update("PostgreSQLSettings.DdlArtifactsSchema", value: "string")
    json.updateInt("PostgreSQLSettings.ExecuteTimeout", value: 123)
    json.updateInt("PostgreSQLSettings.FailTasksOnLobTruncation", value: 123)
    json.updateInt("PostgreSQLSettings.HeartbeatEnable", value: 123)
    json.updateInt("PostgreSQLSettings.HeartbeatFrequency", value: 123)
    json.update("PostgreSQLSettings.HeartbeatSchema", value: "string")
    json.updateInt("PostgreSQLSettings.MaxFileSize", value: 123)
    json.update("PostgreSQLSettings.Password", value: "string")
    json.update("PostgreSQLSettings.PluginName", value: "string")
    json.updateInt("PostgreSQLSettings.Port", value: 123)
    json.update("PostgreSQLSettings.SecretsManagerAccessRoleArn", value: "string")
    json.update("PostgreSQLSettings.SecretsManagerSecretId", value: "string")
    json.update("PostgreSQLSettings.ServerName", value: "string")
    json.update("PostgreSQLSettings.SlotName", value: "string")
    json.update("PostgreSQLSettings.Username", value: "string")
    json.update("RedisSettings.AuthPassword", value: "string")
    json.update("RedisSettings.AuthType", value: "string")
    json.update("RedisSettings.AuthUserName", value: "string")
    json.updateInt("RedisSettings.Port", value: 123)
    json.update("RedisSettings.ServerName", value: "string")
    json.update("RedisSettings.SslCaCertificateArn", value: "string")
    json.update("RedisSettings.SslSecurityProtocol", value: "string")
    json.updateInt("RedshiftSettings.AcceptAnyDate", value: 123)
    json.update("RedshiftSettings.AfterConnectScript", value: "string")
    json.update("RedshiftSettings.BucketFolder", value: "string")
    json.update("RedshiftSettings.BucketName", value: "string")
    json.updateInt("RedshiftSettings.CaseSensitiveNames", value: 123)
    json.updateInt("RedshiftSettings.CompUpdate", value: 123)
    json.updateInt("RedshiftSettings.ConnectionTimeout", value: 123)
    json.update("RedshiftSettings.DatabaseName", value: "string")
    json.update("RedshiftSettings.DateFormat", value: "string")
    json.updateInt("RedshiftSettings.EmptyAsNull", value: 123)
    json.update("RedshiftSettings.EncryptionMode", value: "string")
    json.updateInt("RedshiftSettings.ExplicitIds", value: 123)
    json.updateInt("RedshiftSettings.FileTransferUploadStreams", value: 123)
    json.updateInt("RedshiftSettings.LoadTimeout", value: 123)
    json.updateInt("RedshiftSettings.MaxFileSize", value: 123)
    json.update("RedshiftSettings.Password", value: "string")
    json.updateInt("RedshiftSettings.Port", value: 123)
    json.updateInt("RedshiftSettings.RemoveQuotes", value: 123)
    json.update("RedshiftSettings.ReplaceChars", value: "string")
    json.update("RedshiftSettings.ReplaceInvalidChars", value: "string")
    json.update("RedshiftSettings.SecretsManagerAccessRoleArn", value: "string")
    json.update("RedshiftSettings.SecretsManagerSecretId", value: "string")
    json.update("RedshiftSettings.ServerName", value: "string")
    json.update("RedshiftSettings.ServerSideEncryptionKmsKeyId", value: "string")
    json.update("RedshiftSettings.ServiceAccessRoleArn", value: "string")
    json.update("RedshiftSettings.TimeFormat", value: "string")
    json.updateInt("RedshiftSettings.TrimBlanks", value: 123)
    json.updateInt("RedshiftSettings.TruncateColumns", value: 123)
    json.update("RedshiftSettings.Username", value: "string")
    json.updateInt("RedshiftSettings.WriteBufferSize", value: 123)
    json.update("ResourceIdentifier", value: "string")
    json.updateInt("S3Settings.AddColumnName", value: 123)
    json.update("S3Settings.BucketFolder", value: "string")
    json.update("S3Settings.BucketName", value: "string")
    json.update("S3Settings.CannedAclForObjects", value: "string")
    json.updateInt("S3Settings.CdcInsertsAndUpdates", value: 123)
    json.updateInt("S3Settings.CdcInsertsOnly", value: 123)
    json.updateInt("S3Settings.CdcMaxBatchInterval", value: 123)
    json.updateInt("S3Settings.CdcMinFileSize", value: 123)
    json.update("S3Settings.CdcPath", value: "string")
    json.update("S3Settings.CompressionType", value: "string")
    json.update("S3Settings.CsvDelimiter", value: "string")
    json.update("S3Settings.CsvNoSupValue", value: "string")
    json.update("S3Settings.CsvNullValue", value: "string")
    json.update("S3Settings.CsvRowDelimiter", value: "string")
    json.update("S3Settings.DataFormat", value: "string")
    json.updateInt("S3Settings.DataPageSize", value: 123)
    json.update("S3Settings.DatePartitionDelimiter", value: "string")
    json.updateInt("S3Settings.DatePartitionEnabled", value: 123)
    json.update("S3Settings.DatePartitionSequence", value: "string")
    json.update("S3Settings.DatePartitionTimezone", value: "string")
    json.updateInt("S3Settings.DictPageSizeLimit", value: 123)
    json.updateInt("S3Settings.EnableStatistics", value: 123)
    json.update("S3Settings.EncodingType", value: "string")
    json.update("S3Settings.EncryptionMode", value: "string")
    json.update("S3Settings.ExternalTableDefinition", value: "string")
    json.updateInt("S3Settings.IgnoreHeaderRows", value: 123)
    json.updateInt("S3Settings.IncludeOpForFullLoad", value: 123)
    json.updateInt("S3Settings.MaxFileSize", value: 123)
    json.updateInt("S3Settings.ParquetTimestampInMillisecond", value: 123)
    json.update("S3Settings.ParquetVersion", value: "string")
    json.updateInt("S3Settings.PreserveTransactions", value: 123)
    json.updateInt("S3Settings.Rfc4180", value: 123)
    json.updateInt("S3Settings.RowGroupLength", value: 123)
    json.update("S3Settings.ServerSideEncryptionKmsKeyId", value: "string")
    json.update("S3Settings.ServiceAccessRoleArn", value: "string")
    json.update("S3Settings.TimestampColumnName", value: "string")
    json.updateInt("S3Settings.UseCsvNoSupValue", value: 123)
    json.updateInt("S3Settings.UseTaskStartTimeForFullLoadTimestamp", value: 123)
    json.update("ServerName", value: "string")
    json.update("ServiceAccessRoleArn", value: "string")
    json.update("SslMode", value: "string")
    json.update("SybaseSettings.DatabaseName", value: "string")
    json.update("SybaseSettings.Password", value: "string")
    json.updateInt("SybaseSettings.Port", value: 123)
    json.update("SybaseSettings.SecretsManagerAccessRoleArn", value: "string")
    json.update("SybaseSettings.SecretsManagerSecretId", value: "string")
    json.update("SybaseSettings.ServerName", value: "string")
    json.update("SybaseSettings.Username", value: "string")
    json.update("Tags[0].Key", value: "string")
    json.update("Tags[0].ResourceArn", value: "string")
    json.update("Tags[0].Value", value: "string")
    json.update("Username", value: "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("Content-Type", value: "application/x-amz-json-1.1")
    rest.addHeader("X-Amz-Target", value: "AmazonDMSv20160101.CreateEndpoint")

    let sbRequestBody = CkoStringBuilder()!
    json.emitSb(sbRequestBody)
    let sbResponseBody = CkoStringBuilder()!
    success = rest.fullRequestSb("POST", uriPath: "/", requestBody: sbRequestBody, responseBody: sbResponseBody)
    if success != true {
        print("\(rest.lastErrorText!)")
        return
    }

    var respStatusCode: Int = rest.responseStatusCode.intValue
    print("response status code = \(respStatusCode)")
    if respStatusCode != 200 {
        print("Response Header:")
        print("\(rest.responseHeader!)")
        print("Response Body:")
        print("\(sbResponseBody.getAsString()!)")
        return
    }

    let jResp = CkoJsonObject()!
    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

    var intVal: Int

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

}