Имитация ошибок в gcoud compute engine API - PullRequest
0 голосов
/ 25 января 2019

Я настроил сервер, который запускает, останавливает и перечисляет экземпляры gcloud compute engine.Я использую PHP для этого.Как и во всех вещах в Интернете, могут возникнуть ошибки.Я ищу вдали, чтобы симулировать ошибки.Может быть, gcloud не будет отвечать в течение 30 секунд (такое событие будет очень плохим, и я не знаю, установлен ли тайм-аут на их веб-сервере).Или запуск экземпляра по какой-то причине не удался .. Как я могу смоделировать эти реальные жизненные проблемы?Я не нашел много информации о моделировании ошибок API вычислительного движка в Google.

Это соответствующий код PHP.

startInstance($project,$instance,$zone);

function stopInstance($g_project,$g_instance, $g_zone){

    $client = new Google_Client();
    $client->setApplicationName('Google-ComputeSample/0.1');
    $client->useApplicationDefaultCredentials();
    $client->addScope('https://www.googleapis.com/auth/cloud-platform');

    $service = new Google_Service_Compute($client);
    $response = $service->instances->stop($g_project, $g_zone, $g_instance);
    echo json_encode($response);

}
function startInstance($g_project,$g_instance, $g_zone){

    $client = new Google_Client();
    $client->setApplicationName('Google-ComputeSample/0.1');
    $client->useApplicationDefaultCredentials();
    $client->addScope('https://www.googleapis.com/auth/cloud-platform');

    $service = new Google_Service_Compute($client);
    $response = $service->instances->start($g_project, $g_zone, $g_instance);
    echo json_encode($response);

}
function listInstances($g_project,$g_instance, $g_zone){
    $client = new Google_Client();
    $client->setApplicationName('Google-ComputeSample/0.1');
    $client->useApplicationDefaultCredentials();
    $client->addScope('https://www.googleapis.com/auth/cloud-platform');

    $service = new Google_Service_Compute($client);
    $response = $service->instances->listInstances(DEFAULT_PROJECT, DEFAULT_ZONE_NAME);
    echo json_encode($response);  
}
...