krystal / katapult
v5.3.0
2024-11-01 11:46 UTC
Requires
- php: ^8.1
- jane-php/open-api-runtime: ^7.5
Requires (Dev)
- jane-php/open-api-3: ^7.5
This package is auto-updated.
Last update: 2024-11-01 11:47:11 UTC
README
A PHP library for integrating with Katapult.
You can find all the Katapult Developer Docs here.
Version constraints
From version 3, we switched to an OpenAPI based generator.
Versions 3 and up require a minimum of PHP 8.1 and follow semantic versioning.
Please refer to composer.json
for any specific language requirements for your version.
Installation
You can install the package via Composer:
composer require krystal/katapult
Usage
It will use PSR HTTP discovery to locate an imlpementation of the PSR ClientInterface.
If you need control over this, you can call setHttpClient
in ClientFactory
.
The usage sample below emits the IPv4 and IPv6 addresses for each VM in your Organization.
use KatapultAPI\Core\ClientFactory; $katapult = (new ClientFactory('your-katapult-api-token'))->create(); $virtualMachines = $katapult->getOrganizationVirtualMachines([ 'organization[id]' => 'your-katapult-org-id', ])->getVirtualMachines(); foreach ($virtualMachines as $virtualMachine) { echo $virtualMachine->getHostname() . PHP_EOL; foreach ($virtualMachine->getIpAddresses() as $ipAddress) { $prefix = filter_var($ipAddress->getAddress(), FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) ? 'ipv4' : 'ipv6'; echo ' ' . $prefix . ': ' . $ipAddress->getAddress() . PHP_EOL; } }
Output
example
ipv4: 93.184.216.34
ipv6: 2606:2800:220:1:248:1893:25c8:1946