Chilkat Online Tools

DescribeEndpoints 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,"Filters[0].Name","string")
    CkJsonObject::ckUpdateString(json,"Filters[0].Values[0]","string")
    CkJsonObject::ckUpdateString(json,"Marker","string")
    CkJsonObject::ckUpdateInt(json,"MaxRecords",123)

    ; The JSON request body created by the above code:

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

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

    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

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

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

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

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


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


    ProcedureReturn
EndProcedure