Overview

Namespaces

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

Classes

  • Client
  • Node
  • Statistic
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated

Class Client

Etcd-Client

$uri = new \Alvine\Net\Resource\URI('http://cluster:port/');
$client = new \Alvine\Infrastructure\CoreOS\Etcd\Client($uri);
Alvine\Infrastructure\Api\Rest\Client
Extended by Alvine\Infrastructure\CoreOS\Etcd\Client
Namespace: Alvine\Infrastructure\CoreOS\Etcd
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 etcd/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\Types\Collection<\Alvine\Infrastructure\CoreOS\Etcd\Statistic>
# getFollowerStatistics( )

Statistik der Follower vom Leader abfragen

Statistik der Follower vom Leader abfragen

Diese Methode kann nur auf den Leader angewendet werden. Bei einem Aufruf über einen Follower wird eine Not Permit Exeption geworfen

Returns

Alvine\Types\Collection<\Alvine\Infrastructure\CoreOS\Etcd\Statistic>

Throws

Alvine\Net\ConnectionFailedException
403 Forbidden bei Abfragen gegen Follower und nicht dem Leader
public Alvine\Infrastructure\CoreOS\Etcd\Statistic\Node
# getStatistics( )

Statistik der aufgerufenen Node

Statistik der aufgerufenen Node

Diese Methode kann nur auf den Leader angewendet werden. Bei einem Aufruf über einen Follower wird eine Not Permit Exeption geworfen

Returns

Alvine\Infrastructure\CoreOS\Etcd\Statistic\Node
public string
# getLeader( )

Leader

Leader

Returns

string
Name des Leaders
public Alvine\Infrastructure\CoreOS\Etcd\Client
# getValue( string $key )

Wert auslesen

Wert auslesen

Parameters

$key
Schlüssel

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
public Alvine\Types\Map\ObjectMap
# getList( string $directory = '/', boolean $recursive = false )

Liste mit Nodes in einem Verzeichnis

Liste mit Nodes in einem Verzeichnis

Wird kein Verzeichnis angegeben, so wird das Hauptverzeichnis / genommen.

Parameters

$directory
Verzeichnis
$recursive
Rekursiv durchlaufen

Returns

Alvine\Types\Map\ObjectMap
protected Alvine\Types\Map\ObjectMap
# getKeyValueMap( Alvine\Net\Http\Response $response )

Ergebnis eines Response zerlegen und eine ObjektMap erstellen

Ergebnis eines Response zerlegen und eine ObjektMap erstellen

Parameters

$response

Returns

Alvine\Types\Map\ObjectMap
public Alvine\Infrastructure\CoreOS\Etcd\Client
# deleteValue( string $key )

Wert löschen

Wert löschen

Parameters

$key
Schlüssel

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
public Alvine\Infrastructure\CoreOS\Etcd\Client
# deleteValueIfValue( string $key, string $actualValue )

Wert löschen

Wert löschen

Der Wert wird nur gelöscht, wenn der Wert im Cluster den angegebenen Wert entspricht.

Parameters

$key
Schlüssel
$actualValue
Vergleichswert im Cluster

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
public Alvine\Infrastructure\CoreOS\Etcd\Client
# setValue( string $key, string $value, integer $ttl = null )

Wert setzen

Wert setzen

Parameters

$key
Schlüssel
$value
Wert
$ttl
Gültigkeit in Sekunden

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
protected Alvine\Infrastructure\CoreOS\Etcd\Client
# setValueWithPath( string $path, string $value, integer $ttl = null )

Wert intern setzen

Wert intern setzen

Parameters

$path
URL auf den Schlüssel
$value
Wert
$ttl
Gültigkeit in Sekunden

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
public Alvine\Infrastructure\CoreOS\Etcd\Client
# setValueIfNotExists( string $key, string $value, integer $ttl = null )

Atomic Compare-and-Swap

Atomic Compare-and-Swap

Setzt einen Wert nur dann, wenn er nicht vorhanden ist.

Parameters

$key
Schlüssel
$value
Wert
$ttl
Gültigkeit in Sekunden

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
public Alvine\Infrastructure\CoreOS\Etcd\Client
# setValueIfExists( string $key, string $value, integer $ttl = null )

Atomic Compare-and-Swap

Atomic Compare-and-Swap

Setzt einen Wert nur dann, wenn er bereits vorhanden ist.

Parameters

$key
Schlüssel
$value
Wert
$ttl
Gültigkeit in Sekunden

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
public Alvine\Infrastructure\CoreOS\Etcd\Client
# setValueIfValue( string $key, string $value, string $actualValue, integer $ttl = null )

Atomic Compare-and-Swap

Atomic Compare-and-Swap

Setzt einen Wert nur dann, wenn er der aktuelle Wert im Cluster $actualValue ist.

Parameters

$key
Schlüssel
$value
Wert
$actualValue
Aktueller Vergleichswert
$ttl
Gültigkeit in Sekunden

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
public Alvine\Types\Map\ObjectMap
# wait( string $key, integer $index = null, boolean $recursive = false )

Auf Änderung warten

Auf Änderung warten

Die Funktion kehrt erst zurück, wenn sich der Wert des Schlüssels geändert hat oder das Timeout abgelaufen ist. Das Timeout wird in dieser Methode auf 86400 Sekunden gesetzt.

Antwortet der Server mit einem 200 ohne Änderung, so wird eine leere ObjectMap zurückgegeben.

Parameters

$key
Schlüssel
$index
Index
$recursive
Rekursiv

Returns

Alvine\Types\Map\ObjectMap
public Alvine\Infrastructure\CoreOS\Etcd\Client
# createDirectory( string $key, integer $ttl = null )

Verzeichnis erstellen

Verzeichnis erstellen

Wird ein TTL angegeben, so ist der Schlüssel nur für diese Zeit gültig und wird im Anschluss automatisch vom Server gelöscht.

Parameters

$key
Verzeichnis
$ttl
Gültigkeit in Sekunden

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
public Alvine\Infrastructure\CoreOS\Etcd\Client
# deleteDirectory( string $key, integer $recursive = false )

Verzeichnis löschen

Verzeichnis löschen

Parameters

$key
Verzeichnis
$recursive
Rekursiv löschen

Returns

Alvine\Infrastructure\CoreOS\Etcd\Client
Constants summary
string APIPATH

Pfad auf die aktuelle API-Version

Pfad auf die aktuelle API-Version

# '/v2'
integer PORT

Port des Servers für Clientanfragen

Port des Servers für Clientanfragen

# 2379
integer SERVER_PORT

Port für Kommunikation Server-Server

Port für Kommunikation Server-Server

# 2380
alvine.infrastructure.coreos API-Dokumentation 0.12.0 | © schukai GmbH | Impressum