Chilkat Online Tools

CreateEndpoint PureBasic Example

AWS Database Migration Service

IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkRest.pb"
IncludeFile "CkAuthAws.pb"

Procedure ChilkatExample()

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

    rest.i = CkRest::ckCreate()
    If rest.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success.i

    authAws.i = CkAuthAws::ckCreate()
    If authAws.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkAuthAws::setCkAccessKey(authAws, "AWS_ACCESS_KEY")
    CkAuthAws::setCkSecretKey(authAws, "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.)
    CkAuthAws::setCkRegion(authAws, "us-west-2")
    CkAuthAws::setCkServiceName(authAws, "dms")
    ; SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
    CkRest::ckSetAuthAws(rest,authAws)

    ; URL: https://dms.us-west-2.amazonaws.com/
    ; Use the same region as specified above.
    success = CkRest::ckConnect(rest,"dms.us-west-2.amazonaws.com",443,1,1)
    If success <> 1
        Debug "ConnectFailReason: " + Str(CkRest::ckConnectFailReason(rest))
        Debug CkRest::ckLastErrorText(rest)
        CkRest::ckDispose(rest)
        CkAuthAws::ckDispose(authAws)
        ProcedureReturn
    EndIf

    ; 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.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

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

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

    CkRest::ckAddHeader(rest,"Content-Type","application/x-amz-json-1.1")
    CkRest::ckAddHeader(rest,"X-Amz-Target","AmazonDMSv20160101.CreateEndpoint")

    sbRequestBody.i = CkStringBuilder::ckCreate()
    If sbRequestBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckEmitSb(json,sbRequestBody)
    sbResponseBody.i = CkStringBuilder::ckCreate()
    If sbResponseBody.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkRest::ckFullRequestSb(rest,"POST","/",sbRequestBody,sbResponseBody)
    If success <> 1
        Debug CkRest::ckLastErrorText(rest)
        CkRest::ckDispose(rest)
        CkAuthAws::ckDispose(authAws)
        CkJsonObject::ckDispose(json)
        CkStringBuilder::ckDispose(sbRequestBody)
        CkStringBuilder::ckDispose(sbResponseBody)
        ProcedureReturn
    EndIf

    respStatusCode.i = CkRest::ckResponseStatusCode(rest)
    Debug "response status code = " + Str(respStatusCode)
    If respStatusCode <> 200
        Debug "Response Header:"
        Debug CkRest::ckResponseHeader(rest)
        Debug "Response Body:"
        Debug CkStringBuilder::ckGetAsString(sbResponseBody)
        CkRest::ckDispose(rest)
        CkAuthAws::ckDispose(authAws)
        CkJsonObject::ckDispose(json)
        CkStringBuilder::ckDispose(sbRequestBody)
        CkStringBuilder::ckDispose(sbResponseBody)
        ProcedureReturn
    EndIf

    jResp.i = CkJsonObject::ckCreate()
    If jResp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckLoadSb(jResp,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

    intVal.i

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

    ; 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"
    ;   }
    ; }


    CkRest::ckDispose(rest)
    CkAuthAws::ckDispose(authAws)
    CkJsonObject::ckDispose(json)
    CkStringBuilder::ckDispose(sbRequestBody)
    CkStringBuilder::ckDispose(sbResponseBody)
    CkJsonObject::ckDispose(jResp)


    ProcedureReturn
EndProcedure