class Client extends Client

Client

Die API bezieht sich auf die Version 1 der DigitalOcean-API Die für das Erstellen des Client benötigten Zugangsdaten sind über die URI https://cloud.digitalocean.com/api_access abrufbar.

// Zugangsdaten finden sich hier: https://cloud.digitalocean.com/api_access
$client = new \Alvine\Infrastructure\Digitalocean\Client($clientID, $apiKey);

// Alle laufenden Droplets
$droplets = $client->getDroplets();
foreach($droplets AS $droplet) {
  $client->destroyDroplet($droplet->getDropletID());
}

// Droplet erstellen
$sizes = $client->getSizes();
$useSize = null;
foreach($sizes AS $size) {
    // kleinste Größe
    if($size->getMemory()>512) continue;
    $useSize = $size;
    break;
}

$keys = $client->getSSHKeys();
$useKey = null;
foreach($keys AS $key) {
    if($key->getName()!=='myKey') continue;
    $useKey = $key;
    break;
}

$keyList = new \Alvine\Types\Collection();
$keyList->append($useKey);

$regions = $client->getRegions();
$useRegion = null;
foreach($regions AS $region) {
    if($region->getSlug()!=='ams1') continue;
    $useRegion = $region;
    break;
}

if($useRegion===null) {
    echo 'no region';
    die(-1);
}

// 3668014 ist Docker-Image
$useImage = $client->getImage(3668014);
if($useImage===null) {
    echo 'no image';
    die(-1);
}

$privateNetworking = false;
$enableBackup = false;

$client->createDroplet('myfirstdroplet', $useSize, $useImage, $useRegion, $keyList, $privateNetworking, $enableBackup);

// Droplet umbenennen
$client->renameDroplet($dropletID,'newName');

Constants

API_VERSION

Verwendete API-Version des Docker-Hosts

STATUS_OK

Antwortstatus

APIURI

URI auf die API von digialocean

NAMEPREFIX

Prefix des Namens

Properties

protected string $clienID Die Client-ID ist unter der URL
protected string $apiKey Der API-Key kann unter der URL https://cloud.digitalocean.com/api_access erstellt werden.

Methods

__construct(string $clientID, string $apiKey)

Neuer Client

getDroplet(integer $id)

Detailinformationen

Collection
getDroplets()

Erstellte Droplets

createDroplet(string $dropletName, Size $size, Image $image, Region $region, Collection $sshKey, boolean $privateNetworking = false, boolean $enableBackup = true)

Droplet erstellen

doDropletActions(integer $id, string $action, array|null $parameter = null)

Aktionen mit Droplet ausführen

rebootDroplet(integer $id)

Startet das Droplet neu

doDropletPowerCycle(integer $id)

Schaltet das Droplet aus und wieder an

shutdownDroplet(integer $id)

Schaltet das Droplet aus

switchDropletPowerOff(integer $id)

Schaltet das Droplet aus

switchDropletPowerOn(integer $id)

Schaltet das Droplet aus

destroyDroplet(integer $id)

Löscht das Droplet aus dem Account

renameDroplet(integer $id, string $newName)

Droplet umbenennen

rebuildDroplet(integer $id, Image $image)

Droplet umbenennen

restoreDroplet(integer $id, Image $image)

Droplet wiederherstellen

takeDropletSnapshot(integer $id, integer $name)

Snapshot erstellen

resizeDroplet(integer $id, Size $size)

Größe des Droplets ändern

Collection
getRegions()

Regionen

getImage(integer $id)

Detailinformationen

Collection
getImages()

Liste aller Images

doImageActions(integer $id, string $action, array|null $parameter = null)

Aktionen mit Image ausführen

destroyImage(integer $id)

Löscht ein Image aus dem Account

transferImage(integer $id, Region $region)

Verschiebt ein Image in eine andere Region

Collection
getSizes()

Größen

Collection
getSSHKeys()

SSH-Schlüssel

Details

at line 154
__construct(string $clientID, string $apiKey)

Neuer Client

Die für den Client benötigten Informationen sind auf der Webseite https://cloud.digitalocean.com/api_access abrufbar.

Parameters

string $clientID Client-ID
string $apiKey API-Schlüssel

at line 174
Droplet getDroplet(integer $id)

Detailinformationen

Detailinformationen zu einem Droplet abfragen

Parameters

integer $id ID des Droplets

Return Value

Droplet Droplet

Exceptions

StatusException Fehlende Rückmaledung

at line 192
Collection getDroplets()

Erstellte Droplets

Liste aller erstellten Droplets abfragen

Return Value

Collection Collection-Objekt mit Droplet-Daten

Exceptions

ConnectionFailedException Verbindung nicht möglich

at line 224
Droplet createDroplet(string $dropletName, Size $size, Image $image, Region $region, Collection $sshKey, boolean $privateNetworking = false, boolean $enableBackup = true)

Droplet erstellen

Parameters

string $dropletName Name des Droplet
Size $size Größe
Image $image Image
Region $region Region
Collection $sshKey SSH-Schlüssel
boolean $privateNetworking Private Netzwerkschnittstelle aktivieren
boolean $enableBackup Backup aktivieren

Return Value

Droplet Erstelltes Objekt

Exceptions

DropletException Fehlende oder falsche Konfiguration

at line 271
protected Client doDropletActions(integer $id, string $action, array|null $parameter = null)

Aktionen mit Droplet ausführen

Parameters

integer $id ID des Droplet
string $action Aktionen (Teil der URL)
array|null $parameter Parameter

Return Value

Client

at line 294
Client rebootDroplet(integer $id)

Startet das Droplet neu

Parameters

integer $id DropletID

Return Value

Client Dieses Objekt

at line 309
Client doDropletPowerCycle(integer $id)

Schaltet das Droplet aus und wieder an

Parameters

integer $id DropletID

Return Value

Client Dieses Objekt

at line 324
Client shutdownDroplet(integer $id)

Schaltet das Droplet aus

Parameters

integer $id DropletID

Return Value

Client Dieses Objekt

at line 339
Client switchDropletPowerOff(integer $id)

Schaltet das Droplet aus

Parameters

integer $id DropletID

Return Value

Client Dieses Objekt

at line 354
Client switchDropletPowerOn(integer $id)

Schaltet das Droplet aus

Parameters

integer $id DropletID

Return Value

Client Dieses Objekt

at line 369
Client destroyDroplet(integer $id)

Löscht das Droplet aus dem Account

Parameters

integer $id DropletID

Return Value

Client Dieses Objekt

at line 385
Client renameDroplet(integer $id, string $newName)

Droplet umbenennen

Parameters

integer $id DropletID
string $newName Neuer Name

Return Value

Client Dieses Objekt

at line 401
Client rebuildDroplet(integer $id, Image $image)

Droplet umbenennen

Parameters

integer $id DropletID
Image $image Image

Return Value

Client Dieses Objekt

at line 420
Client restoreDroplet(integer $id, Image $image)

Droplet wiederherstellen

Mit dieser Methode kann ein Droplet von einem Image erstellt werden.

Parameters

integer $id DropletID
Image $image Image

Return Value

Client Dieses Objekt

at line 439
Client takeDropletSnapshot(integer $id, integer $name)

Snapshot erstellen

Mit dieser Methode kann ein Droplet von einem Image erstellt werden.

Parameters

integer $id DropletID
integer $name Name

Return Value

Client Dieses Objekt

at line 455
Client resizeDroplet(integer $id, Size $size)

Größe des Droplets ändern

Parameters

integer $id DropletID
Size $size Neue Größe des Droplets

Return Value

Client Dieses Objekt

at line 468
Collection getRegions()

Regionen

Liste aller verfügbarer Regionen abfragen

Return Value

Collection Collection-Objekt mit Regionen-Daten

Exceptions

ConnectionFailedException Verbindung nicht möglich

at line 495
Image getImage(integer $id)

Detailinformationen

Detailinformationen zu einem Image abfragen

Parameters

integer $id ID des Image

Return Value

Image Image

Exceptions

StatusException Fehlende Rückmaledung

at line 513
Collection getImages()

Liste aller Images

Liste aller Images abfragen

Return Value

Collection Collection-Objekt mit Image-Daten

Exceptions

ConnectionFailedException Verbindung nicht möglich

at line 539
protected Client doImageActions(integer $id, string $action, array|null $parameter = null)

Aktionen mit Image ausführen

Parameters

integer $id ID des Image
string $action Aktionen (Teil der URL)
array|null $parameter Parameter

Return Value

Client

at line 562
Client destroyImage(integer $id)

Löscht ein Image aus dem Account

Parameters

integer $id Image

Return Value

Client Dieses Objekt

at line 578
Client transferImage(integer $id, Region $region)

Verschiebt ein Image in eine andere Region

Parameters

integer $id Image
Region $region Neue Region

Return Value

Client Dieses Objekt

at line 591
Collection getSizes()

Größen

Liste aller verfügbarer Größen abfragen

Return Value

Collection Collection-Objekt mit Größen-Daten

Exceptions

ConnectionFailedException Verbindung nicht möglich

at line 616
Collection getSSHKeys()

SSH-Schlüssel

Liste aller verfügbarer SSH-Schlüssel abfragen

Return Value

Collection Collection-Objekt mit Schlüssel-Daten

Exceptions

ConnectionFailedException Verbindung nicht möglich