v1.8.2
This commit is contained in:
135
README.md
135
README.md
@@ -69,6 +69,13 @@ Decort SDK - это библиотека, написанная на языке G
|
||||
- [Пример выполнения запроса](#пример-выполнения-запроса-2)
|
||||
- [Пример валидации запросов, имеющих в своей структуре поле RAM (или MasterRam/WorkerRAM)](#пример-валидации-запросов-имеющих-в-своей-структуре-поле-ram-или-masterramworkerram)
|
||||
- [Пример выполнения запроса](#пример-выполнения-запроса-3)
|
||||
- [Работа с универсальным клиентом](#работа-с-универсальным-клиентом)
|
||||
- [Настройка конфигурации универсального клиента](#настройка-конфигурации-универсального-клиента)
|
||||
- [Пример конфигурации универсального клиента](#пример-конфигурации-универсального-клиента)
|
||||
- [Парсинг универсальной конфигурации из файла](#парсинг-универсальной-конфигурации-из-файла)
|
||||
- [Создание универсального клиента](#создание-универсального-клиента)
|
||||
- [Пример создания универсального клиента](#пример-создания-универсального-клиента)
|
||||
- [Пример выполнения запроса](#пример-выполнения-запроса-4)
|
||||
|
||||
## Установка
|
||||
|
||||
@@ -166,7 +173,7 @@ go get -u repository.basistech.ru/BASIS/decort-golang-sdk
|
||||
| SSLSkipVerify | bool | Нет | Пропуск проверки подлинности сертификата |
|
||||
| Token | string | Нет | JWT токен |
|
||||
|
||||
#### Пример конфигурации клиента
|
||||
##### Пример конфигурации клиента
|
||||
|
||||
```go
|
||||
import (
|
||||
@@ -1455,4 +1462,130 @@ func main() {
|
||||
log.Println(res)
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
## Работа с универсальным клиентом
|
||||
|
||||
Работа с универсальным клиентом позволяет использовать любой тип авторизации
|
||||
|
||||
### Настройка конфигурации универсального клиента
|
||||
|
||||
| Параметр | Тип | Обязательный | Описание |
|
||||
| --- | --- | --- | --- |
|
||||
| Decs3oConfig | *Config | Нет | Конфигурация Decs3o |
|
||||
| BVSConfig | *BVSConfig | Нет | Конфигурация BVS |
|
||||
| LegacyConfig | string | Нет | Конфигурация Legacy |
|
||||
|
||||
В универсальном клиенте можно использовать только один тип конфигурации одновременно.
|
||||
|
||||
#### Пример конфигурации универсального клиента
|
||||
|
||||
```go
|
||||
import (
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/config"
|
||||
)
|
||||
|
||||
func main(){
|
||||
// Настройка конфигурации
|
||||
BVSConfig := config.BVSConfig{
|
||||
AppID: "<APP_ID>",
|
||||
AppSecret: "<APP_SECRET>",
|
||||
SSOURL: "https://sso.digitalenergy.online",
|
||||
DecortURL: "https://mr4.digitalenergy.online",
|
||||
Username: "<Username>",
|
||||
Password: "<Password>",
|
||||
Retries: 5,
|
||||
}
|
||||
|
||||
BVSConfig.SetTimeout(5 * time.Minute)
|
||||
|
||||
cfg := config.UniversalConfig{
|
||||
BVSConfig: &BVScfg,
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### Создание универсального клиента
|
||||
|
||||
Создание клиента происходит с помощью функции-строителя `NewUniversal` из основного пакета `decort-sdk`, для избежания проблем с именами, пакету можно присвоить алиас `decort`. Функция принимает конфигурацию, возвращает структуру `ClientInterface`, с помощью которой можно взаимодействовать с платформой.
|
||||
|
||||
#### Пример создания универсального клиента
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/config"
|
||||
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// Настройка конфигурации
|
||||
legacyCfg := config.LegacyConfig{
|
||||
Username: "<USERNAME>",
|
||||
Password: "<PASSWORD>",
|
||||
DecortURL: "https://mr4.digitalenergy.online",
|
||||
Retries: 5,
|
||||
}
|
||||
|
||||
legacyCfg.SetTimeout(5 * time.Minute)
|
||||
|
||||
cfg := config.UniversalConfig{
|
||||
LegacyConfig: &legacyCfg,
|
||||
}
|
||||
|
||||
// Создание клиента
|
||||
universalClient := decort.NewUniversal(cfg)
|
||||
}
|
||||
```
|
||||
|
||||
#### Пример выполнения запроса
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/config"
|
||||
decort "repository.basistech.ru/BASIS/decort-golang-sdk"
|
||||
)
|
||||
|
||||
func main() {
|
||||
// Настройка конфигурации
|
||||
legacyCfg := config.LegacyConfig{
|
||||
Username: "<USERNAME>",
|
||||
Password: "<PASSWORD>",
|
||||
Domain: "dynamix",
|
||||
DecortURL: "https://mr4.digitalenergy.online",
|
||||
Retries: 5,
|
||||
}
|
||||
|
||||
legacyCfg.SetTimeout(5 * time.Minute)
|
||||
|
||||
cfg := config.UniversalConfig{
|
||||
LegacyConfig: &legacyCfg,
|
||||
}
|
||||
|
||||
// Создание клиента
|
||||
universalClient := decort.NewUniversal(cfg)
|
||||
|
||||
// Создание структуры запроса
|
||||
// CreateRequest - реквест на создание виртуальной машины
|
||||
req := kvmx86.CreateRequest{
|
||||
RGID: 123,
|
||||
Name: "compute",
|
||||
CPU: 4,
|
||||
RAM: 4096,
|
||||
ImageID: 321,
|
||||
}
|
||||
|
||||
// Выполнение запроса
|
||||
res, err := universalClient.CloudAPI().KVMX86().Create(context.Background(), req)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
fmt.Println(res)
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user