Chilkat Online Tools

DescribeEndpoints phpExt Example

AWS Database Migration Service

<?php

// The version number (9_5_0) should match version of the Chilkat extension used, omitting the micro-version number.
// For example, if using Chilkat v9.5.0.48, then include as shown here:
include("chilkat_9_5_0.php");

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

$rest = new CkRest();

$authAws = new CkAuthAws();
$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() . "\n";
    print $rest->lastErrorText() . "\n";
    exit;
}

// 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 = new CkJsonObject();
$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 = new CkStringBuilder();
$json->EmitSb($sbRequestBody);
$sbResponseBody = new CkStringBuilder();
$success = $rest->FullRequestSb('POST','/',$sbRequestBody,$sbResponseBody);
if ($success != true) {
    print $rest->lastErrorText() . "\n";
    exit;
}

$respStatusCode = $rest->get_ResponseStatusCode();
print 'response status code = ' . $respStatusCode . "\n";
if ($respStatusCode != 200) {
    print 'Response Header:' . "\n";
    print $rest->responseHeader() . "\n";
    print 'Response Body:' . "\n";
    print $sbResponseBody->getAsString() . "\n";
    exit;
}

$jResp = new CkJsonObject();
$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;
    }

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

?>