This commit is contained in:
asteam
2025-09-26 19:17:30 +03:00
parent 48e2b0f2f9
commit 1ccc37a104
1022 changed files with 6440 additions and 1688 deletions

158
README.md
View File

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