hypernode/api-client

Hypernode API Client for PHP

0.4.2 2024-04-29 07:15 UTC

This package is auto-updated.

Last update: 2024-10-29 08:22:58 UTC


README

Please note: this project is still in its early stages and the API may be subject to change.

Installation

composer require hypernode/api-client

The API client is HTTP client agnostic, which means that it's compatible with any HTTP client implementing PSR-18 interface.

Popular HTTP client implementations are: Guzzle and Symfony HTTP Client.

A full list of implementations, can be found here.

Usage

Acquiring an API token

Each Hypernode has an API token associated with it, you can use that to talk to the API directly. You can find the token in /etc/hypernode/hypernode_api_token. For API tokens with special permissions please contact support@hypernode.com.

Using the client

use Hypernode\Api\HypernodeClientFactory;

require_once 'vendor/autoload.php';

$client = HypernodeClientFactory::create(getenv('HYPERNODE_API_TOKEN'));

// For the Hypernode `johndoe` PHP version to 8.1 and Node.js version to 18
$job = $client->settings->setBatch('johndoe', [
    'php_version' => '8.1',
    'nodejs_version' => '18'
]);

// If something has changed, wait for the changes to be applied.
while ($job && !$job->completed()) {
    sleep(2);
    $job->refresh();
}

Supported features

Here's a list of Hypernode API features implemented in the client.

  • Listing Hypernodes related to your API key
  • Updating one or multiple Hypernode settings at once.
  • Querying/polling the logbook for the status of a job.
  • Listing, creating, updating and cancelling Brancher Hypernode instances.

Related projects