@ -6,6 +6,7 @@ Dynamix SDK - это библиотека, написанная на языке
- Версия 9.0.х Dynamix-SDK соответствует 4.1.0 версии платформы
- Версия 9.0.х Dynamix-SDK соответствует 4.1.0 версии платформы
- Версия 10.0.х Dynamix-SDK соответствует 4.2.0 версии платформы
- Версия 10.0.х Dynamix-SDK соответствует 4.2.0 версии платформы
- Версия 11.0.х Dynamix-SDK соответствует 4.3.0 версии платформы
## Оглавление
## Оглавление
@ -75,7 +76,7 @@ Dynamix SDK - это библиотека, написанная на языке
Выполните команду в терминале:
Выполните команду в терминале:
```bash
```bash
go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v10
go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v11
```
```
## Список API
## Список API
@ -104,7 +105,9 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v10
- `KVMx86` - создание виртуальной машины x86;
- `KVMx86` - создание виртуальной машины x86;
- `LB` - управление балансировщиками нагрузки;
- `LB` - управление балансировщиками нагрузки;
- `Locations` - получение информации о grid площадки;
- `Locations` - получение информации о grid площадки;
- `Prometheus` - получение статистики prometheus;
- `RG` - управление ресурсными группами аккаунта;
- `RG` - управление ресурсными группами аккаунта;
- `SEP` - управление storage endpoint (sep);
- `Stack` - получение информации о вычислительных узлах;
- `Stack` - получение информации о вычислительных узлах;
- `Tasks` - получение информации о ходе выполнения асинхронных задач (например, создание кластера);
- `Tasks` - получение информации о ходе выполнения асинхронных задач (например, создание кластера);
- `VFPool` - управление пулом виртуальных сетевых функций;
- `VFPool` - управление пулом виртуальных сетевых функций;
@ -173,7 +176,7 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v10
```go
```go
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
)
)
func main(){
func main(){
@ -198,7 +201,7 @@ func main(){
```go
```go
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
)
)
func main() {
func main() {
@ -214,7 +217,7 @@ func main() {
"appId": "< APP_ID > ",
"appId": "< APP_ID > ",
"appSecret": "< APP_SECRET > ",
"appSecret": "< APP_SECRET > ",
"ssoUrl": "https://sso.digitalenergy.online",
"ssoUrl": "https://sso.digitalenergy.online",
"Url": "https://mr4.digitalenergy.online",
"decort Url": "https://mr4.digitalenergy.online",
"retries": 5,
"retries": 5,
"timeout": "5m",
"timeout": "5m",
"sslSkipVerify": false
"sslSkipVerify": false
@ -227,7 +230,7 @@ func main() {
appId: < APP_ID >
appId: < APP_ID >
appSecret: < APP_SECRET >
appSecret: < APP_SECRET >
ssoUrl: https://sso.digitalenergy.online
ssoUrl: https://sso.digitalenergy.online
Url: https://mr4.digitalenergy.online
decort Url: https://mr4.digitalenergy.online
retries: 5
retries: 5
timeout: 5m
timeout: 5m
sslSkipVerify: false
sslSkipVerify: false
@ -235,7 +238,7 @@ sslSkipVerify: false
### Создание клиента
### Создание клиента
Создание клиента происходит с помощью функции-строителя `New` из основного пакета `d ynamix -sdk`, для избежания проблем с именами, пакету можно присвоить алиас ``. Функция принимает конфигурацию, возвращает структуру ` Client`, с помощью которой можно взаимодействовать с платформой.
Создание клиента происходит с помощью функции-строителя `New` из основного пакета `d ecort -sdk`, для избежания проблем с именами, пакету можно присвоить алиас `decort ` . Функция принимает конфигурацию, возвращает структуру ` Decort Client`, с помощью которой можно взаимодействовать с платформой.
### Пример
### Пример
@ -243,8 +246,8 @@ sslSkipVerify: false
package main
package main
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -253,14 +256,14 @@ func main() {
AppID: "< APPID > ",
AppID: "< APPID > ",
AppSecret: "< APPSECRET > ",
AppSecret: "< APPSECRET > ",
SSOURL: "https://sso.digitalenergy.online",
SSOURL: "https://sso.digitalenergy.online",
URL: "https://mr4.digitalenergy.online",
Decort URL: "https://mr4.digitalenergy.online",
Retries: 5,
Retries: 5,
}
}
cfg.SetTimeout(5 * time.Minute)
cfg.SetTimeout(5 * time.Minute)
// Создание клиента
// Создание клиента
client := .New(cfg)
client := decort .New(cfg)
}
}
```
```
@ -288,7 +291,9 @@ func main() {
- `pkg/cloudapi/kvmx86` - для `KVMX86`
- `pkg/cloudapi/kvmx86` - для `KVMX86`
- `pkg/cloudapi/lb` - для `LB`
- `pkg/cloudapi/lb` - для `LB`
- `pkg/cloudapi/locations` - для `Locations`
- `pkg/cloudapi/locations` - для `Locations`
- `pkg/cloudapi/prometheus` - для `Prometheus`
- `pkg/cloudapi/rg` - для `RG`
- `pkg/cloudapi/rg` - для `RG`
- `pkg/cloudapi/sep` - для `SEP`
- `pkg/cloudapi/stack` - для `Stack`
- `pkg/cloudapi/stack` - для `Stack`
- `pkg/cloudapi/tasks` - для `Tasks`
- `pkg/cloudapi/tasks` - для `Tasks`
- `pkg/cloudapi/vfpool` - для `VFPool`
- `pkg/cloudapi/vfpool` - для `VFPool`
@ -421,9 +426,9 @@ type CreateRequest struct {
package main
package main
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /pkg/cloudapi/kvmx86"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /pkg/cloudapi/kvmx86"
)
)
func main() {
func main() {
@ -432,7 +437,7 @@ func main() {
AppID: "< APPID > ",
AppID: "< APPID > ",
AppSecret: "< APPSECRET > ",
AppSecret: "< APPSECRET > ",
SSOURL: "https://sso.digitalenergy.online",
SSOURL: "https://sso.digitalenergy.online",
URL: "https://mr4.digitalenergy.online",
Decort URL: "https://mr4.digitalenergy.online",
Retries: 5,
Retries: 5,
}
}
@ -474,8 +479,9 @@ func main() {
- `.KVMx86()` - для работы с `KVMX86`
- `.KVMx86()` - для работы с `KVMX86`
- `.LB()` - для работы с `LB`
- `.LB()` - для работы с `LB`
- `.Locations()` - для работы с `Locations`
- `.Locations()` - для работы с `Locations`
- `.Prometheus()` - для работы с `Prometheus`
- `.RG()` - для работы с `RG`
- `.RG()` - для работы с `RG`
- `. Resmon()` - для работы с `Resmon `
- `. SEP()` - для работы с `SEP `
- `.Stack()` - для работы с `Stack`
- `.Stack()` - для работы с `Stack`
- `.Tasks()` - для работы с `Tasks`
- `.Tasks()` - для работы с `Tasks`
- `.VFPool()` - для работы с `VFPool`
- `.VFPool()` - для работы с `VFPool`
@ -536,9 +542,9 @@ import (
"log"
"log"
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /pkg/cloudapi/kvmx86"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /pkg/cloudapi/kvmx86"
)
)
func main() {
func main() {
@ -586,9 +592,9 @@ import (
"log"
"log"
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /pkg/cloudapi/account"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /pkg/cloudapi/account"
)
)
func main() {
func main() {
@ -766,9 +772,9 @@ import (
"context"
"context"
"log"
"log"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /pkg/cloudbroker/compute"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /pkg/cloudbroker/compute"
)
)
func main() {
func main() {
@ -824,9 +830,9 @@ import (
"log"
"log"
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /pkg/cloudapi/bservice"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /pkg/cloudapi/bservice"
)
)
func main() {
func main() {
@ -870,7 +876,7 @@ func main() {
- ToString(): строковое представление результата выполнения задачи
- ToString(): строковое представление результата выполнения задачи
- ID() и Name(): получение ID и имени созданного в результате выполнения задачи р е с у р с а
- ID() и Name(): получение ID и имени созданного в результате выполнения задачи р е с у р с а
- ToMaps(): получение списка карт, содержащих информацию о дисках, восстановленных в результате выполнения задачи.
- ToMaps(): получение списка карт, содержащих информацию о дисках, восстановленных в результате выполнения задачи.
В с е методы оборудованы возвратом ошибок. Непустая ошибка означает, что из поля Result нельзя получить информацию, которую предоставляет метод.
В с е методы оборудованы возвратом ошибок. Непустая ошибка означает, что из поля Result нельзя получить информацию, которую предоставляет метод.
```go
```go
package main
package main
@ -879,10 +885,10 @@ import (
"log"
"log"
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /pkg/cloudapi/tasks"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /pkg/cloudapi/tasks"
tasks_cb "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /pkg/cloudbroker/tasks"
tasks_cb "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /pkg/cloudbroker/tasks"
)
)
func main() {
func main() {
@ -962,7 +968,7 @@ func main() {
```go
```go
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
)
)
func main(){
func main(){
@ -986,7 +992,7 @@ func main(){
```go
```go
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
)
)
func main() {
func main() {
@ -1027,8 +1033,8 @@ sslSkipVerify: true
package main
package main
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -1055,8 +1061,8 @@ package main
import (
import (
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -1138,7 +1144,7 @@ func main() {
```go
```go
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
)
)
func main(){
func main(){
@ -1166,7 +1172,7 @@ func main(){
```go
```go
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
)
)
func main() {
func main() {
@ -1183,7 +1189,7 @@ func main() {
```go
```go
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
)
)
func main() {
func main() {
@ -1249,8 +1255,8 @@ func main() {
package main
package main
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -1283,8 +1289,8 @@ package main
import (
import (
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -1324,8 +1330,8 @@ package main
import (
import (
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -1363,8 +1369,8 @@ package main
import (
import (
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -1417,11 +1423,11 @@ import (
"log"
"log"
"os"
"os"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /internal/constants"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /internal/constants"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /internal/validators"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /internal/validators"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /pkg/cloudbroker/kvmx86"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /pkg/cloudbroker/kvmx86"
)
)
func main() {
func main() {
@ -1477,13 +1483,13 @@ func main() {
| BVSConfig | *BVSConfig | Нет | Конфигурация BVS |
| BVSConfig | *BVSConfig | Нет | Конфигурация BVS |
| LegacyConfig | string | Нет | Конфигурация Legacy |
| LegacyConfig | string | Нет | Конфигурация Legacy |
В универсальном клиенте можно использовать только один тип конфигурации одновременно.
В универсальном клиенте можно использовать только один тип конфигурации одновременно.
#### Пример конфигурации универсального клиента
#### Пример конфигурации универсального клиента
```go
```go
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
)
)
func main(){
func main(){
@ -1516,8 +1522,8 @@ func main(){
package main
package main
import (
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -1548,8 +1554,8 @@ package main
import (
import (
"fmt"
"fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 /config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 /config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v10 "
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v11 "
)
)
func main() {
func main() {
@ -1589,4 +1595,36 @@ func main() {
fmt.Println(res)
fmt.Println(res)
}
}
```
## Проверка соответствия версии платформы и версии dynamix
С версии v1.11.0 для каждого клиента добавлен метод `Check` для проверки соответствия decort-sdk и платформы dynamix.
В случае соответсвия decort-sdk и платформы dynamix возвращается структура, содержащая информацию о версии и актуальном билде платформы.
#### Пример выполнения запроса
```go
import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v11/config"
)
func main(){
// Настройка конфигурации
config := config.Config{
AppID: "< APP_ID > ",
AppSecret: "< APP_SECRET > ",
SSOURL: "https://sso.digitalenergy.online",
DecortURL: "https://mr4.digitalenergy.online",
Retries: 5,
SSLSkipVerify: true,
}
// Создание клиента
client := decort.New(config)
// Проверка соответствия версии
checkInfo, err := client.Check()
}
```
```