Download the PHP package dutchie027/vultr without Composer
On this page you can find all versions of the php package dutchie027/vultr. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dutchie027/vultr
More information about dutchie027/vultr
Files in dutchie027/vultr
Informations about the package vultr
vultr-php
PHP Library Intended to Interact with Vultr's v2 API
Installation
Usage
vultr.ini
This file drives the main configuration of the software. By default, it looks for the file in the root directory of your project using the name vultr.ini. If you want, you can give it another name and specifiy the full .ini path in the class instantiation.
The minimum Key/Value Pair in the [api]
key with the TOKEN
being your API token from the My Vultr Portal.
The full settings that can be supplied in the .ini are:
General Information
Class Listing
The library has the following classes:
- Account
- API
- Backups
- BareMetal
- BlockStorage
- DNS
- Firewalls
- Instances
- ISO
- LoadBalancers
- ObjectStorage
- OperatingSystems
- Plans
- PrivateNetworks
- Regions
- ReservedIPs
- Snapshots
- SSHKeys
- StartupScripts
- Users
Class Information
API
The main connection requires at minimum, an API key. You can get this by visiting My Vultr Portal -> Account -> API. In the portal, make sure you set the IP(s) you'll be calling the API from also, as by default it will lock it to the single IP you request the API from.
Once you have the API token, you can simply connect with it or you can add options
Account
Once you have a client, you can ask for the basic information about your account. NOTE: All payloads are returned in JSON, so you can choose how you want to deal with them:
Block Storage
Creating Block Storage
Config
If you call this without any $config
it will still create block storage. It will use the defaults as described below.
Parameter | Type | Description | Default Value |
---|---|---|---|
region |
string | The region where you want the storage created. NOTE If you choose a location that does NOT have block storate, it will revert to the default. | ewr |
size |
integer | The size (in GB) of how much storage you want created. NOTE This value must be between 10 and 10000 | 10 |
label |
string | A text label to be associated with the storage | null |
Return Value
You will be returned with a JSON payload that includes the newly created Block ID as well as the cost (in dollars) and size (in GB):
Updating Block Storage
Block Storage Config
Block storage can only be updated once every 60 seconds. To update the storage you need a minimum of the blockid
and either a size
or new label
.
Deleting Block Storage
The block ID is in the form of a GUID (something like 8692c434-08fa-4efb-a0fb-966a338aee07). If you provide a GUID that isn't in your storage container, it will fail.
Listing Specific Storage
The block ID is in the form of a GUID (something like 8692c434-08fa-4efb-a0fb-966a338aee07). If you provide a GUID that isn't in your storage container, it will fail.
Attaching Block Storage
All three values are required in the $config
. The block_id
is the ID of the block storage you want to attach. The instance
is the instance ID of the machine you want the storage attached to. It must also be in the same location as the storage. The value live
is either true
or false
. If it is set to true
it will attach the storage but NOT restart the instance. If you set live
to false
it will RESTART the instance and then attach the block storage.
Detatching Block Storage
Both values are required in the $config
. The block_id
is the ID of the block storage you want to detatch. The value live
is either true
or false
. If it is set to true
it will attach the storage but NOT restart the instance. If you set live
to false
it will RESTART the instance and then detatch the block storage.
Regions
For the most part, this is a support class, but if you want to use it you can. Here's a few things you can do with it:
To-Do
- Bring in more of the function(s) from Vultr
- Document the class(es) with proper doc blocks better
- Move the documentation in to separate markdowns
Contributing
If you're having problems, spot a bug, or have a feature suggestion, file an issue. If you want, feel free to fork the package and make a pull request. This is a work in progresss as I get more info and further test the API.
All versions of vultr with dependencies
monolog/monolog Version ^3.0
guzzlehttp/guzzle Version ^7.5
aws/aws-sdk-php Version ^3.171
ext-json Version *