User Tools

Site Tools


navody:vps:api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
navody:vps:api [2016/02/09 17:00] – [Dokumentace API] verze 2.0 Aithernavody:vps:api [2016/10/25 06:44] – api v3.0, haveapi-webui, ncurses Aither
Line 10: Line 10:
 ===== Dokumentace API ===== ===== Dokumentace API =====
 Dokumentace API, tzn. seznam objektů, možných akcí, vstupních a výstupních Dokumentace API, tzn. seznam objektů, možných akcí, vstupních a výstupních
-parametrů je k vidění na https://api.vpsfree.cz/v2.0/.+parametrů je k vidění na https://api.vpsfree.cz/v3.0/.
  
 Bez přihlášení se zobrazuje seznam všech objektů, tj. i těch, se kterými můžou Bez přihlášení se zobrazuje seznam všech objektů, tj. i těch, se kterými můžou
Line 27: Line 27:
   * PHP - https://github.com/vpsfreecz/haveapi-client-php   * PHP - https://github.com/vpsfreecz/haveapi-client-php
   * JavaScript - https://github.com/vpsfreecz/haveapi-client-js   * JavaScript - https://github.com/vpsfreecz/haveapi-client-js
 +  * Webové rozhraní z HaveAPI - https://github.com/vpsfreecz/haveapi-webui
 +  * Souborový systém založený na FUSE - https://github.com/vpsfreecz/haveapi-fs
  
 Ukázka použití je vždy v ''README.md'' každého klienta. Obecně se klientovi Ukázka použití je vždy v ''README.md'' každého klienta. Obecně se klientovi
Line 58: Line 60:
 [[https://github.com/vpsfreecz/vpsfree-client|Klient pro Ruby]] obsahuje i CLI. [[https://github.com/vpsfreecz/vpsfree-client|Klient pro Ruby]] obsahuje i CLI.
 Pro správnou funkci vyžaduje Ruby >= 2.0 a nainstalované hlavičkové soubory Pro správnou funkci vyžaduje Ruby >= 2.0 a nainstalované hlavičkové soubory
-Ruby OpenSSL (většinou balíčky s příponou ''-dev'' či ''-devel'').+RubyOpenSSL a ncurses (většinou balíčky s příponou ''-dev'' či ''-devel'').
  
 <note> <note>
Line 75: Line 77:
 $ gem install vpsfree-client $ gem install vpsfree-client
 </code> </code>
 +
 +==== Instalace ve Windows 10 využitím Ubuntu Linux subsystem ====
 +
 +=== Instalace Ubuntu (Linux subsystemu Windows 10) ===
 +
 +  - ve Windows 10 povolit developer mode, nechat nainstalovat
 +  - přes Programy a funkce otevřít přidání součástí Windows, úplně dole zvolit Linux subsystem, nechat nainstalovat a restartovat počítač
 +  - po restartu jako admin spustit v nabídce Start bash
 +  - vytvořit Unix username a heslo
 +  - stisknout y a nechat nainstalovat základ Ubuntu
 +
 +=== Instalace závislostí ===
 +
 +<code bash>
 +sudo apt-get install ruby2.0 ruby2.0-dev libssl-dev make g++
 +</code>
 +
 +=== Quick & Dirty fix pro nastavení ruby2.0 jako výchozího namísto 1.9 ===
 +
 +<code bash>
 +sudo rm /usr/bin/ruby /usr/bin/gem /usr/bin/irb /usr/bin/rdoc /usr/bin/erb
 +sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby
 +sudo ln -s /usr/bin/gem2.0 /usr/bin/gem
 +sudo ln -s /usr/bin/irb2.0 /usr/bin/irb
 +sudo ln -s /usr/bin/rdoc2.0 /usr/bin/rdoc
 +sudo ln -s /usr/bin/erb2.0 /usr/bin/erb
 +sudo gem update --system
 +sudo gem pristine --all
 +</code>
 +
 +Zdroj: http://blog.costan.us/2014/04/restoring-ruby-20-on-ubuntu-1404.html
 +
 +=== Instalace vpsfree-client ===
 +
 +<code bash>
 +sudo gem install vpsfree-client
 +</code>
 +
 +
 +----
 +
  
 Po instalaci by v ''$PATH'' měl být k dispozici ''vpsfreectl''. Pokud tomu tak Po instalaci by v ''$PATH'' měl být k dispozici ''vpsfreectl''. Pokud tomu tak
Line 388: Line 431:
   * ''%%--timestamp%%''   * ''%%--timestamp%%''
   * ''%%--date-format FORMAT%%'' - formát dle [[http://ruby-doc.org/core-2.3.0/Time.html#method-i-strftime|Time#strftime]]   * ''%%--date-format FORMAT%%'' - formát dle [[http://ruby-doc.org/core-2.3.0/Time.html#method-i-strftime|Time#strftime]]
 +
 +===== Aktualizace =====
 +
 +Pro využití nových vlastností je potřeba klienta občas aktualizovat, což se
 +provede příkazem
 +
 +<code>
 +$ gem update vpsfree-client
 +</code>
 +
 +Následně můžeme odstranit starou verzi:
 +
 +<code>
 +$ gem cleanup vpsfree-client
 +</code>
 +
 +Tento příkaz odstraní pouze staré verze gemu ''vpsfree-client'', ale jeho
 +závislosti zůstanou. Pro odstranění všech starých gemů použijte příkaz
 +
 +<code>
 +$ gem cleanup -n  # vypíše, které gemy by smazal
 +$ gem cleanup  # smaže gemy
 +</code>
 +
 +===== Souborový systém ======
 +''haveapi-fs'' je souborový systém založený na FUSE, tzn. umožňuje připojit
 +API jako souborový systém z userspace. Objekty, akce a jejich parametry můžeme
 +procházet jako adresáře a soubory v libovolném programu. Instaluje se stejným způsobem
 +jako CLI, má jen jiný název:
 +
 +<code>
 +$ gem install haveapi-fs
 +</code>
 +
 +==== Použití ====
 +Použití ''haveapi-fs'' je podrobně popsáno v
 +[[https://github.com/vpsfreecz/haveapi-fs#usage|README.md]], zde jen ve
 +zkratce.
 +
 +<code>
 +$ haveapi-fs https://api.vpsfree.cz /mnt/api.vpsfree.cz
 +Username: mujlogin
 +Password:
 +
 +$ cd /mnt/api.vpsfree.cz
 +$ ls -1
 +auth_token
 +cluster
 +cluster_resource
 +dataset
 +dataset_plan
 +dns_resolver
 +environment
 +help.html
 +help.man
 +help.md
 +help.txt
 +ip_address
 +language
 +location
 +mail_template
 +migration_plan
 +node
 +object_history
 +os_template
 +snapshot_download
 +transaction
 +transaction_chain
 +user
 +user_session
 +vps
 +vps_config
 +</code>
 +
 +V každém adresáři se nachází soubory ''help.{html,txt,md,man}'', které popisují co
 +aktuální adresář obsahuje.
 +
 +<code>
 +$ cat vps/5685/hostname 
 +moje-vps
 +
 +$ echo lepsi-hostname > vps/5685/hostname
 +$ echo 1 > vps/5685/save
 +$ cat vps/5685/actions/update/status 
 +1
 +$ cat vps/5685/hostname
 +lepsi-hostname
 +</code>
 +
 +Z ukázky výše lze vidět, že jednotlivé atributy objektů lze měnit jednoduše
 +zapsáním do souboru. Akce uložení se vyvolá zapsáním jedničky, případně je to
 +i spustitelný soubor, takže jej můžeme spustit.
 +
 +Pro přehlednější vytváření/úpravu objektů lze použít YAML soubory
 +''create.yml'', resp. ''update.yml''. Tyto soubory obsahují parametry jako
 +hash a po uložení a uzavření souboru se příslušná akce provede.
 +
 +Tímto způsobem lze provést jakoukoli operaci v API.
  
 ===== Ukázky použití ===== ===== Ukázky použití =====
 Následují skripty demonstrují možnosti využití API. Tyto skripty lze Následují skripty demonstrují možnosti využití API. Tyto skripty lze
 spouštět odkudkoli -- manuálně, z cronu, apod. spouštět odkudkoli -- manuálně, z cronu, apod.
 +
 +<note>
 +Ač jsou tyto ukázky stále validní, klient v CLI už obsahuje
 +[[navody:vps:datasety#stahovani_zaloh|příkazy]], díky kterým je stahování záloh
 +ještě jednodušší.
 +</note>
  
 ==== Každodenní stahování záloh VPS ==== ==== Každodenní stahování záloh VPS ====
Line 486: Line 633:
 end end
 </code> </code>
 +