Chilkat Online Tools

DescribeEndpoints Ruby Example

AWS Database Migration Service

require 'chilkat'

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

rest = Chilkat::CkRest.new()

authAws = Chilkat::CkAuthAws.new()
authAws.put_AccessKey("AWS_ACCESS_KEY")
authAws.put_SecretKey("AWS_SECRET_KEY")

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

# URL: https://dms.us-west-2.amazonaws.com/
# Use the same region as specified above.
success = rest.Connect("dms.us-west-2.amazonaws.com",443,true,true)
if (success != true)
    print "ConnectFailReason: " + rest.get_ConnectFailReason().to_s() + "\n";
    print rest.lastErrorText() + "\n";
    exit
end

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

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

json = Chilkat::CkJsonObject.new()
json.UpdateString("Filters[0].Name","string")
json.UpdateString("Filters[0].Values[0]","string")
json.UpdateString("Marker","string")
json.UpdateInt("MaxRecords",123)

# The JSON request body created by the above code:

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

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

sbRequestBody = Chilkat::CkStringBuilder.new()
json.EmitSb(sbRequestBody)
sbResponseBody = Chilkat::CkStringBuilder.new()
success = rest.FullRequestSb("POST","/",sbRequestBody,sbResponseBody)
if (success != true)
    print rest.lastErrorText() + "\n";
    exit
end

respStatusCode = rest.get_ResponseStatusCode()
print "response status code = " + respStatusCode.to_s() + "\n";
if (respStatusCode != 200)
    print "Response Header:" + "\n";
    print rest.responseHeader() + "\n";
    print "Response Body:" + "\n";
    print sbResponseBody.getAsString() + "\n";
    exit
end

jResp = Chilkat::CkJsonObject.new()
jResp.LoadSb(sbResponseBody)

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

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

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

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

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