Overview

Namespaces

  • Alvine
    • Infrastructure
      • CoreOS
        • Etcd
          • Statistic
        • Fleet
          • Systemd

Classes

  • Client
  • Machine
  • State
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated

Class Client

Client für die Ansteuerung von Fleet

$uri = new \Alvine\Net\Resource\URI('http://cluster:port/');
$client = new \Alvine\Infrastructure\CoreOS\Fleet\Client($uri);

// Allgemeiner Status
$state = $client->getState();

// Unit starten
$unit = new \Alvine\Infrastructure\CoreOS\Fleet\Systemd\Service('test.service');
$unit->setDesiredState('launched');
$unit->addServiceValue(\Alvine\Infrastructure\CoreOS\Fleet\Systemd\Service::SERVICE_EXECSTARTPRE, '-/usr/bin/docker stop test');
$unit->addServiceValue(\Alvine\Infrastructure\CoreOS\Fleet\Systemd\Service::SERVICE_EXECSTARTPRE, '-/usr/bin/docker rm -f test');
$unit->addServiceValue(\Alvine\Infrastructure\CoreOS\Fleet\Systemd\Service::SERVICE_EXECSTART, '/usr/bin/docker run --name=test debian:jessie /bin/sh -c "while true; do echo her hello-222 world; sleep 1; done"');
$unit->addServiceValue(\Alvine\Infrastructure\CoreOS\Fleet\Systemd\Service::SERVICE_EXECSTOP, '-/usr/bin/docker stop test');

$client->createUnit($unit);

// Deaktivieren und wieder aktivieren
$client->setUnitInactive('test.service');
$client->setUnitLaunched('test.service');
Alvine\Infrastructure\Api\Rest\Client
Extended by Alvine\Infrastructure\CoreOS\Fleet\Client
Namespace: Alvine\Infrastructure\CoreOS\Fleet
Package: Alvine\Infrastructure\CoreOS
Category: Alvine
License: Alvine Nutzungslizenz
Author: schukai GmbH info@schukai.de
Version: $Revision:$
Since: 20150108
Link: alvine.io
Link: https://cloud.digitalocean.com/api_access
Located at fleet/Client.class.php
Methods summary
protected Alvine\Types\ArrayHelper
# getArrayHelperFromResponse( Alvine\Net\Http\Response $response )

Hilfsmethode

Hilfsmethode

Erstellt aus einer Rückgabe ein ArrayHelper-Objekt.

Parameters

$response

Returns

Alvine\Types\ArrayHelper

Throws

Alvine\Types\TypeException
public Alvine\Infrastructure\CoreOS\Fleet\Client
# destroyUnit( string $name )

Einheit aus dem Cluster entfernen

Einheit aus dem Cluster entfernen

Parameters

$name
Name der Einheit

Returns

Alvine\Infrastructure\CoreOS\Fleet\Client
public Alvine\Infrastructure\CoreOS\Fleet\Client
# changeState( string $name, string $state )

Status der Einheit setzen

Status der Einheit setzen

Parameters

$name
Name
$state
Status

Returns

Alvine\Infrastructure\CoreOS\Fleet\Client
public Alvine\Infrastructure\CoreOS\Fleet\Client
# setUnitInactive( string $name )

Status der Einheit auf inaktiv setzen

Status der Einheit auf inaktiv setzen

Parameters

$name
Name

Returns

Alvine\Infrastructure\CoreOS\Fleet\Client
public Alvine\Infrastructure\CoreOS\Fleet\Client
# setUnitLoaded( string $name )

Status der Einheit auf loaded setzen

Status der Einheit auf loaded setzen

Parameters

$name
Name

Returns

Alvine\Infrastructure\CoreOS\Fleet\Client
public Alvine\Infrastructure\CoreOS\Fleet\Client
# setUnitLaunched( string $name )

Status der Einheit auf launched setzen

Status der Einheit auf launched setzen

Parameters

$name
Name

Returns

Alvine\Infrastructure\CoreOS\Fleet\Client
public Alvine\Infrastructure\CoreOS\Fleet\Client
# createUnit( Alvine\Infrastructure\Linux\System\Init\Systemd\Unit $unit )

Neue Unit im Cluster anlegen

Neue Unit im Cluster anlegen

Parameters

$unit
Unit

Returns

Alvine\Infrastructure\CoreOS\Fleet\Client

Throws

Alvine\Infrastructure\Linux\System\Init\Systemd\ExistsException
public Alvine\Types\Collection<\Alvine\Infrastructure\Linux\System\Init\Systemd\Unit>
# getUnit( string $name )

Eine Einheiten auslesen

Eine Einheiten auslesen

Parameters

$name
Name

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\Linux\System\Init\Systemd\Unit>

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
protected Alvine\Types\Collection
# getUnitObject( Alvine\Types\ArrayHelper $unit )

Unit-Request ausführen

Unit-Request ausführen

Parameters

$unit

Returns

Alvine\Types\Collection
public Alvine\Types\Collection<\Alvine\Infrastructure\Linux\System\Init\Systemd\Unit>
# getUnits( )

Einheiten

Einheiten

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\Linux\System\Init\Systemd\Unit>

Throws

Alvine\Types\Mime\MIMETypeException
Der MimeType entspreicht nicht den Vorgaben
Alvine\Net\ConnectionFailedException
Keine Verbindung möglich
Alvine\Net\Http\ServerException
Unspezifizierter Fehler
Alvine\Net\Http\NotFoundException
URI nicht gefunden
Alvine\Core\ArgumentEmptyException
Der Name darf nicht leer sein
public Alvine\Types\Collection<\Alvine\Infrastructure\CoreOS\Fleet\Machine>
# getMachines( )

Maschinen

Maschinen

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\CoreOS\Fleet\Machine>
Maschinen
public Alvine\Types\Collection<\Alvine\Infrastructure\CoreOS\Fleet\Machine>
# getState( )

Status

Status

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\CoreOS\Fleet\Machine>
Maschinen
Constants summary
string STATUS_OK

Antwortstatus

Antwortstatus

# 'OK'
string APIPATH

Pfad auf die API mit json Ausgabe

Pfad auf die API mit json Ausgabe

# 'fleet/v1'
string FIELD_ERROR

Header mit der Fehlermeldung

Header mit der Fehlermeldung

# 'X-Error'
alvine.infrastructure.coreos API-Dokumentation 0.12.0 | © schukai GmbH | Impressum