main v1.12.1
asteam 1 month ago
parent 7dacf35cd6
commit e10ee7f801

@ -1,225 +1,27 @@
## Version 1.12.0
## Version 1.12.1
### Удалено
### Добавлено
#### account
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-450 | Метод `AddZone` и структура запроса `AddZoneRequest` в cloudbroker/account |
| BGOS-451 | Метод `RemoveZone` и структура запроса `RemoveZoneRequest` в cloudbroker/account |
| BGOS-459 | Опциональные поля `ZoneIDs` и `DefaultZoneID` в структуру ответа `RecordAccount` в cloudapi/account и в структуру ответа `InfoAccount` в cloudbroker/account, опциональное поле `DefaultZoneID` в структуру запроса `UpdateRequest` в cloudapi/account и cloudbroker/account и опциональные поля `ZoneIDs` и `DefaultZoneID` в структуру запроса `CreateRequest` в cloudbroker/account |
| BGOS-478 | Опциональное поле `Emails` в структуру `ACL` входящую в структуру ответа `RecordAccount` в cloudbroker/account |
| BGOS-495 | Поле `AccountID` в структуру ответа `RecordLB` в cloudapi/lb и cloudbroker/lb |
| BGOS-528 | Значение `trunk` для поля `ComputeFeatures` в cloudbroker/account |
#### bservice
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-361 | Добавлена группа ручек `bservice` в cloudbroker |
| BGOS-448 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudapi/bservice |
| BGOS-456 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudbroker/bservice |
| BGOS-460 | Опциональное поле `ZoneId` в структуру запроса `CreateRequest` и в структуры ответа `RecordBasicService` и `ItemBasicService` в cloudapi/bservice и опциональное поле `ZoneID` в структуру запроса `CreateRequest` и в структуры ответа `RecordBasicService` и `ItemBasicService` в cloudbroker/bservice |
| BGOS-559 | В структуру ответа `RecordACL` добавлено поле `Emails` в cloudapi/account |
#### compute
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-445 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudapi/compute |
| BGOS-453 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudbroker/compute |
| BGOS-461 | Поле `ZoneID` в структуры ответа `RecordCompute` и `ItemComputeDisk` в cloudapi/compute и поле `ZoneID` в структуры ответа `RecordCompute` и `InfoCompute` в cloudbroker/compute |
| BGOS-491 | Методы `AbortSharedSnapshotMerge` и `SharedSnapshotMergeStatus` и структуры запроса `AbortSharedSnapshotMergeRequest` и `SharedSnapshotMergeStatusRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-493 | Метод `GuestAgentDisable` и структура запроса `GuestAgentDisableRequest` в cloudapi/compute и в cloudbroker/compute|
| BGOS-493 | Метод `GuestAgentEnable` и структура запроса `GuestAgentEnableRequest` в cloudapi/compute и в cloudbroker/compute|
| BGOS-493 | Метод `GuestAgentExecuteRequest` и структура запроса `GuestAgentExecuteRequest` в cloudapi/compute и в cloudbroker/compute|
| BGOS-493 | Метод `GuestAgentFeatureUpdateRequest` и структура запроса `GuestAgentFeatureUpdateRequest` в cloudapi/compute и в cloudbroker/compute|
| BGOS-493 | Метод `GuestAgentFeatureGetRequest` и структура запроса `GuestAgentFeatureGetRequest` в cloudapi/compute и в cloudbroker/compute|
| BGOS-497 | Метод `AsyncMigrate` в cloudbroker/compute |
| BGOS-505 | Поддержка NetType `SDN` и `TRUNK` структурах запросов `Interface` и `NetAttachRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-505 | Опциональное поле `SDNInterfaceID` в структуру запроса `Interface` в cloudapi/compute и cloudbroker/compute |
| BGOS-506 | Поле `SDNInterfaceID` в структуру ответа `ItemVNFInterface` в cloudapi/compute|
| BGOS-506 | Поле `SDNInterfaceID` в структуру ответа `ItemInterface` в cloudbroker/compute |
| BGOS-510 | Поддержка NetType `EMPTY` структурах запросов `NetAttachRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-535 | Метод `ChangeMTU` и структура запроса `ChangeMTURequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-509 | Опциональное поле `SDNInterfaceID` в структуру запроса `NetAttachRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-543 | Поля `LiveMigrationJobID` и `QemuQuest` и структура ответа `QemuQuest` в структуры ответа `ItemCompute`, `RecordCompute` в cloudapi/compute и `RecordCompute`, `InfoCompute` в cloudbroker/compute |
#### extnet
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-452 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudbroker/extnet |
| BGOS-462 | Поле `ZoneID` в структуру ответа `RecordExtNet` в cloudapi/extnet и поле `ZoneID` в структуры ответа `RecordExtNet` и `ItemExtNet` в cloudbroker/extnet |
| BGOS-462 | Опциональное поле `ZoneID` в структуру запроса `CreateRequest` в cloudbroker/extnet |
| BGOS-534 | Опциональное поле `MTU` в структуры запроса `CreateRequest` и `UpdateRequest` в cloudbroker/extnet |
| BGOS-534 | Поле `MTU` в структуру ответа `RecordExtNet` в cloudapi/extnet и в структуры ответа `ItemExtNet` и `RecordExtNet` в cloudbroker/extnet |
| BGOS-530 | Метод `SetHAMode` и структура запроса `SetHAModeRequest` в cloudbroker/extnet |
| BGOS-531 | Опциональные поля `PriVNFDevIP`, `SecVNFDevIP` и `HAMode` в структуру запроса `CreateRequest` в cloudbroker/extnet |
| BGOS-531 | Опциональное поле `Device` в структуру запроса `DeviceMigrateRequest` в cloudbroker/extnet |
| BGOS-531 | Поля `SecVNFDevID` и `Redundant` в структуры ответа `ItemExtNet` и `RecordExtNet` в cloudbroker/extnet |
| BGOS-531 | Поля `SecVNFDevID` и `Redundant` в структуру ответа `RecordExtNet` в cloudapi/extnet |
| BGOS-544 | Поле `PreReservations` в структуру ответа `RecordExtNet` в cloudapi/extnet и cloudbroker/extnet |
#### grid
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-549 | Поля `NetworkModes`, `SDNSupport` в структуры ответа `ItemGridList` и `RecordGrid` в cloudbroker/grid |
#### image
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-481 | Метод `AsyncCreate` в cloudapi/image |
#### k8s
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-449 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudapi/k8s |
| BGOS-463 | Поле `ZoneID` в структуры ответа `RecordK8S` и `ItemK8SCluster` в cloudapi/k8s и поле `ZoneID` в структуры ответа `RecordK8S` и `ItemK8S` в cloudbroker/k8s |
| BGOS-463 | Опциональное поле `ZoneID` в структуру запроса `CreateRequest` в cloudapi/k8s и в cloudbroker/k8s |
| BGOS-457 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudbroker/k8s |
#### kvmx86
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-466 | Опциональное поле `ZoneID` в структуры запроса `CreateRequest` и `CreateBlankRequest` в cloudapi/kvmx86 и в структуры запроса `CreateRequest`, `CreateBlankRequest` и `MassCreateRequest` в cloudbroker/kvmx86 |
#### lb
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-447 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudapi/lb |
| BGOS-455 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudbroker/lb |
| BGOS-464 | Поле `ZoneID` в структуру ответа `RecordLB` в cloudapi/lb и поле `ZoneID` в структуры ответа `RecordLB` и `ItemLBList` в cloudbroker/lb |
| BGOS-464 | Опциональное поле `ZoneID` в структуру запроса `CreateRequest` в cloudapi/lb и в cloudbroker/lb |
#### locations
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-546 | Поле `NetworkModes` в структуре ответа `ItemLocation` в cloudapi/locations |
| BGOS-546 | Метод `ListGet` в cloudapi/locations |
#### node
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-484 | Новое значение `is_powered` в поле `action` в структуре запроса `ApplyIpmiActionRequest` в cloudbroker/node |
| BGOS-547 | Поля `SDNHypervisorName` и `ZoneID` в структуру ответа `ItemNode` и поле `ZoneID` в структуру ответа `RecordNode` в cloudbroker/node |
#### rg
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-504 | Поле `SDNAccessGroupID` в структуру запроса `CreateRequest` в cloudapi/rg и cloudbroker/rg |
| BGOS-504 | Поле `SDNAccessGroupID` в структуры ответа `RecordResourceGroup`, `ItemResourceGroup` в cloudapi/rg и в структуру ответа `ItemRG` в cloudbroker/rg |
| BGOS-528 | Значение `trunk` для поля `ComputeFeatures` в cloudbroker/rg |
#### trunk
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-527 | Группа ручек `trunk` в cloudapi и в cloudbroker |
#### vins
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-446 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudapi/vins |
| BGOS-454 | Метод `MigrateToZone` и структура запроса `MigrateToZoneRequest` в cloudbroker/vins |
| BGOS-465 | Поле `ZoneID` в структуру ответа `RecordVINS` в cloudapi/vins и в структуры ответа `RecordVINS` и `ItemVINS` в cloudbroker/vins |
| BGOS-465 | Опциональное поле `ZoneID` в структуры запроса `CreateInRGRequest` и `CreateInAccountRequest` в cloudapi/vins и в cloudbroker/vins |
| BGOS-550 | Поле `SDNAccessGroupID` в структуру ответа `ItemVNFInterface` в cloudapi/vins и в структуру ответа `ItemInterface` в cloudbroker/vins |
#### zone
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-435 | Добавлена группа ручек zone в cloudapi и в cloudbroker |
#### user
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-494 | Опциональное поле `Provider` в структурe запроса `CreateRequest` в cloudbroker/user |
| BGOS-526 | Опциональное поле `Email` в структуру запроса `ListRequest` в cloudbroker/user |
| BGOS-502 | Поле `Blocked` в структуру ответа `ItemUser`, методы `Block` и `Unblock` и структуры запроса `BlockRequest` и `UnblockRequest` в cloudbroker/user |
| BGOS-566 | Поле `TrunkTags` в структуру `ItemVNFInterface` в структуре ответа `RecordCompute` в cloudapi/compute и в структуру `ItemInterface` в структуре ответа `RecordCompute` в cloudbroker/compute |
| BGOS-492 | Метод `MigrateAbort` и структура запроса `MigrateAbortRequest` в cloudbroker/compute |
### Исправлено
#### account
#### accounts
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-512 | Исправлено возвращаемое значение с bool на string в методах `Delete` и `Restore` в cloudapi/account и в методах `Delete`, `Restore`, `DeleteAccounts`, `DisableAccounts` и `EnableAccounts` в cloudbroker/account |
#### bservice
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-483 | Изменен тип параметра `Permanently` на опциональный в структуре `DeleteRequest` в cloudbroker/bservice |
#### compute
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-433 | Исправлена ошибка валидации поля LoaderType для всех структур в cloudapi/compute и в cloudbroker/compute |
| BGOS-458 | Изменен тип параметров `CPUPin`, `HPBacked`, `AutoStart`, `HotResize` с bool на interface в структуре `UpdateRequest` cloudapi/compute и в cloudbroker/compute |
| BGOS-503 | Исправлен тип поля `Explicit` cо string на bool в структурах ответа `ItemComputeACL` в cloudbroker/compute |
| BGOS-537 | В методе `GetLog` вызов api осуществляется с методом get в cloudapi/compute и в cloudbroker/compute |
#### disk
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-468 | Исправлен тип поля `UpdatedBy` c uint64 на string в структурах ответа `ItemComputeDisk` в cloudapi/compute и `ItemDisk` в cloudbroker/compute |
#### extnet
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-548 | В структурах ответа `RecordExtNet` в cloudapi/extnet и cloudbroker/extnet и `ItemExtNet` в cloudbroker/extnet поле `networkID` заменено на поле `networkIDs` |
#### flipgroup
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-482 | Изменен тип параметра `ClientType` на опциональный в структуре `CreateRequest` в cloudapi/bservice и cloudbroker/bservice |
| BGOS-559 | Структура ответа `ItemAccount` использует структуру `ListRecordACL` в поле `ACL` в cloudapi/account |
#### image
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-481 | Метод `SyncCreate` заменен на метод `AsyncCreateImage` со структурой запроса `CreateRequest` в cloudbroker/image |
#### lb
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-538 | Изменен тип поля `SysctlParams` в структурах ответа `RecordLB` и `ItemLBList` в cloudapi/lb и cloudbroker/lb |
#### rg
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-540 | Тип возвращаемого значения методов `MassEnable`, `MassDisable`, `MassDelete` с bool на string в cloudbroker/rg |
### Удалено
#### account
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-541 | Опциональное поле `Reason` в структуре запроса `DisableEnableRequest` в cloudapi/account |
| BGOS-541 | Опциональное поле `Reason` в структурах запроса `DeleteRequest`, `DisableRequest`, `DisableAccountsRequest`, `RestoreRequest` в cloudbroker/account |
#### compute
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-536 | Поля `Order` и `VMID` в структуре ответа `ItemComputeDisk` в cloudapi/compute и в структуре ответа `ItemDisk` в cloudbroker/compute |
| BGOS-551 | Значение `SVA_KVM_X86` в поле `Driver` в структурах запроса `CreateRequest` и `CreateBlankRequest` в cloudapi/compute |
#### disks
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-480 | Опциональное поле `Architecture` в структурах запроса `FromPlatformDiskRequest` в cloudapi/disks и в cloudbroker/disks |
#### extnet
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-531 | Опциональное поле `VNFDevIP` в структуре запроса `CreateRequest` в cloudbroker/extnet |
#### image
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-480 | Опциональное поле `Architecture` в структурах запроса `CreateRequest`, `ListRequest` в cloudapi/image и `CreateRequest`, `ListRequest`, `CreateCDROMImageRequest` в cloudbroker/image |
| BGOS-489 | Поле `Meta` в структуре ответа `ItemListStacks` в cloudbroker/image |
#### tasks
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-500 | Опциональное поле `GUID` в структурах ответа `ItemAsyncTask` в cloudapi/tasks и `ItemTask` в cloudbroker/tasks |
#### user
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-494 | Опциональное поле `Groups` в структурe запроса `CreateRequest` в cloudbroker/user |
| BGOS-564 | Загрузка образов в cloudbroker/image |

@ -1,3 +1,6 @@
# Внимание
Данная версия предназначена только для версии платформы 4.4.0 build 963!
# Decort SDK
Decort SDK - это библиотека, написанная на языке GO, позволяющая взаимодействовать с API облачной платформы **DECORT**. Библиотека содержит в себе структуры и методы, необходимые для отправки запросов. Decort SDK имеет встроенный http-клиент и поддерживает разные способы авторизации на платформе. Библиотека так же содержит в себе модели ответов от платформы.
@ -122,6 +125,7 @@ go get -u repository.basistech.ru/BASIS/decort-golang-sdk
- `SEP` - управление storage endpoint (sep);
- `Stack` - получение информации о вычислительных узлах;
- `Tasks` - получение информации о ходе выполнения асинхронных задач (например, создание кластера);
- `Trunk` - получение информации о транковых портах;
- `VFPool` - управление пулом виртуальных сетевых функций;
- `VINS` - управление виртуальными изолированными сетями;
- `Zone` - управление зонами.
@ -156,6 +160,7 @@ go get -u repository.basistech.ru/BASIS/decort-golang-sdk
- `SEP` - управление storage endpoint (sep);
- `Stack` - получение информации о вычислительных узлах;
- `Tasks` - получение информации о ходе выполнения асинхронных задач (например, создание кластера);
- `Trunk` - управление транковыми портами;
- `User` - управление пользователями (индивидуально);
- `VGPU` - управление виртуальными графическими процессорами;
- `VFPool` - управление пулом виртуальных сетевых функций;
@ -346,7 +351,7 @@ func main() {
- `pkg/cloudbroker/vgpu` - для `VGPU`
- `pkg/cloudbroker/vfpool` - для `VFPool`
- `pkg/cloudbroker/vins` - для `VINS`
- `pkg/cloudapi/zone` - для `Zone`
- `pkg/cloudbroker/zone` - для `Zone`
Все поля структуры имеют описание, в которых содержится:

@ -7,7 +7,7 @@ import (
var accounts = ListAccounts{
Data: []ItemAccount{
{
ACL: []RecordACL{
ACL: []ListRecordACL{
{
IsExplicit: true,
GUID: "",
@ -25,7 +25,7 @@ var accounts = ListAccounts{
UpdatedTime: 1676645275,
},
{
ACL: []RecordACL{
ACL: []ListRecordACL{
{
IsExplicit: true,
GUID: "",
@ -43,7 +43,7 @@ var accounts = ListAccounts{
UpdatedTime: 1676645275,
},
{
ACL: []RecordACL{
ACL: []ListRecordACL{
{
IsExplicit: true,
GUID: "",

@ -1,7 +1,34 @@
package account
// Access Control List
type ListRecordACL struct {
// Whether access is explicitly specified
IsExplicit bool `json:"explicit"`
// GUID
GUID string `json:"guid"`
// Access rights
Rights string `json:"right"`
// Status
Status string `json:"status"`
// Account Type
Type string `json:"type"`
// Account owner ID
UgroupID string `json:"userGroupId"`
// Is it possible to remove
CanBeDeleted bool `json:"canBeDeleted"`
}
// Access Control List
type RecordACL struct {
// Emails
Emails []string `json:"emails"`
// Whether access is explicitly specified
IsExplicit bool `json:"explicit"`
@ -51,7 +78,7 @@ type ResourceLimits struct {
// Main information in one of if the list of accounts
type ItemAccount struct {
// Access Control List
ACL []RecordACL `json:"acl"`
ACL []ListRecordACL `json:"acl"`
// Compute Features
ComputeFeatures []string `json:"computeFeatures"`

@ -709,6 +709,9 @@ type ItemVNFInterface struct {
// Target
Target string `json:"target"`
// Trunk tags
TrunkTags string `json:"trunk_tags"`
// Type
Type string `json:"type"`

@ -150,7 +150,7 @@ type CreateRequest struct {
// Required: false
CustomFields string `url:"customFields,omitempty" json:"customFields,omitempty"`
// Type of compute Stateful (KVM_X86) or Stateless (SVA_KVM_X86)
// Type of compute Stateful (KVM_X86)
// Required: false
Driver string `url:"driver,omitempty" json:"driver,omitempty" validate:"omitempty,computeDriver"`

@ -57,7 +57,7 @@ type CreateBlankRequest struct {
// Required: false
Interfaces []Interface `url:"-" json:"interfaces,omitempty" validate:"omitempty,dive"`
// Type of compute Stateful (KVM_X86) or Stateless (SVA_KVM_X86)
// Type of compute Stateful (KVM_X86)
// Required: false
Driver string `url:"driver,omitempty" json:"driver,omitempty" validate:"omitempty,computeDriver"`

@ -0,0 +1,35 @@
package compute
import (
"context"
"net/http"
"strings"
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
)
// MigrateAbortRequest struct to abort migration
type MigrateAbortRequest struct {
// ID of the compute instance
// Required: true
ComputeID uint64 `url:"compute_id" json:"compute_id" validate:"required"`
}
// MigrateAbort aborts compute migration
func (c Compute) MigrateAbort(ctx context.Context, req MigrateAbortRequest) (string, error) {
err := validators.ValidateRequest(req)
if err != nil {
return "", validators.ValidationErrors(validators.GetErrors(err))
}
url := "/cloudbroker/compute/migrate_abort"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req)
if err != nil {
return "", err
}
result := strings.ReplaceAll(string(res), "\"", "")
return result, nil
}

@ -573,6 +573,9 @@ type ItemInterface struct {
// Target
Target string `json:"target"`
// Trunk tags
TrunkTags string `json:"trunk_tags"`
// Type
Type string `json:"type"`

@ -97,7 +97,9 @@ func (i Image) CreateImage(ctx context.Context, req CreateRequest) (uint64, erro
url := "/cloudbroker/image/createImage"
res, err := i.client.DecortApiCall(ctx, http.MethodPost, url, req)
syncReq := asyncWrapperCreateRequest{CreateRequest: req, AsyncMode: false}
res, err := i.client.DecortApiCall(ctx, http.MethodPost, url, syncReq)
if err != nil {
return 0, err
}
@ -117,7 +119,7 @@ func (i Image) AsyncCreateImage(ctx context.Context, req CreateRequest) (string,
return "", validators.ValidationErrors(validators.GetErrors(err))
}
url := "/cloudbroker/image/create"
url := "/cloudbroker/image/createImage"
asyncReq := asyncWrapperCreateRequest{CreateRequest: req, AsyncMode: true}

@ -154,7 +154,7 @@ type CreateRequest struct {
// Required: false
CustomField string `url:"customFields,omitempty" json:"customFields,omitempty"`
//Type of compute Stateful (KVM_X86) or Stateless (SVA_KVM_X86)
//Type of compute Stateful (KVM_X86)
// Required: false
Driver string `url:"driver,omitempty" json:"driver,omitempty"`

@ -61,7 +61,7 @@ type CreateBlankRequest struct {
// Required: false
Description string `url:"desc,omitempty" json:"desc,omitempty"`
//Type of compute Stateful (KVM_X86) or Stateless (SVA_KVM_X86)
//Type of compute Stateful (KVM_X86)
// Required: false
Driver string `url:"driver,omitempty" json:"driver,omitempty"`

@ -21,8 +21,6 @@
Примечание: тесты можно запускать напрямую методами среды разработки либо из командной строки из нужной директории, например командой `go test -v -run <TestName>`, где `<TestName>` - название запускаемого теста.
Примечание 2: все тесты, кроме `TestGetAllPaths` при первом запуске генерируют фал `.log`. При каждом последующем запуске результаты вывода сравниваются с файлом и в случае, если они одинаковы, то в консоль будет выведено `All lines match the log file.`. В противном случае будут выведены различающиеся строки.
## Тесты Raw методов (Get, List)
### Cloudapi

Loading…
Cancel
Save