The Official Vultr API PHP Wrapper

Overview

WIP - This is not the final API Client.

Unstable release use with caution.

Vultr API PHP Client.

Latest Stable Version Latest Unstable Version GitHub license PHP Tests Total Downloads Test Coverage

Getting Started

Must have a PSR7, PSR17, and PSR18 Compatible HTTP Client. View all PSR's Whether you implement your own or install 1, this client will act on those interfaces. https://packagist.org/providers/psr/http-client-implementation

Installation

composer require vultr/vultr-php

Usage

Documentation

See our documentation for detailed information about API v2.

TODO

Support

Contribute

License

This project is licensed under the MIT License - see the LICENSE file for details.

Comments
  • [Feature] - Add version numbering to library

    [Feature] - Add version numbering to library

    I'm using this library to automate my vultr projects but there's no version number association so I'm unable to isolate a specific revision with composer. Also, because I did some bug-fixes/touch-ups, I wanted to create a patch file for the current revision. When do you think we can see a version 0.0.1 or 1.0.0?

    enhancement 
    opened by mercymantis 3
  • Is it possible to get php7 support?

    Is it possible to get php7 support?

    I have many reasons for this request.

    1. Stable distributions ( production environments ) haven't fully adopted php8.
    2. The latest Ubuntu release defaults to php7 ( in my case php8 was a headache to get working )
    3. Not all modules have or are php8 friendly, I had to use custom/questionable repos and still failed due to a buggy module.

    The only way I can run this library is through a docker image. Perhaps other people are experiencing similar issues.

    enhancement 
    opened by mercymantis 2
  • [BUG] - No way to create a firewall rule with FirewallService

    [BUG] - No way to create a firewall rule with FirewallService

    The createFirewallRule function is missing in src/Services/Firewall/FirewallService.php file. After implementing it, I had trouble setting a subnet to 0.0.0.0/0 because getInitializedProps() routine wouldn't return properties with a value of 0.

    I ended up writing this to get what I needed working.

    • public function createFirewallRule(string $group_id, FirewallRule $rule) : FirewallRule
    • {
    •  $properties = $rule->getInitializedProps();
      
    •  if ( !isset( $properties['subnet_size'] ) )
      
    •      $properties['subnet_size'] = 0;
      
    •  return $this->createObject('firewalls/'.$group_id.'/rules', new FirewallRule(), $properties);
      
    • }
    bug 
    opened by mercymantis 2
  • Use PHPDoc to typehint VultrClient properties

    Use PHPDoc to typehint VultrClient properties

    Description

    Adds PHPDoc property typehints on the VultrClient class. This doesn't affect any behavior but helps the IDE typehint what properties are available.

    As a side note - if you required ^8.1 instead of ^8.0 you could use public readonly properties to accomplish the task a little cleaner/more type-safe (4ac77f8ff8f3ac78b280c53f6c33535104a10c56 - although not proposing this now as readonly properties were only added in 8.1)

    Checklist:

    • [X] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
    • [X] Have you linted your code locally prior to submission?
    • [X] Have you successfully ran tests with your changes locally?
    opened by iggyvolz 1
  • FirewallService crashes when creating an anywhere rule

    FirewallService crashes when creating an anywhere rule

    The api crashes with an invalid request error when ever I try to create a firewall rule set to accept from anywhere ( 0.0.0.0/0 ). I brought this up as a side note before that getInitializedProps wont return key pairs when the value evaluates to false. I tested this on the latest version 0.2.3.

    bug 
    opened by mercymantis 1
  • [BUG] - missing ListOptions namespace declaration causes library to crash

    [BUG] - missing ListOptions namespace declaration causes library to crash

    The namespace declaration for ListOptions is missing from /src/Services/VPC/VPCService.php and /src/Services/Firewall/FirewallService.php files which causes the library to crash when calling list methods.

    This can be reproduced by calling $client->firewall->getFirewallGroups and $client->vpc->getVPCs

    bug 
    opened by mercymantis 1
  • Update documentation for release of version 1.0.0

    Update documentation for release of version 1.0.0

    Checklist:

    • [x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
    • [x] Have you linted your code locally prior to submission?
    • [x] Have you successfully ran tests with your changes locally?
    opened by Porthorian 0
  • Add phpdoc generation

    Add phpdoc generation

    Description

    Add phpdoc generation and additional comments

    Checklist:

    • [x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
    • [x] Have you linted your code locally prior to submission?
    • [x] Have you successfully ran tests with your changes locally?
    opened by Porthorian 0
  • Add contributing and update readme

    Add contributing and update readme

    Checklist:

    • [x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
    • [x] Have you linted your code locally prior to submission?
    • [x] Have you successfully ran tests with your changes locally?
    opened by Porthorian 0
  • Refactor Exception Usage

    Refactor Exception Usage

    Is your feature request related to a problem? Please describe. The need to alleviate long exception messages when, I can just view previous exceptions for more additional information if needed.

    Describe the solution you'd like To stop the chaining of try/catches in many functions throughout the service handlers

    Example: image

    enhancement 
    opened by Porthorian 0
Releases(1.0.2)
Upload Vimeo video with CodeIgniter, Official PHP library for the Vimeo API

Upload Vimeo video with CodeIgniter, Official PHP library for the Vimeo API. Vimeo Video upload with API using Official PHP library for the Vimeo API.

WordPress theme and Plugins developers 2 Oct 10, 2021
A PHP client for the official Kizeo Forms API V3+. 📌

Kizeo Forms API V3+ - PHP This is a Swagger generated doc for Kizeo REST API 3. You can find additionnal documentation here : Online documentation. Th

siapepfrance 1 Oct 26, 2021
Official PHP SDK for interacting with the Knock API.

Knock PHP library Documentation See the documentation for PHP usage examples

Knock 4 Dec 16, 2022
PHP Telegram Bot based on the official Telegram Bot API

PHP Telegram Bot based on the official Telegram Bot API

null 4 Dec 8, 2021
Official International Name days API library

Official International Name days API library Name day API library for nameday.abalin.net This library makes it easy to send requests towards nameday.a

VojtaN 5 Feb 25, 2022
This package is a simple API laravel wrapper for Pokemontcg with a sleek Model design for API routes and authentication.

This package is a simple API laravel wrapper for Pokemontcg with a sleek Model design for API routes and authentication.

Daniel Henze 3 Aug 29, 2022
Official repository of the AWS SDK for PHP (@awsforphp)

AWS SDK for PHP - Version 3 The AWS SDK for PHP makes it easy for developers to access Amazon Web Services in their PHP code, and build robust applica

Amazon Web Services 5.7k Jan 1, 2023
Mailgun's Official SDK for PHP

Mailgun PHP client This is the Mailgun PHP SDK. This SDK contains methods for easily interacting with the Mailgun API. Below are examples to get you s

Mailgun Team 1k Dec 23, 2022
The official PHP SDK for Webmarketer (app.webmarketer.io)

PHP SDK for Webmarketer The official PHP SDK for Webmarketer (app.webmarketer.io). Install To add this package, your project must meet several require

Webmarketer 5 Dec 13, 2021
AltiriaSmsPhpClient, the official PHP client of Altiria

Altiria, cliente SMS PHP Altiria SMS PHP es un cliente que simplifica al máximo la integración de nuestro API para PHP. Por el momento, esta librería

Altiria 3 Dec 22, 2022
The official Previewify.app PHP Client

Previewify for PHP This is the official Previewify client for PHP. Support us Like our work? You can support us by purchasing one of our products. Ins

Flowframe 6 Jan 19, 2022
A PHP wrapper for Spotify's Web API.

Spotify Web API PHP This is a PHP wrapper for Spotify's Web API. It includes the following: Helper methods for all API endpoints: Information about ar

Jonathan Wilsson 796 Jan 8, 2023
Simple Curl based wrapper for Binance API for PHP scripts

Simple Curl based wrapper for Binance API for PHP scripts Feaures API support for SPOT data/trading FAPI/DAPI support for futures data/trading Curl-on

Mr Crypster 22 May 1, 2022
Google Drive Api Wrapper by PHP

GoogleDrive Api Wrapper usage at first you need to create oauth client on google cloud platform. so go to the your google console dashboard and create

Arash Abedi 2 Mar 24, 2022
Twitch Helix API PHP Wrapper for Laravel

Laravel Twitch PHP Twitch Helix API Wrapper for Laravel 5+ ⚠️ Changes on May 01, 2020 Since May 01, 2020, Twitch requires all requests to contain a va

Roman Zipp 87 Dec 7, 2022
Super-simple, minimum abstraction MailChimp API v3 wrapper, in PHP

MailChimp API Super-simple, minimum abstraction MailChimp API v3 wrapper, in PHP. I hate complex wrappers. This lets you get from the MailChimp API do

Drew McLellan 2k Dec 22, 2022
Google Translator Api Wrapper For Php Developers.

Google Translator Api Wrapper For Php Developers.

Roldex Stark 2 Oct 12, 2022
An elegant wrapper around Google Vision API

STILL UNDER DEVELOPMENT - DO NOT USE IN PRODUCTION Requires PHP 8.0+ For feedback, please contact me. This package provides an elegant wrapper around

Ahmad Mayahi 24 Nov 20, 2022
Laravel 8.x package wrapper library for Metatrader 5 Web API

Laravel 8.x package wrapper library for Metatrader 5 Web API

Ali A. Dhillon 10 Nov 13, 2022