Uživatelské nástroje

Nástroje pro tento web


navody:vps:api

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
navody:vps:api [2018/05/26 21:28] – Cesta k binárce, diky warningu uxesnavody:vps:api [2021/12/09 12:08] – fix arch install instructions Aither
Řádek 2: Řádek 2:
 ====== API ====== ====== API ======
  
-Naše API běží na adrese https://api.vpsfree.cz. Pomocí API lze vykonat většinu +Naše API běží na adrese https://api.vpsfree.cz. Pomocí API lze vykonat vše 
-akcí, stejně jako z webového rozhraní. V API aktuálně není zahrnuta pouze +co jde naklikat ve webovém rozhraní, a více. Ve skutečnosti webové rozhraní 
-správa uživatelských profilů (adresae-mail, apod.). +běžící na https://vpsadmin.vpsfree.cz pro každý úkon volá API.
- +
-Ve skutečnosti webové rozhraní běžící na https://vpsadmin.vpsfree.cz API +
-využívá a pro každý úkon jej volá.+
  
 ===== Dokumentace API ===== ===== Dokumentace API =====
-Dokumentace API, tzn. seznam objektů, možných akcí, vstupních a výstupních +Dokumentace API, tzn. seznam zdrojů, možných akcí, vstupních a výstupních 
-parametrů je k vidění na https://api.vpsfree.cz/v5.0/.+parametrů je k vidění na https://api.vpsfree.cz/v6.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 zdrojů, tj. i těch, se kterými můžou
 pracovat pouze administrátoři. Vpravo nahoře se lze přihlásit stejnými údaji pracovat pouze administrátoři. Vpravo nahoře se lze přihlásit stejnými údaji
 jako do vpsAdminu a poté se zobrazí pouze objekty, akce a parametry, se jako do vpsAdminu a poté se zobrazí pouze objekty, akce a parametry, se
Řádek 26: Řádek 23:
  
   * Ruby - https://github.com/vpsfreecz/vpsfree-client   * Ruby - https://github.com/vpsfreecz/vpsfree-client
-  * PHP - https://github.com/vpsfreecz/haveapi-client-php +  * PHP - https://github.com/vpsfreecz/haveapi/tree/master/clients/php 
-  * JavaScript - https://github.com/vpsfreecz/haveapi-client-js+  * JavaScript - https://github.com/vpsfreecz/haveapi/tree/master/clients/js 
 +  * Go - https://github.com/vpsfreecz/haveapi/tree/master/clients/go
   * Webové rozhraní z HaveAPI - https://github.com/vpsfreecz/haveapi-webui   * Webové rozhraní z HaveAPI - https://github.com/vpsfreecz/haveapi-webui
   * Souborový systém založený na FUSE - https://github.com/vpsfreecz/haveapi-fs   * Souborový systém založený na FUSE - https://github.com/vpsfreecz/haveapi-fs
Řádek 46: Řádek 44:
  
 Druhou metodou je autentizace přes tokeny. Funguje to tak, že klient nejprve Druhou metodou je autentizace přes tokeny. Funguje to tak, že klient nejprve
-požádá o vytvoření tokenu, k tomu potřebuje jméno heslo. Jakmile dostane +požádá o vytvoření tokenu, k tomu potřebuje jménoheslo a připadně i TOTP. 
-token, může jméno a heslo zapomenout a dále se autentizuje získaným tokenem.+Jakmile klient dostane token, může jméno a heslo zapomenout a dále se autentizuje 
 +získaným tokenem.
  
 Tokeny mohou být několika typů s různě dlouhou životností: Tokeny mohou být několika typů s různě dlouhou životností:
Řádek 63: Řádek 62:
 Ruby, OpenSSL a ncurses (většinou balíčky s příponou ''-dev'' či ''-devel''). Ruby, OpenSSL a ncurses (většinou balíčky s příponou ''-dev'' či ''-devel'').
  
-<note>+==== Linux ==== 
 + 
 +==== Ubuntu 20.04 ==== 
 + 
 +=== Instalace závislostí === 
 + 
 +<code bash> 
 +sudo apt-get install ruby ruby-dev make g++ libssl-dev libncurses-dev 
 +</code> 
 + 
 +=== Instalace vpsfree-client === 
 + 
 +<code bash> 
 +sudo gem install vpsfree-client 
 +</code> 
 + 
 + 
 +====Instalace na Centos 7==== 
 + 
 +Zdrojový kod klienta lze najít [[https://github.com/vpsfreecz/vpsfree-client|zde]] 
 + 
 +vpsfree-client vyžaduje ruby >–2.30 
 + 
 +Ruby ve verzi nižší než [[https://www.ruby-lang.org/en/downloads/branches/|2.5 jsou EOL]] 
 + 
 +Aktuální Ruby je možné nainstalovat pomocí [[ https://linuxize.com/post/how-to-install-ruby-on-centos-7/|tohoto návodu]]. 
 + 
 +Například: 
 +<code> 
 +yum install -y openssl-devel readline-devel zlib-devel 
 +/build/vpsfree-client:curl -sL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash - 
 +# následně je zapotřebí přidat rbenv do PATH a provést trochu magie(snippet z .bashrc): 
 +export PATH="${PATH}:/root/.rbenv/bin" 
 +if [ -d '/root/.rbenv' ]; then 
 +  eval "$(rbenv init -)" 
 +fi 
 +/build/vpsfree-client:rbenv install 2.5.7 
 +/build/vpsfree-client:rbenv global 2.5.7 
 +#projistotu spustte nový bash který uvidí novou verzi ruby 
 +/build/vpsfree-client:bash 
 +#proveďte instalaci 
 +/build/vpsfree-client:gem install vpsfree-client 
 +#otestujeme 
 +/build/vpsfree-client:which vpsfreectl 
 +/root/.rbenv/shims/vpsfreectl 
 +/build/vpsfree-client:vpsfreectl -h 
 +Usage: /root/.rbenv/versions/2.5.7/bin/vpsfreectl [options] <resource> <action> [objects ids] [-- [parameters]] 
 +... 
 +</code> 
 +=============== 
 +====Instalace CLI na Linux distribucích založených na Arch Linux==== 
 +Testováno na [[https://manjaro.org/download/xfce/|Manjaro 18.04 Xfce]]: 
 + 
 +<code bash> 
 +sudo pacman -Syu ruby make gcc 
 +gem install vpsfree-client # nainstalujeme vpsfree-client (nepoužívejte tady SUDO install!) 
 +</code> 
 + 
 +Přidáme PATH k nainstalovaným gems do ''~./bashrc''
 + 
 +<code bash> 
 +sudo nano ~/.bashrc 
 +</code> 
 + 
 +Na konec souboru přidáme: 
 + 
 +<code bash> 
 +if command -v ruby &>/dev/null && command -v gem &>/dev/null; then 
 +    PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH" 
 +fi 
 +</code> 
 + 
 +Restartujeme shell ''exec $SHELL'' nebo počítač. Otestujeme funkčnost CLI, třeba příkazem: 
 +<code bash> 
 +vpsfreectl ip_traffic top 
 +</code> 
 + 
 +Výše uvedené příkazy nefungují na distribucích založených na Debian/Ubuntu a jiných. 
 + 
 +==== macOS ==== 
 Na OS X je nutné nainstalovat OpenSSL přes [[http://brew.sh/|Homebrew]] a až Na OS X je nutné nainstalovat OpenSSL přes [[http://brew.sh/|Homebrew]] a až
 poté se dá nainstalovat EventMachine (gem, jenž klient vyžaduje). poté se dá nainstalovat EventMachine (gem, jenž klient vyžaduje).
Řádek 71: Řádek 150:
 $ sudo gem install eventmachine -- --with-opt-include="/usr/local/opt/openssl/" $ sudo gem install eventmachine -- --with-opt-include="/usr/local/opt/openssl/"
 </code> </code>
-</note> 
  
 Nainstalovat jej lze pomocí ruby gems: Nainstalovat jej lze pomocí ruby gems:
Řádek 82: Řádek 160:
 gem vypíše PATH pod kterým lze najít nainstalovaný balíček gem vypíše PATH pod kterým lze najít nainstalovaný balíček
 <code bash> <code bash>
-WARNING:  You don\'t have /home/uxes/.gem/ruby/2.5.0/bin in your PATH,+WARNING:  You don\'t have /home/user/.gem/ruby/2.5.0/bin in your PATH,
    gem executables will not run.    gem executables will not run.
  
Řádek 88: Řádek 166:
 </note> </note>
  
-==== Instalace ve Windows 10 využitím Ubuntu Linux subsystem ==== +==== Windows ==== 
- +Instalace ve Windows 10 využitím Ubuntu Linux subsystem:
-=== Instalace Ubuntu (Linux subsystemu Windows 10) ===+
  
   - ve Windows 10 povolit developer mode, nechat nainstalovat   - ve Windows 10 povolit developer mode, nechat nainstalovat
Řádek 143: Řádek 220:
 </code> </code>
  
-==== Použití ====+==== Použití CLI ====
  
 <code> <code>
Řádek 187: Řádek 264:
  
 Available resources: Available resources:
-auth_token 
 cluster cluster
 cluster_resource cluster_resource
 +cluster_resource_package
 +cluster_resource_package.item
 dataset dataset
 dataset.snapshot dataset.snapshot
Řádek 199: Řádek 277:
 environment.config_chain environment.config_chain
 environment.dataset_plan environment.dataset_plan
 +host_ip_address
 integrity_check integrity_check
 integrity_fact integrity_fact
 integrity_object integrity_object
 ip_address ip_address
-ip_range 
 ip_traffic ip_traffic
 ip_traffic_monitor ip_traffic_monitor
Řádek 216: Řádek 294:
 migration_plan.vps_migration migration_plan.vps_migration
 network network
 +network_interface
 node node
 node.status node.status
Řádek 221: Řádek 300:
 os_template os_template
 pool pool
 +session_token
 snapshot_download snapshot_download
 +system_config
 transaction transaction
 transaction_chain transaction_chain
Řádek 228: Řádek 309:
 user.cluster_resource user.cluster_resource
 user.public_key user.public_key
 +user.mail_role_recipient
 +user.mail_template_recipient
 user.state_log user.state_log
 +user_cluster_resource_package
 +user_cluster_resource_package.item
 +user_namespace
 +user_namespace_map
 +user_namespace_map.entry
 user_session user_session
 vps vps
Řádek 234: Řádek 322:
 vps.config vps.config
 vps.feature vps.feature
-vps.ip_address 
 vps.mount vps.mount
 vps.outage_window vps.outage_window
Řádek 240: Řádek 327:
 vps.status vps.status
 vps_config vps_config
 +monitored_event
 +monitored_event.log
 +outage
 +outage.entity
 +outage.handler
 +outage_update
 +user_outage
 +vps_outage
 +vps_outage_mount
 +help_box
 +news_log
 +incoming_payment
 +payment_stats
 +user_account
 +user_payment
 +user_request
 +user_request.registration
 +user_request.change
 action_state action_state
 </code> </code>
Řádek 268: Řádek 373:
     -a, --auth METHOD                Authentication method     -a, --auth METHOD                Authentication method
     -s, --save                       Save credentials to config file for later     -s, --save                       Save credentials to config file for later
-        --username USER              User name+        --user USER                  User name
         --password PASSWORD          Password         --password PASSWORD          Password
         --token TOKEN                Token         --token TOKEN                Token
Řádek 686: Řádek 791:
 aither aither
 </maintainers> </maintainers>
 +
navody/vps/api.txt · Poslední úprava: 2024/01/02 21:06 autor: aither