Files
wevads-platform/scripts/huawei-sdk-test.php
2026-02-26 04:53:11 +01:00

83 lines
2.5 KiB
PHP
Executable File

<?php
/**
* Test Huawei Cloud SDK officiel
*/
require_once '/opt/wevads/vendor/autoload.php';
use HuaweiCloud\SDK\Core\Auth\BasicCredentials;
use HuaweiCloud\SDK\Core\Http\HttpConfig;
use HuaweiCloud\SDK\Core\Exceptions\ConnectionException;
use HuaweiCloud\SDK\Core\Exceptions\RequestTimeoutException;
use HuaweiCloud\SDK\Core\Exceptions\ServiceResponseException;
use HuaweiCloud\SDK\Ecs\V2\EcsClient;
use HuaweiCloud\SDK\Ecs\V2\Model\ListServersDetailsRequest;
header('Content-Type: text/plain');
// Connexion DB pour récupérer les credentials
$pdo = new PDO("pgsql:host=localhost;dbname=adx_system", "admin", "admin123");
$account = $pdo->query("SELECT * FROM admin.huawei_accounts WHERE status = 'Activated' LIMIT 1")->fetch(PDO::FETCH_ASSOC);
if (!$account) {
die("Aucun compte Huawei actif trouvé");
}
$ak = $account['application_key'];
$sk = $account['secret_key'];
$projectId = $account['consumer_key']; // Project ID
$region = $account['region'];
echo "=== COMPTE HUAWEI ===\n";
echo "Nom: " . $account['name'] . "\n";
echo "Region: $region\n";
echo "Project ID: $projectId\n";
echo "AK: " . substr($ak, 0, 12) . "...\n\n";
// Configuration
$config = HttpConfig::getDefaultConfig();
$config->setIgnoreSslVerification(true);
$config->setTimeout(30);
// Credentials (BasicCredentials pour les services régionaux)
$credentials = new BasicCredentials($ak, $sk, $projectId);
// Endpoint ECS
$endpoint = "https://ecs.$region.myhuaweicloud.com";
echo "Endpoint: $endpoint\n\n";
try {
// Créer le client ECS
$ecsClient = EcsClient::newBuilder()
->withHttpConfig($config)
->withEndpoint($endpoint)
->withCredentials($credentials)
->build();
echo "=== TEST: Liste des serveurs ===\n";
// Lister les serveurs
$request = new ListServersDetailsRequest();
$response = $ecsClient->listServersDetails($request);
echo "Réponse reçue!\n";
echo $response . "\n";
} catch (ConnectionException $e) {
echo "Erreur de connexion: " . $e->getMessage() . "\n";
} catch (RequestTimeoutException $e) {
echo "Timeout: " . $e->getMessage() . "\n";
} catch (ServiceResponseException $e) {
echo "Erreur API:\n";
echo " HTTP Status: " . $e->getHttpStatusCode() . "\n";
echo " Request ID: " . $e->getRequestId() . "\n";
echo " Error Code: " . $e->getErrorCode() . "\n";
echo " Error Msg: " . $e->getErrorMsg() . "\n";
} catch (Exception $e) {
echo "Erreur: " . $e->getMessage() . "\n";
}
echo "\n=== DONE ===\n";