Wywołanie komendy na zdalnej maszynie


Uruchamianie pojedynczej komendy na zdalnej maszynie. Rezultatem wywołania jest kod zwracany przez aplikację oraz jej standardowe wyjście. Limit czasu uruchomienia pojedynczej komendy został ograniczony do 10000 milisekund.

Uwaga! Wszystkie przedstawione poniżej operacje są zabezpieczone. W celu autoryzacji wymagane jest dodanie nagłówka z nazwą PROXY oraz wartością certyfikatu proxy zakodowanego przy użyciu Base64 (wpierany jest jedynie certyfikat proxy podpisany przez SimpleCA).
Tytuł Wykonaj polecenie
URL /api/process
Metoda POST
Parametry zapytania Brak
Ciało żądania

JSON:

{
  "host": [string (wymagane)],
  "command": [string (wymagane)],
  "working_directory": [string (opcjonalne)]
}

Przykład:

{
  "host": "prometheus.cyfronet.pl",
  "command": "date"
}
  						
Odpowiedź

Kod: 200

Przykład:

{
  "status":"OK",
  "exit_code":0,
  "standard_output":"Fri Aug  1 14:33:55 CEST 2014",
  "error_output":"",
  "error_message":null
}
  					
Wystąpienie błędu

Wystąpienie błędu: 408 | 422 | 500

Przykład:

{
  "status":"ERROR",
  "exit_code":-1,
  "standard_output":"whatever was printed before timeout",
  "error_output":"",
  "error_message":"timeout occurred..."
}
  					
Przykładowe wywołanie

Bash (z użyciem komend base64, tr oraz curl)

proxy="`cat {path-to-proxy-file} | base64 | tr -d '\n'`"

curl -k -X POST --data '{"host": "prometheus.cyfronet.pl", "command": "pwd"}' \
--header "Content-Type:application/json" --header "PROXY:$proxy" https://submit.plgrid.pl/api/process

curl -k -X POST --data '{"host": "ares.cyfronet.pl", "command": "pwd"}' \
--header "Content-Type:application/json" --header "PROXY:$proxy" https://submit.plgrid.pl/api/process

curl -k -X POST --data '{"host": "athena.cyfronet.pl", "command": "pwd"}' \
--header "Content-Type:application/json" --header "PROXY:$proxy" https://submit.plgrid.pl/api/process
  						
Uwagi Brak