Chilkat Online Tools

DescribeEndpoints Objective-C Example

AWS Database Migration Service

#import <CkoRest.h>
#import <CkoAuthAws.h>
#import <CkoJsonObject.h>
#import <CkoStringBuilder.h>
#import <NSString.h>

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

CkoRest *rest = [[CkoRest alloc] init];
BOOL success;

CkoAuthAws *authAws = [[CkoAuthAws alloc] init];
authAws.AccessKey = @"AWS_ACCESS_KEY";
authAws.SecretKey = @"AWS_SECRET_KEY";

// Don't forget to change the region to your particular region. (Also make the same change in the call to Connect below.)
authAws.Region = @"us-west-2";
authAws.ServiceName = @"dms";
// SetAuthAws causes Chilkat to automatically add the following headers: Authorization, X-Amz-Date
[rest SetAuthAws: authAws];

// URL: https://dms.us-west-2.amazonaws.com/
// Use the same region as specified above.
success = [rest Connect: @"dms.us-west-2.amazonaws.com" port: [NSNumber numberWithInt: 443] tls: YES autoReconnect: YES];
if (success != YES) {
    NSLog(@"%@%d",@"ConnectFailReason: ",[rest.ConnectFailReason intValue]);
    NSLog(@"%@",rest.LastErrorText);
    return;
}

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

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

CkoJsonObject *json = [[CkoJsonObject alloc] init];
[json UpdateString: @"Filters[0].Name" value: @"string"];
[json UpdateString: @"Filters[0].Values[0]" value: @"string"];
[json UpdateString: @"Marker" value: @"string"];
[json UpdateInt: @"MaxRecords" value: [NSNumber numberWithInt: 123]];

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

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

[rest AddHeader: @"Content-Type" value: @"application/x-amz-json-1.1"];
[rest AddHeader: @"X-Amz-Target" value: @"AmazonDMSv20160101.DescribeEndpoints"];

CkoStringBuilder *sbRequestBody = [[CkoStringBuilder alloc] init];
[json EmitSb: sbRequestBody];
CkoStringBuilder *sbResponseBody = [[CkoStringBuilder alloc] init];
success = [rest FullRequestSb: @"POST" uriPath: @"/" requestBody: sbRequestBody responseBody: sbResponseBody];
if (success != YES) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

int respStatusCode = [rest.ResponseStatusCode intValue];
NSLog(@"%@%d",@"response status code = ",respStatusCode);
if (respStatusCode != 200) {
    NSLog(@"%@",@"Response Header:");
    NSLog(@"%@",rest.ResponseHeader);
    NSLog(@"%@",@"Response Body:");
    NSLog(@"%@",[sbResponseBody GetAsString]);
    return;
}

CkoJsonObject *jResp = [[CkoJsonObject alloc] init];
[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

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

NSString *Marker = [jResp StringOf: @"Marker"];
int i = 0;
int count_i = [[jResp SizeOfArray: @"Endpoints"] intValue];
while (i < count_i) {
    jResp.I = [NSNumber numberWithInt: 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"] intValue];
    ExtractDocId = [[jResp IntOf: @"Endpoints[i].DocDbSettings.ExtractDocId"] intValue];
    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"] intValue];
    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"] intValue];
    FullLoadErrorPercentage = [[jResp IntOf: @"Endpoints[i].ElasticsearchSettings.FullLoadErrorPercentage"] intValue];
    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"] intValue];
    GcpMySQLSettingsDatabaseName = [jResp StringOf: @"Endpoints[i].GcpMySQLSettings.DatabaseName"];
    EventsPollInterval = [[jResp IntOf: @"Endpoints[i].GcpMySQLSettings.EventsPollInterval"] intValue];
    MaxFileSize = [[jResp IntOf: @"Endpoints[i].GcpMySQLSettings.MaxFileSize"] intValue];
    ParallelLoadThreads = [[jResp IntOf: @"Endpoints[i].GcpMySQLSettings.ParallelLoadThreads"] intValue];
    GcpMySQLSettingsPassword = [jResp StringOf: @"Endpoints[i].GcpMySQLSettings.Password"];
    GcpMySQLSettingsPort = [[jResp IntOf: @"Endpoints[i].GcpMySQLSettings.Port"] intValue];
    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"] intValue];
    IBMDb2SettingsPassword = [jResp StringOf: @"Endpoints[i].IBMDb2Settings.Password"];
    IBMDb2SettingsPort = [[jResp IntOf: @"Endpoints[i].IBMDb2Settings.Port"] intValue];
    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"] intValue];
    IBMDb2SettingsUsername = [jResp StringOf: @"Endpoints[i].IBMDb2Settings.Username"];
    Broker = [jResp StringOf: @"Endpoints[i].KafkaSettings.Broker"];
    IncludeControlDetails = [[jResp IntOf: @"Endpoints[i].KafkaSettings.IncludeControlDetails"] intValue];
    IncludeNullAndEmpty = [[jResp IntOf: @"Endpoints[i].KafkaSettings.IncludeNullAndEmpty"] intValue];
    IncludePartitionValue = [[jResp IntOf: @"Endpoints[i].KafkaSettings.IncludePartitionValue"] intValue];
    IncludeTableAlterOperations = [[jResp IntOf: @"Endpoints[i].KafkaSettings.IncludeTableAlterOperations"] intValue];
    IncludeTransactionDetails = [[jResp IntOf: @"Endpoints[i].KafkaSettings.IncludeTransactionDetails"] intValue];
    MessageFormat = [jResp StringOf: @"Endpoints[i].KafkaSettings.MessageFormat"];
    MessageMaxBytes = [[jResp IntOf: @"Endpoints[i].KafkaSettings.MessageMaxBytes"] intValue];
    NoHexPrefix = [[jResp IntOf: @"Endpoints[i].KafkaSettings.NoHexPrefix"] intValue];
    PartitionIncludeSchemaTable = [[jResp IntOf: @"Endpoints[i].KafkaSettings.PartitionIncludeSchemaTable"] intValue];
    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"] intValue];
    KinesisSettingsIncludeNullAndEmpty = [[jResp IntOf: @"Endpoints[i].KinesisSettings.IncludeNullAndEmpty"] intValue];
    KinesisSettingsIncludePartitionValue = [[jResp IntOf: @"Endpoints[i].KinesisSettings.IncludePartitionValue"] intValue];
    KinesisSettingsIncludeTableAlterOperations = [[jResp IntOf: @"Endpoints[i].KinesisSettings.IncludeTableAlterOperations"] intValue];
    KinesisSettingsIncludeTransactionDetails = [[jResp IntOf: @"Endpoints[i].KinesisSettings.IncludeTransactionDetails"] intValue];
    KinesisSettingsMessageFormat = [jResp StringOf: @"Endpoints[i].KinesisSettings.MessageFormat"];
    KinesisSettingsNoHexPrefix = [[jResp IntOf: @"Endpoints[i].KinesisSettings.NoHexPrefix"] intValue];
    KinesisSettingsPartitionIncludeSchemaTable = [[jResp IntOf: @"Endpoints[i].KinesisSettings.PartitionIncludeSchemaTable"] intValue];
    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"] intValue];
    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"] intValue];
    QuerySingleAlwaysOnNode = [[jResp IntOf: @"Endpoints[i].MicrosoftSQLServerSettings.QuerySingleAlwaysOnNode"] intValue];
    ReadBackupOnly = [[jResp IntOf: @"Endpoints[i].MicrosoftSQLServerSettings.ReadBackupOnly"] intValue];
    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"] intValue];
    MicrosoftSQLServerSettingsUsername = [jResp StringOf: @"Endpoints[i].MicrosoftSQLServerSettings.Username"];
    UseThirdPartyBackupDevice = [[jResp IntOf: @"Endpoints[i].MicrosoftSQLServerSettings.UseThirdPartyBackupDevice"] intValue];
    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"] intValue];
    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"] intValue];
    MySQLSettingsDatabaseName = [jResp StringOf: @"Endpoints[i].MySQLSettings.DatabaseName"];
    MySQLSettingsEventsPollInterval = [[jResp IntOf: @"Endpoints[i].MySQLSettings.EventsPollInterval"] intValue];
    MySQLSettingsMaxFileSize = [[jResp IntOf: @"Endpoints[i].MySQLSettings.MaxFileSize"] intValue];
    MySQLSettingsParallelLoadThreads = [[jResp IntOf: @"Endpoints[i].MySQLSettings.ParallelLoadThreads"] intValue];
    MySQLSettingsPassword = [jResp StringOf: @"Endpoints[i].MySQLSettings.Password"];
    MySQLSettingsPort = [[jResp IntOf: @"Endpoints[i].MySQLSettings.Port"] intValue];
    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"] intValue];
    IamAuthEnabled = [[jResp IntOf: @"Endpoints[i].NeptuneSettings.IamAuthEnabled"] intValue];
    NeptuneSettingsMaxFileSize = [[jResp IntOf: @"Endpoints[i].NeptuneSettings.MaxFileSize"] intValue];
    MaxRetryCount = [[jResp IntOf: @"Endpoints[i].NeptuneSettings.MaxRetryCount"] intValue];
    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"] intValue];
    AdditionalArchivedLogDestId = [[jResp IntOf: @"Endpoints[i].OracleSettings.AdditionalArchivedLogDestId"] intValue];
    AddSupplementalLogging = [[jResp IntOf: @"Endpoints[i].OracleSettings.AddSupplementalLogging"] intValue];
    AllowSelectNestedTables = [[jResp IntOf: @"Endpoints[i].OracleSettings.AllowSelectNestedTables"] intValue];
    ArchivedLogDestId = [[jResp IntOf: @"Endpoints[i].OracleSettings.ArchivedLogDestId"] intValue];
    ArchivedLogsOnly = [[jResp IntOf: @"Endpoints[i].OracleSettings.ArchivedLogsOnly"] intValue];
    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"] intValue];
    DirectPathParallelLoad = [[jResp IntOf: @"Endpoints[i].OracleSettings.DirectPathParallelLoad"] intValue];
    EnableHomogenousTablespace = [[jResp IntOf: @"Endpoints[i].OracleSettings.EnableHomogenousTablespace"] intValue];
    FailTasksOnLobTruncation = [[jResp IntOf: @"Endpoints[i].OracleSettings.FailTasksOnLobTruncation"] intValue];
    NumberDatatypeScale = [[jResp IntOf: @"Endpoints[i].OracleSettings.NumberDatatypeScale"] intValue];
    OraclePathPrefix = [jResp StringOf: @"Endpoints[i].OracleSettings.OraclePathPrefix"];
    ParallelAsmReadThreads = [[jResp IntOf: @"Endpoints[i].OracleSettings.ParallelAsmReadThreads"] intValue];
    OracleSettingsPassword = [jResp StringOf: @"Endpoints[i].OracleSettings.Password"];
    OracleSettingsPort = [[jResp IntOf: @"Endpoints[i].OracleSettings.Port"] intValue];
    ReadAheadBlocks = [[jResp IntOf: @"Endpoints[i].OracleSettings.ReadAheadBlocks"] intValue];
    ReadTableSpaceName = [[jResp IntOf: @"Endpoints[i].OracleSettings.ReadTableSpaceName"] intValue];
    ReplacePathPrefix = [[jResp IntOf: @"Endpoints[i].OracleSettings.ReplacePathPrefix"] intValue];
    RetryInterval = [[jResp IntOf: @"Endpoints[i].OracleSettings.RetryInterval"] intValue];
    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"] intValue];
    UseAlternateFolderForOnline = [[jResp IntOf: @"Endpoints[i].OracleSettings.UseAlternateFolderForOnline"] intValue];
    UseBFile = [[jResp IntOf: @"Endpoints[i].OracleSettings.UseBFile"] intValue];
    UseDirectPathFullLoad = [[jResp IntOf: @"Endpoints[i].OracleSettings.UseDirectPathFullLoad"] intValue];
    UseLogminerReader = [[jResp IntOf: @"Endpoints[i].OracleSettings.UseLogminerReader"] intValue];
    UsePathPrefix = [jResp StringOf: @"Endpoints[i].OracleSettings.UsePathPrefix"];
    OracleSettingsUsername = [jResp StringOf: @"Endpoints[i].OracleSettings.Username"];
    Port = [[jResp IntOf: @"Endpoints[i].Port"] intValue];
    PostgreSQLSettingsAfterConnectScript = [jResp StringOf: @"Endpoints[i].PostgreSQLSettings.AfterConnectScript"];
    CaptureDdls = [[jResp IntOf: @"Endpoints[i].PostgreSQLSettings.CaptureDdls"] intValue];
    PostgreSQLSettingsDatabaseName = [jResp StringOf: @"Endpoints[i].PostgreSQLSettings.DatabaseName"];
    DdlArtifactsSchema = [jResp StringOf: @"Endpoints[i].PostgreSQLSettings.DdlArtifactsSchema"];
    ExecuteTimeout = [[jResp IntOf: @"Endpoints[i].PostgreSQLSettings.ExecuteTimeout"] intValue];
    PostgreSQLSettingsFailTasksOnLobTruncation = [[jResp IntOf: @"Endpoints[i].PostgreSQLSettings.FailTasksOnLobTruncation"] intValue];
    HeartbeatEnable = [[jResp IntOf: @"Endpoints[i].PostgreSQLSettings.HeartbeatEnable"] intValue];
    HeartbeatFrequency = [[jResp IntOf: @"Endpoints[i].PostgreSQLSettings.HeartbeatFrequency"] intValue];
    HeartbeatSchema = [jResp StringOf: @"Endpoints[i].PostgreSQLSettings.HeartbeatSchema"];
    PostgreSQLSettingsMaxFileSize = [[jResp IntOf: @"Endpoints[i].PostgreSQLSettings.MaxFileSize"] intValue];
    PostgreSQLSettingsPassword = [jResp StringOf: @"Endpoints[i].PostgreSQLSettings.Password"];
    PluginName = [jResp StringOf: @"Endpoints[i].PostgreSQLSettings.PluginName"];
    PostgreSQLSettingsPort = [[jResp IntOf: @"Endpoints[i].PostgreSQLSettings.Port"] intValue];
    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"] intValue];
    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"] intValue];
    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"] intValue];
    CompUpdate = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.CompUpdate"] intValue];
    ConnectionTimeout = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.ConnectionTimeout"] intValue];
    RedshiftSettingsDatabaseName = [jResp StringOf: @"Endpoints[i].RedshiftSettings.DatabaseName"];
    DateFormat = [jResp StringOf: @"Endpoints[i].RedshiftSettings.DateFormat"];
    EmptyAsNull = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.EmptyAsNull"] intValue];
    EncryptionMode = [jResp StringOf: @"Endpoints[i].RedshiftSettings.EncryptionMode"];
    ExplicitIds = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.ExplicitIds"] intValue];
    FileTransferUploadStreams = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.FileTransferUploadStreams"] intValue];
    LoadTimeout = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.LoadTimeout"] intValue];
    RedshiftSettingsMaxFileSize = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.MaxFileSize"] intValue];
    RedshiftSettingsPassword = [jResp StringOf: @"Endpoints[i].RedshiftSettings.Password"];
    RedshiftSettingsPort = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.Port"] intValue];
    RemoveQuotes = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.RemoveQuotes"] intValue];
    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"] intValue];
    TruncateColumns = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.TruncateColumns"] intValue];
    RedshiftSettingsUsername = [jResp StringOf: @"Endpoints[i].RedshiftSettings.Username"];
    WriteBufferSize = [[jResp IntOf: @"Endpoints[i].RedshiftSettings.WriteBufferSize"] intValue];
    AddColumnName = [[jResp IntOf: @"Endpoints[i].S3Settings.AddColumnName"] intValue];
    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"] intValue];
    CdcInsertsOnly = [[jResp IntOf: @"Endpoints[i].S3Settings.CdcInsertsOnly"] intValue];
    CdcMaxBatchInterval = [[jResp IntOf: @"Endpoints[i].S3Settings.CdcMaxBatchInterval"] intValue];
    CdcMinFileSize = [[jResp IntOf: @"Endpoints[i].S3Settings.CdcMinFileSize"] intValue];
    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"] intValue];
    DatePartitionDelimiter = [jResp StringOf: @"Endpoints[i].S3Settings.DatePartitionDelimiter"];
    DatePartitionEnabled = [[jResp IntOf: @"Endpoints[i].S3Settings.DatePartitionEnabled"] intValue];
    DatePartitionSequence = [jResp StringOf: @"Endpoints[i].S3Settings.DatePartitionSequence"];
    DatePartitionTimezone = [jResp StringOf: @"Endpoints[i].S3Settings.DatePartitionTimezone"];
    DictPageSizeLimit = [[jResp IntOf: @"Endpoints[i].S3Settings.DictPageSizeLimit"] intValue];
    EnableStatistics = [[jResp IntOf: @"Endpoints[i].S3Settings.EnableStatistics"] intValue];
    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"] intValue];
    IncludeOpForFullLoad = [[jResp IntOf: @"Endpoints[i].S3Settings.IncludeOpForFullLoad"] intValue];
    S3SettingsMaxFileSize = [[jResp IntOf: @"Endpoints[i].S3Settings.MaxFileSize"] intValue];
    ParquetTimestampInMillisecond = [[jResp IntOf: @"Endpoints[i].S3Settings.ParquetTimestampInMillisecond"] intValue];
    ParquetVersion = [jResp StringOf: @"Endpoints[i].S3Settings.ParquetVersion"];
    PreserveTransactions = [[jResp IntOf: @"Endpoints[i].S3Settings.PreserveTransactions"] intValue];
    Rfc4180 = [[jResp IntOf: @"Endpoints[i].S3Settings.Rfc4180"] intValue];
    RowGroupLength = [[jResp IntOf: @"Endpoints[i].S3Settings.RowGroupLength"] intValue];
    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"] intValue];
    UseTaskStartTimeForFullLoadTimestamp = [[jResp IntOf: @"Endpoints[i].S3Settings.UseTaskStartTimeForFullLoadTimestamp"] intValue];
    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"] intValue];
    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"] intValue];
    while (j < count_j) {
        jResp.J = [NSNumber numberWithInt: j];
        intVal = [[jResp IntOf: @"Endpoints[i].OracleSettings.ExtraArchivedLogDestIds[j]"] intValue];
        j = j + 1;
    }

    i = i + 1;
}

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