Chilkat Online Tools

DescribeEndpoints Perl Example

AWS Database Migration Service

use chilkat();

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

$rest = chilkat::CkRest->new();

$authAws = chilkat::CkAuthAws->new();
$authAws->put_AccessKey("AWS_ACCESS_KEY");
$authAws->put_SecretKey("AWS_SECRET_KEY");

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

# URL: https://dms.us-west-2.amazonaws.com/
# Use the same region as specified above.
$success = $rest->Connect("dms.us-west-2.amazonaws.com",443,1,1);
if ($success != 1) {
    print "ConnectFailReason: " . $rest->get_ConnectFailReason() . "\r\n";
    print $rest->lastErrorText() . "\r\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 = chilkat::CkJsonObject->new();
$json->UpdateString("Filters[0].Name","string");
$json->UpdateString("Filters[0].Values[0]","string");
$json->UpdateString("Marker","string");
$json->UpdateInt("MaxRecords",123);

# The JSON request body created by the above code:

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

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

$sbRequestBody = chilkat::CkStringBuilder->new();
$json->EmitSb($sbRequestBody);
$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $rest->FullRequestSb("POST","/",$sbRequestBody,$sbResponseBody);
if ($success != 1) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

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

$jResp = chilkat::CkJsonObject->new();
$jResp->LoadSb($sbResponseBody);

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

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

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

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