diff --git a/CHANGELOG.md b/CHANGELOG.md index db942e7..763d6e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,225 +1,27 @@ -## Version 1.12.0 +## Version 1.12.1 -### Удалено +### Добавлено #### account | Идентификатор
задачи | Описание | | --- | --- | -| 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 -| Идентификатор
задачи | Описание | -| --- | --- | -| 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 | Идентификатор
задачи | Описание | | --- | --- | -| 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 -| Идентификатор
задачи | Описание | -| --- | --- | -| 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 -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-549 | Поля `NetworkModes`, `SDNSupport` в структуры ответа `ItemGridList` и `RecordGrid` в cloudbroker/grid | - -#### image -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-481 | Метод `AsyncCreate` в cloudapi/image | - -#### k8s -| Идентификатор
задачи | Описание | -| --- | --- | -| 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 -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-466 | Опциональное поле `ZoneID` в структуры запроса `CreateRequest` и `CreateBlankRequest` в cloudapi/kvmx86 и в структуры запроса `CreateRequest`, `CreateBlankRequest` и `MassCreateRequest` в cloudbroker/kvmx86 | - -#### lb -| Идентификатор
задачи | Описание | -| --- | --- | -| 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 -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-546 | Поле `NetworkModes` в структуре ответа `ItemLocation` в cloudapi/locations | -| BGOS-546 | Метод `ListGet` в cloudapi/locations | - -#### node -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-484 | Новое значение `is_powered` в поле `action` в структуре запроса `ApplyIpmiActionRequest` в cloudbroker/node | -| BGOS-547 | Поля `SDNHypervisorName` и `ZoneID` в структуру ответа `ItemNode` и поле `ZoneID` в структуру ответа `RecordNode` в cloudbroker/node | - -#### rg -| Идентификатор
задачи | Описание | -| --- | --- | -| 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 -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-527 | Группа ручек `trunk` в cloudapi и в cloudbroker | - -#### vins -| Идентификатор
задачи | Описание | -| --- | --- | -| 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 -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-435 | Добавлена группа ручек zone в cloudapi и в cloudbroker | - -#### user -| Идентификатор
задачи | Описание | -| --- | --- | -| 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 | Идентификатор
задачи | Описание | | --- | --- | -| BGOS-512 | Исправлено возвращаемое значение с bool на string в методах `Delete` и `Restore` в cloudapi/account и в методах `Delete`, `Restore`, `DeleteAccounts`, `DisableAccounts` и `EnableAccounts` в cloudbroker/account | - -#### bservice -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-483 | Изменен тип параметра `Permanently` на опциональный в структуре `DeleteRequest` в cloudbroker/bservice | - -#### compute -| Идентификатор
задачи | Описание | -| --- | --- | -| 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 -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-468 | Исправлен тип поля `UpdatedBy` c uint64 на string в структурах ответа `ItemComputeDisk` в cloudapi/compute и `ItemDisk` в cloudbroker/compute | - -#### extnet -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-548 | В структурах ответа `RecordExtNet` в cloudapi/extnet и cloudbroker/extnet и `ItemExtNet` в cloudbroker/extnet поле `networkID` заменено на поле `networkIDs` | - -#### flipgroup -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-482 | Изменен тип параметра `ClientType` на опциональный в структуре `CreateRequest` в cloudapi/bservice и cloudbroker/bservice | +| BGOS-559 | Структура ответа `ItemAccount` использует структуру `ListRecordACL` в поле `ACL` в cloudapi/account | #### image | Идентификатор
задачи | Описание | | --- | --- | -| BGOS-481 | Метод `SyncCreate` заменен на метод `AsyncCreateImage` со структурой запроса `CreateRequest` в cloudbroker/image | - -#### lb -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-538 | Изменен тип поля `SysctlParams` в структурах ответа `RecordLB` и `ItemLBList` в cloudapi/lb и cloudbroker/lb | - -#### rg -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-540 | Тип возвращаемого значения методов `MassEnable`, `MassDisable`, `MassDelete` с bool на string в cloudbroker/rg | - -### Удалено - -#### account -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-541 | Опциональное поле `Reason` в структуре запроса `DisableEnableRequest` в cloudapi/account | -| BGOS-541 | Опциональное поле `Reason` в структурах запроса `DeleteRequest`, `DisableRequest`, `DisableAccountsRequest`, `RestoreRequest` в cloudbroker/account | - -#### compute -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-536 | Поля `Order` и `VMID` в структуре ответа `ItemComputeDisk` в cloudapi/compute и в структуре ответа `ItemDisk` в cloudbroker/compute | -| BGOS-551 | Значение `SVA_KVM_X86` в поле `Driver` в структурах запроса `CreateRequest` и `CreateBlankRequest` в cloudapi/compute | - -#### disks -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-480 | Опциональное поле `Architecture` в структурах запроса `FromPlatformDiskRequest` в cloudapi/disks и в cloudbroker/disks | - -#### extnet -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-531 | Опциональное поле `VNFDevIP` в структуре запроса `CreateRequest` в cloudbroker/extnet | - -#### image -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-480 | Опциональное поле `Architecture` в структурах запроса `CreateRequest`, `ListRequest` в cloudapi/image и `CreateRequest`, `ListRequest`, `CreateCDROMImageRequest` в cloudbroker/image | -| BGOS-489 | Поле `Meta` в структуре ответа `ItemListStacks` в cloudbroker/image | - -#### tasks -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-500 | Опциональное поле `GUID` в структурах ответа `ItemAsyncTask` в cloudapi/tasks и `ItemTask` в cloudbroker/tasks | - -#### user -| Идентификатор
задачи | Описание | -| --- | --- | -| BGOS-494 | Опциональное поле `Groups` в структурe запроса `CreateRequest` в cloudbroker/user | +| BGOS-564 | Загрузка образов в cloudbroker/image | diff --git a/README.md b/README.md index 2da08e6..ce6b218 100644 --- a/README.md +++ b/README.md @@ -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` Все поля структуры имеют описание, в которых содержится: diff --git a/pkg/cloudapi/account/filter_test.go b/pkg/cloudapi/account/filter_test.go index b1e7f9f..05da015 100644 --- a/pkg/cloudapi/account/filter_test.go +++ b/pkg/cloudapi/account/filter_test.go @@ -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: "", diff --git a/pkg/cloudapi/account/models.go b/pkg/cloudapi/account/models.go index ac7e442..091ba28 100644 --- a/pkg/cloudapi/account/models.go +++ b/pkg/cloudapi/account/models.go @@ -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"` diff --git a/pkg/cloudapi/compute/models.go b/pkg/cloudapi/compute/models.go index 3868d49..50b00c1 100644 --- a/pkg/cloudapi/compute/models.go +++ b/pkg/cloudapi/compute/models.go @@ -709,6 +709,9 @@ type ItemVNFInterface struct { // Target Target string `json:"target"` + // Trunk tags + TrunkTags string `json:"trunk_tags"` + // Type Type string `json:"type"` diff --git a/pkg/cloudapi/kvmx86/create.go b/pkg/cloudapi/kvmx86/create.go index 405977c..d2640d5 100644 --- a/pkg/cloudapi/kvmx86/create.go +++ b/pkg/cloudapi/kvmx86/create.go @@ -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"` diff --git a/pkg/cloudapi/kvmx86/create_blank.go b/pkg/cloudapi/kvmx86/create_blank.go index 9e6b54d..ca51757 100644 --- a/pkg/cloudapi/kvmx86/create_blank.go +++ b/pkg/cloudapi/kvmx86/create_blank.go @@ -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"` diff --git a/pkg/cloudbroker/compute/migrate_abort.go b/pkg/cloudbroker/compute/migrate_abort.go new file mode 100644 index 0000000..3104daa --- /dev/null +++ b/pkg/cloudbroker/compute/migrate_abort.go @@ -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 +} diff --git a/pkg/cloudbroker/compute/models.go b/pkg/cloudbroker/compute/models.go index 4701105..60a7412 100644 --- a/pkg/cloudbroker/compute/models.go +++ b/pkg/cloudbroker/compute/models.go @@ -573,6 +573,9 @@ type ItemInterface struct { // Target Target string `json:"target"` + // Trunk tags + TrunkTags string `json:"trunk_tags"` + // Type Type string `json:"type"` diff --git a/pkg/cloudbroker/image/create_image.go b/pkg/cloudbroker/image/create_image.go index 050f99d..79d5efe 100644 --- a/pkg/cloudbroker/image/create_image.go +++ b/pkg/cloudbroker/image/create_image.go @@ -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} diff --git a/pkg/cloudbroker/kvmx86/create.go b/pkg/cloudbroker/kvmx86/create.go index 473fae4..999bcdf 100644 --- a/pkg/cloudbroker/kvmx86/create.go +++ b/pkg/cloudbroker/kvmx86/create.go @@ -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"` diff --git a/pkg/cloudbroker/kvmx86/create_blank.go b/pkg/cloudbroker/kvmx86/create_blank.go index 49fd0e0..ab4f54b 100644 --- a/pkg/cloudbroker/kvmx86/create_blank.go +++ b/pkg/cloudbroker/kvmx86/create_blank.go @@ -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"` diff --git a/tests/platform_upgrade/README.md b/tests/platform_upgrade/README.md index 43d8c4f..c3d425e 100644 --- a/tests/platform_upgrade/README.md +++ b/tests/platform_upgrade/README.md @@ -21,8 +21,6 @@ Примечание: тесты можно запускать напрямую методами среды разработки либо из командной строки из нужной директории, например командой `go test -v -run `, где `` - название запускаемого теста. -Примечание 2: все тесты, кроме `TestGetAllPaths` при первом запуске генерируют фал `.log`. При каждом последующем запуске результаты вывода сравниваются с файлом и в случае, если они одинаковы, то в консоль будет выведено `All lines match the log file.`. В противном случае будут выведены различающиеся строки. - ## Тесты Raw методов (Get, List) ### Cloudapi