Profitbricks API - Server starten und stoppen über Windows Powershell

Profitbricks bietet neben dem Datacenter Designer auch eine API um Aktionen im Datacenter durchzuführen. Das geht über einen Client, aber auch über ganz normale SOAP-Webservice-Requests. Beispielsweise mit der Microsoft Powershell. Grundlage der hier geposteten Infos sind die Tutorials aus dem Profitbricks Blog von Thomas Vogel.

Wichtig vorab zu wissen. Für die folgenden Befehle wird mindestens Powershell 3, besser 4 benötigt. Unter Windows 7 ist Powershell 2 vorinstalliert. Wer hier unterwegs ist, sollte das Windows Management Framework aktualisieren, welches Powershell enthält (erhältlich als Download unter microsoft.com).

Für die Entwickler in meinem Team habe ich ein Powershell Skript geschrieben, damit diese zum Starten und Stoppen ihrer Entwicklungs-VMs nicht jedesmal den DCD öffnen müssen. Denn loggt man sich in den DCD ein, kann man auch potentiell Fehler machen (z.B. aus Versehen den Live-Server herunterefahren oder löschen). Also lieber eine neue Skript-Datei anlegen und diese Vorgänge über die Powershell durchführen lassen.

Damit jeder Entwickler ein Skript erhält mit dem nur seine eigene Maschine gestartet werden kann, brauchen wir zuerst die IDs der Server. Die lassen sich ebenfalls über die Powershell auslesen. Dazu brauchen wir folgende Befehle:

## URI zur WSDL setzen
$pb_wsdl = https://api.profitbricks.com/1.2/wsdl
## mit WSDL verbinden
$pb_api = New-WebServiceProxy -Uri $pb_wsdl -namespace ProfitBricks -class pbApiClass
## Benutzername und Passwort abfragen
$pb_creds = Get-Credential
## Eingegebene Zugangsdaten speichern
$pb_api.Credentials = $pb_creds
## Die ID des Datacenters "Master" auslesen. Bitte durch den eigenen Namen ersetzen
$DCid = ($pb_api.getAllDataCenters() | Where-Object {$_.DatacenterName -eq "Master"}).dataCenterId
## Datacenter Konfiguration auslesen
$DC = $pb_api.getDataCenter($DCid)
## Server aus dem Datacenter auslesen
$servers = $DC.servers
## Alle Server durchlaufen und Informationen darüber ausgeben
foreach ($server in $servers) {
  Write-Host "Found Server" $server.serverName "with ID" $server.serverId "in state" $server.virtualMachineState "and Provisioningstate is" $server.provisioningState
}

Die Konsole der Powershell wird bei Aufruf dieses Skriptes alle Server aus dem Datacenter auswerfen mit den gewünschten Infos, u.a. der ID. Jetzt kann die ID notiert und für das folgende Skript verwendet werden.

$pb_wsdl = https://api.profitbricks.com/1.2/wsdl
## mit WSDL verbinden
$pb_api = New-WebServiceProxy -Uri $pb_wsdl -namespace ProfitBricks -class pbApiClass
## Benutzername und Passwort abfragen
$pb_creds = Get-Credential
## Eingegebene Zugangsdaten speichern
$pb_api.Credentials = $pb_creds
## Server ID an den Befehl startServer() übergeben
$pb_api.startServer("9837jkasdfkljasdfj98kasdfjklasjdfk")
## Um einen Server zu stoppen einfach statt startServer() den Befehl stopServer() nutzen

Und das war's. Ein paar Sekunden warten bis der Server hochgefahren ist und schon ist der Zugriff möglich.

Kommentare

Our company offers herb-based pharmacy. Look at our health contributing site in case you want to strengthen your health. [url=http://f3e.trustrxpharm.biz/fr/zithromax-5/zithromax-prix-tl-wa901nd-140... prix tl-wa901nd[/url] Our site offers a wide variety of non prescription drugs. Take a look at our health website in case you want to to improve your health with a help of generic supplements. [url=http://a9u.trustrxpharm.biz/no/dapoxetine-4/dapoxetine-pris-milgauss-898... pris milgauss[/url] Our company offers a wide variety of weight loss products. Look at our health contributing site in case you want to look healthier. [url=http://9zt.trustrxpharm.biz/it/amoxil-4/amoxil-10-mg-orosolubile-prezzo-... 10 mg orosolubile prezzo farmacia[/url] Our company offers supreme quality health and related products. Take a look at our health contributing site in case you want to feel better. [url=http://l0c.trustrxpharm.biz/de/levitra-4/wo-bekomm-ich-levitra-her-ohne-... bekomm ich levitra her ohne rezept[/url] Our company provides a wide variety of non prescription products. Look at our health website in case you want to feel better with a help of generic supplements. http://l0c.trustrxpharm.biz/en/levitra-8/sale-levitra-typical-dose-27691... Our site offers a wide variety of non prescription drugs. Take a look at our health site in case you want to feel better with a help of health products. [url=http://9aa.trustrxpharm.biz/nl/levitra-8/verkoop-levitra-lili-64213.html... levitra lili[/url]
Our company offers herbal health products. Visit our health contributing website in case you want to feel better. [url=http://kj3.trustrxpharm.biz/en/dapoxetine-3/dapoxetine-non-prescription-... non-prescription breathing treatments[/url] Our company offers a wide variety of pills. Visit our health contributing site in case you want to look better. [url=http://9we.trustrxpharm.biz/no/zithromax-4/zithromax-pris-jd-27816.html]... pris JD[/url] Our company provides herbal pharmacy. Visit our health contributing portal in case you want to look healthier. [url=http://f3n.trustrxpharm.biz/de/amoxil-2/amoxil-im-laden-kaufen-90451.htm... im laden kaufen[/url] Our company provides a wide variety of non prescription products. Take a look at our health portal in case you want to look better with a help health products. http://dz4.trustrxpharm.biz/de/propecia-3/was-kosten-propecia-65724.html Our company provides a wide variety of non prescription drugs. Visit our health site in case you want to feel better.
Our company provides a wide variety of non prescription products. Visit our health site in case you want to look better with a help health products. Our company provides a wide variety of health products. Look at our health contributing portal in case you want to look healthier. [url=http://ii0.trustrxpharm.biz/de/zithromax-6/zithromax-tadalafil-preis-663... tadalafil preis[/url] Our company provides a wide variety of non prescription products. Visit our health website in case you want to look better with a help health products. [url=http://a1j.trustrxpharm.biz/de/cialis-6/cialis-50-mg-preis-98934.html]Ci... 50 mg preis[/url] Our company provides a wide variety of non prescription drugs. Visit our health site in case you want to to feel healthier with a help of health products. [url=http://8xb.trustrxpharm.biz/nl/dapoxetine-8/verkoop-dapoxetine-tingling-... dapoxetine tingling[/url] Our site offers a wide variety of non prescription drugs. Look at our health website in case you want to strengthen your health with a help generic supplements. http://l0c.trustrxpharm.biz/nl/levitra-9/levitra-zonder-recept-witlofsoe... Our company provides herbal health products. Look at our health contributing website in case you want to feel healthier. [url=http://9zt.trustrxpharm.biz/it/amoxil-1/dove-acquistare-amoxil-con-paypa... acquistare amoxil con paypal[/url]
Our company offers supreme quality pharmacy. Visit our health contributing site in case you want to feel better. [url=http://ke6.trustrxpharm.biz/no/clomid-6/salg-clomid-for-the-brain-17280.... clomid for the brain[/url] Our company provides herbal non prescription products. Visit our health contributing website in case you want to improve your health. [url=http://cl0.trustrxpharm.biz/de/zithromax-6/zithromax-frankreich-preis-27... frankreich preis[/url] Our company offers a wide variety of non prescription products. Look at our health website in case you want to to improve your health with a help of general health products. [url=http://da6.trustrxpharm.biz/dk/dapoxetine-4/dapoxetine-uden-recept-vijge... uden recept vijgenconfituur[/url] Our company provides a wide variety of non prescription products. Take a look at our health site. http://f3e.trustrxpharm.biz/en/zithromax-2/costco-generic-zithromax-8771... Our company provides health products. Visit our health contributing website in case you want to look healthier.