Knowledge base
Jak zacząć korzystać z API?
Posted by on 02.07.2013 11:20

Osoby rozpoczynające swoją przygodę z API Oktawave zadają nam najczęściej następujące pytania. Poniżej znajdziecie informacje, które pozwolą Wam na rozpoczęcie swojej przygody z naszym API.

 

1. Skąd można pobrać przykłady kodu aplikacji współpracujących z API Oktawave?

 Aby zweryfikować działanie konkretnych metod, najłatwiej jest zajrzeć do przykładowego kodu źródłowego aplikacji napisanych w różnych językach. Na liście poniżej znajdziesz przykłady kodu dla Pythona, PHP oraz Ruby'ego.

  1. Python. Zobacz kod CLI napisanego dla Oktawave.
  2. PHP. Pobierz i sprawdź te proste przykłady. Pamiętaj, by w pliku OktawaveClient.php ustawić zmienne private $USER = 'USER_DO_API'; oraz private $PASSWORD = 'PASS';, wpisując nazwę użytkownika i hasło takie samo jak do panelu administratora.
  3. Ruby. Zobacz kod pluginu do Chefa (tzw. knife) pozwalającego na integrację infrastruktury Oktawave z Chefem. 

 

2. Jak za pomocą API stworzyć nowe OCI, jednocześnie ustawiając jej klasę inną niż domyślna?

Aby stworzyć nowe OCI za pomocą API, należy skorzystać z funkcji CreateVirtualMachine. Funkcja ta przyjmuje wiele parametrów, a jednym z nich jest selectedClass (Nullable<Int32>), który oznacza właśnie klasę instancji. Klasa nie może być niższa niż minimalna klasa szablonu instancji. Parametr ten jest opcjonalny i przyjmuje wartości zgodne z poniższą listą.

  •     34    (v1.standard-2.2)
  •     35    (v1.standard-4.4)
  •     36    (v1.standard-8.8)
  •     289    (v1.standard-1.09)
  •     1047    (v1.standard-1.05)
  •     1048    (v1.standard-16.160
  •     1049    (v1.highmemory-16.32)
  •     1050    (v1.highmemory-16.64)
  •     1263    (v1.highmemory-1.4)
  •     1264    (v1.highmemory-2.8)
  •     1265    (v1.highmemory-4.16)
  •     1266    (v1.highmemory-8.32)
  •     1267    (v1.highmemory-16.96)
  •     1268    (v1.highcpu-2.09)
  •     1269    (v1.highcpu-4.2)
  •     1270    (v1.highcpu-8.4)
  •     1271    (v1.highcpu-16.8)

Należy pamiętać że ID mogą się zmieniać i najlepszym rozwiązaniem jest sprawdzenie dostępnych klas przed wywołaniem metody CreateVirtualMachine.

 

3. Jak sprawdzić ID klasy (typu) instancji, a także identyfikatory parametrów wszystkich metod (parametry słownikowe)?

Sprawdzanie słowników klas oraz parametrów metod można wykonać za pomocą metody GetDictionaryItems należącej do CommonService. Parametrem metody GetDictionaryItem jest INT dictionaryID, który dla słownika klas instancji przyjmuje wartość 12.

 

4. Jak zidentyfikować słownikowe parametry metod za pomocą pliku WSDL na przykładzie metody CloneVirtualMachine?
 

  • W przeglądarce należy w otworzyć adres: https://api.oktawave.com/ClientsService.svc?wsdl.
  • Następnie wyszukujemy metodę CloneVirtualMachine. W parametrach metody widzimy: name="cloneType" type="q60:Consts.DAL.CloneType".
  • cloneType jest parametrem określającym rodzaj wykonywanego klona, możliwe są tutaj dwie opcje.
    • Runtime – wykonywany jest klon z pełną inicjalizacją, zmianą hostname’a, ustawieniem nowych haseł administratora, aktywacji systemu (jeśli Windows), itp.
    • AbsoluteCopy – wykonywany jest klon bez operacji ingerujących w zawartość OCI. Zmieniany jest tylko adres IP w dhcp (aby można było tak stworzone OCI bezpiecznie właczyć). Wszystkie inne parametry/ustawienia/hasła/zawartość OCI pozostaję takie jak w OCI źródłowej.
  • Zatem wywołanie metody CloneVirtualMachine w parametrze CLoneType powinno otrzymać Runtime lub AbsoluteCopy.

 

5. Czy za pomocą API można korzystać z tzw. prywatnych szablonów?

Nie, obecnie platforma nie obsługuje natywnie prywatnych szablonów. Można natomiast wykorzystać mechanizm klonowania, aby stworzyć własne pseudo szablony. W tym celu należy przygotować OCI, które będzie pełniło rolę szablonu, a następnie je wyłączyć. ID tak przygotowanej OCI można wykorzystać w metodzie CloneVirtualMachine w parametrze virtualMachineId.

 

6. Jak sprawdzić identyfikator (virtualMachineID) konkretnej OCI?

W tym celu należy skorzystać z metody GetVirtualMachines, która w parametrze przyjmuje: searchParams (VirtualMachineSearchParams), gdzie należy przekazać ClientID czyli parametr identyfikujący konto. W odpowiedzi uzyskamy listę uproszczonych obiektów instancji OCI, a w każdym z nich będzie identyfikator VirtualMachineId. Metoda GetVirtualMachines zwróci wszystkie instancje OCI oraz aplikację. Wyniki możemy zawęzić poprzez użycie filtru w searchParams.

 

7. Jak sprawdzić  hasło do nowo utworzonej instancji OCI?

 Aby uzyskać dane dostępowe do nowo stworzonej OCI, należy pobrać wpisy z event loga metodą GetVirtualMachineHistories, podając jako ActionTypeFilter wartość 247 (czyli VirtualMachineAccessData).

(9 vote(s))
This article was helpful
This article was not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please enter the text you see in the image into the textbox below. This is required to prevent automated registrations and form submissions.