10 Commits

Author SHA1 Message Date
f1112e5a11 v15.0.0 2026-06-05 17:30:36 +03:00
dayterr
3e2edf53a5 v14.11.0 2026-05-29 17:54:28 +03:00
8f8a81eea4 v14.10.0 2026-05-22 19:20:44 +03:00
dayterr
d82ae52951 v14.9.0 2026-05-08 14:18:23 +03:00
dayterr
5e5d90e24f v14.8.0 2026-04-17 17:10:10 +03:00
dayterr
cd67633a52 v14.7.0 2026-04-10 16:47:00 +03:00
0812c5a8af v14.6.0 2026-04-03 16:41:45 +03:00
8abb20dcde v14.5.0 2026-03-27 17:48:48 +03:00
dayterr
825cc4387f v14.4.0
v14.4.0
2026-03-20 17:22:29 +03:00
aa3e9ad4ab v14.3.0 2026-03-13 17:20:54 +03:00
1267 changed files with 8322 additions and 1853 deletions

View File

@@ -1,4 +1,4 @@
## Version 14.2.0 ## Version 15.0.0
Методы `Audits` в cloudapi/compute, cloudbroker/compute, cloudapi/account, cloudbroker/account, cloudapi/vins, cloudbroker/vins, cloudapi/rg и cloudbroker/rg стали deprecated и в следующих версиях будут удалены, вместо них необходимо использовать метод `List` в cloudapi/audit и cloudbroker/audit с соответствующими фильтрами Методы `Audits` в cloudapi/compute, cloudbroker/compute, cloudapi/account, cloudbroker/account, cloudapi/vins, cloudbroker/vins, cloudapi/rg и cloudbroker/rg стали deprecated и в следующих версиях будут удалены, вместо них необходимо использовать метод `List` в cloudapi/audit и cloudbroker/audit с соответствующими фильтрами
Методы `AccessGrant`, `AccessGrantToPool`, `AccessRevoke`, `AccessRevokeToPool` в cloudbroker/sep стали deprecated и в следующих версиях будут удалены Методы `AccessGrant`, `AccessGrantToPool`, `AccessRevoke`, `AccessRevokeToPool` в cloudbroker/sep стали deprecated и в следующих версиях будут удалены
@@ -7,49 +7,193 @@
Все методы группы `.SDN()` находятся в альфа-версии. Все методы группы `.SDN()` находятся в альфа-версии.
### Добавлено ### Добавлено
#### account
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-796 | Опциональное поле `CpuAllocationParameter` в структуру запроса `UpdateRequest` в cloudbroker/account |
| BGOS-790 | Вычисляемое поле `UpdatedBy` в структуру ответа `ItemAccount` в cloudapi/account |
#### compute #### compute
| Идентификатор<br>задачи | Описание | | Идентификатор задачи | Описание |
| --- | --- | | --- | --- |
| BGOS-793 | Вычисляемые поля `Aborted` и `BlockcopyAbortJobID` в структуру ответа `RecordCloneAbort` в cloudbroker/compute | | BGOS-864 | Методы `GetCPUAlignmentProfile`, `SetCPUAlignmentProfile` и `DeleteCPUAlignmentProfile` в cloudapi/compute и cloudbroker/compute |
| BGOS-792 | Структуры ответа `RecordCloneAbort` и `ListCloneAbort` в cloudapi/compute | | BGOS-864 | Структуры запросов `GetCPUAlignmentProfileRequest`, `SetCPUAlignmentProfileRequest` и `DeleteCPUAlignmentProfileRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-791 | Вычисляемое поле `Independent` в структуру ответа `ItemComputeDisk` в cloudapi/compute и в структуру ответа `ItemDisk` в cloudbroker/compute | | BGOS-865 | Вычисляемое поле `CPUAlignmentProfile` в структуру ответа `RecordCompute` в cloudapi/compute и cloudbroker/compute |
| BGOS-865 | Вычисляемое поле `CPUAlignmentProfile` в структуру ответа `ItemCompute` в cloudapi/compute и cloudbroker/compute |
| BGOS-865 | Структура ответа `CPUAlignmentProfile` в cloudapi/compute и cloudbroker/compute |
| BGOS-872 | Опциональное поле `WithMemory` в структуру запроса `SnapshotCreateRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-872 | Опциональное поле `WithMemory` в структуру запроса `SnapshotRollbackRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-872 | Вычисляемые поля `MemoryDumpImage` и `Compute` в структуру ответа `ItemSnapshot` в cloudapi/compute и cloudbroker/compute |
| BGOS-872 | Методы `SnapshotCreateAsync`, `SnapshotRollbackAsync` и `AbortSharedSnapshotMergeAsync` в cloudapi/compute и cloudbroker/compute |
| BGOS-872 | Опциональное поле `NodeID` в структуру запроса `SnapshotRollbackRequest` в cloudbroker/compute |
| BGOS-877 | Опциональное поле `Clock` в структуру запроса `UpdateRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-877 | Вычисляемое поле `Clock` в структуры ответа `RecordCompute` и `ItemCompute` в cloudapi/compute|
| BGOS-877 | Вычисляемое поле `Clock` в структуры ответа `RecordCompute` и `InfoCompute` в cloudbroker/compute |
| BGOS-885 | Методы `CDEjectAsync`, `CDInsertAsync`, `ChangeIPAsync`, `ChangeLinkStateAsync`, `ChangeSecGroupsAsync`, `ChangeMTUAsync`, `CloneAsync`, `CreateTemplateAsync`, `DeleteAsync`, `DisableAsync`, `DiskAddAsync`, `DiskAttachAsync`, `DiskDelAsync`, `DiskDetachAsync`, `DiskQOSAsync`, `DiskResizeAsync`, `DiskSwitchToReplicationAsync`, `GuestAgentDisableAsync`, `GuestAgentEnableAsync`, `GuestAgentExecuteRequestAsync`, `GuestAgentFeatureUpdateAsync`, `MigrateToZoneAsync`, `MoveToRGAsync`, `NetAttachAsync`, `NetDetachAsync`, `PauseAsync`, `PFWAddAsync`, `PFWDelAsync`, `PinToNodeAsync`, `PowerCycleAsync`, `RebootAsync`, `RedeployAsync`, `ResetAsync`, `ResizeAsync`, `RestoreAsync`, `ResumeAsync`, `StartAsync`, `StopAsync`, `MassDeleteAsync`, `MassRebootAsync`, `MassStartAsync`, `MassStopAsync`, `MigrateAbortAsync`, `MigrateStorageAbortAsync`, `MigrateStorageCleanUpAsync`, `NetQOSAsync` и `RaiseDownAsync` в cloudbroker/compute |
| BGOS-885 | Методы `CDEjectAsync`, `CDInsertAsync`, `ChangeIPAsync`, `ChangeLinkStateAsync`, `ChangeMTUAsync`, `ChangeSecGroupsAsync`, `CloneAsync`, `DeleteAsync`, `DisableAsync`, `DiskAddAsync`, `DiskDelAsync`, `DiskAttachAsync`, `DiskDetachAsync`, `DiskQOSAsync`, `DiskResizeAsync`, `DiskSwitchToReplicationAsync`, `GuestAgentDisableAsync`, `GuestAgentEnableAsync`, `GuestAgentExecuteRequestAsync`, `GuestAgentFeatureUpdateAsync`, `MigrateToZoneAsync`, `MoveToRGAsync`, `NetAttachAsync`, `NetDetachAsync`, `PauseAsync`, `PFWAddAsync`, `PFWDelAsync`, `PinToNodeAsync`, `PowerCycleAsync`, `RebootAsync`, `RedeployAsync`, `ResetAsync`, `ResizeAsync`, `RestoreAsync`, `ResumeAsync`, `StartAsync` и `StopAsync` в cloudapi/compute |
| BGOS-894 | Опциональное поле `ReadOnly` в структуры запросов `DiskAddRequest` и `DiskAttachRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-894 | Опциональное поле `ReadOnly` в структуры ответа `InfoDisk` в cloudapi/compute и cloudbroker/compute |
| BGOS-894 | Опциональное поле `ReadOnly` в структуру ответа `ItemComputeDisk` в cloudapi/compute |
| BGOS-894 | Опциональное поле `ReadOnly` в структуру ответа `ItemDisk` в cloudbroker/compute |
#### disks #### disks
| Идентификатор задачи | Описание |
| --- | --- |
| BGOS-895 | Вычисляемое поле `ComputesReadOnly` в структуру ответа `InfoDisk` в cloudbroker/disks |
| BGOS-895 | Вычисляемое поле `ComputesReadOnly` в структуры ответа `ItemDisk` и `RecordDisk` в cloudapi/disks |
#### extnet
| Идентификатор<br>задачи | Описание | | Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BGOS-791 | Вычисляемое поле `Independent` в структуры ответа `ItemDisk` и `RecordDisk` в cloudapi/disks и в структуру ответа `RecordDisk` в cloudbroker/disks | | BGOS-876 | Вычисляемое поле `FreeIPs` в структуру ответа `ItemExtNet` в cloudapi/extnet |
| BGOS-797 | Вычисляемые поля `ToClean` и `StoragePolicyID` в структуру ответа `ItemDiskUnattached` в cloudapi/disks |
#### image #### grid
| Идентификатор<br>задачи | Описание | | Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BGOS-791 | Вычисляемое поле `Independent` в структуру ответа `RecordImage` в cloudapi/image и в структуры ответа `RecordImage` и `ItemImage` в cloudbroker/image | | BGOS-888 | Вычисляемые поля `CPUAllocationRatio`, `CPUAllocationRatioVM`, `CustomBackupPath`, `InterfaceGenerationScheme`, `MACAddressPrefix`, `NodeSelfStopTimerUptimeMonitor` и `NodeSelfStopUptimeMonitor` в структуру ответа `RecordSettingsGrid` в cloudbroker/grid |
| BGOS-888 | Вычисляемое поле `ZeroAccessEnabled` в структуру ответа `RecordGrid` в cloudbroker/grid |
| BGOS-888 | Вычисляемое поле `Policies` в структуру ответа `RecordResource` и структура ответа `PolicyUsage` в cloudbroker/grid |
#### kvmx86
### Изменено | Идентификатор задачи | Описание |
#### compute
| Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BGOS-799 | Минимальное значение поля `MTU` в структуре запроса `NetAttachRequest` в cloudapi/compute и cloudbroker/compute с 1 на 1500 | | BGOS-865 | Опциональное поле `CPUAlignmentProfile` в структуры запросов `CreateRequest` и `CreateBlankRequest` в cloudapi/kvmx86 и cloudbroker/kvmx86 |
| BGOS-792 | Тип возвращаемого значения метода `CloneAbort` с `bool` на `ListCloneAbort` в cloudapi/compute | | BGOS-865 | Опциональное поле `CPUAlignmentProfile` в структуру запроса `MassCreateRequest` в cloudbroker/kvmx86 |
| BGOS-877 | Опциональное поле `Clock` в структуры запросов `CreateRequest` и `CreateBlankRequest` в cloudapi/kvmx86 и cloudbroker/kvmx86 |
| BGOS-877 | Опциональное поле `Clock` в структуру запроса `MassCreateRequest` в cloudbroker/kvmx86 |
#### node #### node
| Идентификатор<br>задачи | Описание | | Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BGOS-789 | Дефолтное значение поля `Force` в структуре запроса `EnableRequest` в cloudbroker/node с `true` на `false` | | BGOS-866 | Вычисляемые поля `OneGAvailable`, `OneGFree`, `OneGReserved`, `OneGUsed`, `OneGDPDKReserved`, `TwoMAvailable`, `TwoMFree`, `TwoMReserved` и `TwoMUsed` в структуру ответа `ItemMemory` в cloudbroker/node |
| BGOS-879 | Методы `GetPCIDevices`, `PCIDeviceDriverToVFIO` и `PCIDeviceDriverToKernel` в cloudbroker/node |
| BGOS-879 | Структуры запросов `GetPCIDevicesRequest`, `PCIDeviceDriverToVFIORequest` и `PCIDeviceDriverToKernelRequest` в cloudbroker/node |
| BGOS-879 | Структуры ответов `RecordPCIDeviceDriver`, `ListPCIDevices` и `ItemPCIDevice` в cloudbroker/node |
| BGOS-880 | Вычисляемое поле `PCIDevices` в структуру ответа `ItemNode` в cloudbroker/node |
| BGOS-882 | Метод `GetNetworkInfo` и структура запроса `GetNetworkInfoRequest` в cloudbroker/node |
| BGOS-882 | Структуры ответа `RecordNodeNetworkInfo`, `SystemNetworkInfo`, `OVSNetworkInfo`, `LibvirtNetworkInfo` и `NetworkTopology` в cloudbroker/node |
| BGOS-890 | Структура ответа `ItemNode` для методов `SetCpuAllocationRatio` и `SetMemAllocationRatio` в cloudbroker/node |
### Удалено #### sep
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-873 | Метод `Update` и структура запроса `UpdateRequest` в cloudbroker/sep |
#### zone
| Идентификатор задачи | Описание |
| --- | --- |
| BGOS-862 | Метод `AddCPUAlignmentProfile` и структура запроса `AddCPUAlignmentProfileRequest` в cloudbroker/zone |
| BGOS-862 | Метод `DeleteCPUAlignmentProfile` и структура запроса `DeleteCPUAlignmentProfileRequest` в cloudbroker/zone |
| BGOS-862 | Метод `GetCPUAlignmentProfile` и структура запроса `GetCPUAlignmentProfileRequest` в cloudbroker/zone |
| BGOS-862 | Метод `ListCPUAlignmentProfile` и структура запроса `ListCPUAlignmentProfileRequest` в cloudbroker/zone |
| BGOS-862 | Метод `TestCPUAlignmentProfile` и структура запроса `TestCPUAlignmentProfileRequest` в cloudbroker/zone |
| BGOS-862 | Структуры ответов `ListCPUAlignmentProfiles`, `ItemCPUAlignmentProfile`, `TestCPUAlignmentProfileResult` и `CpuAlignmentProfileCandidate` в cloudbroker/zone |
| BGOS-863 | Вычисляемое поле `CpuAlignmentProfiles` в структуры ответа `RecordZone` и `ItemZone` и структура `CpuAlignmentProfile` в cloudapi/zone и cloudbroker/zone |
#### SDN logicalports
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-896 | Обязательное поле `ID` в структуру запроса `UpdateAddress` в sdn/logical_port |
#### SDN netobjgroups
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-884 | Опциональное поле `Type` в структуру запроса `ListRequest` в sdn/netobjgroups |
### Изменено
#### account
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-887 | Тип поля `CPUAllocationRatio` с `float64` на `uint64` в структуре ответа `RecordAccount` в cloudapi/account |
| BGOS-887 | Тип поля `CPUAllocationRatio` с `float64` на `uint64` в структуре ответа `InfoAccount` в cloudbroker/account |
#### compute #### compute
| Идентификатор<br>задачи | Описание | | Идентификатор<br>задачи | Описание |
| --- | --- | | --- | --- |
| BGOS-793 | Вычисляемое поле `Status` из структуры ответа `RecordCloneAbort` в cloudbroker/compute | | BGOS-874 | Поле `StoragePolicyID` с обязательного на опциональное в структуре запроса `RedeployRequest` в cloudapi/compute и cloudbroker/compute |
| BGOS-870 | Тип поля `BLKDiscard` с `bool` на `string` и переименование в `Discard` в структуре ответа `ItemComputeDisk` в cloudapi/compute |
| BGOS-870 | Тип поля `BLKDiscard` с `bool` на `string` и переименование в `Discard` в структуре ответа `ItemDisk` в cloudbroker/compute|
| BGOS-870 | Тип поля `BLKDiscard` с `bool` на `string` и переименование в `Discard` в структуре запроса `DiskAddRequest` в cloudbroker/compute|
| BGOS-885 | Тип возвращаемого значения с `string` на `bool` в методе `Restore` в cloudapi/compute |
| BGOS-885 | Тип возвращаемого значения с `string` на `bool` в методе `MigrateStorageAbort` в cloudbroker/compute |
| BGOS-885 | Тип возвращаемого значения с `string` на `bool` в методе `MigrateStorageCleanUp` в cloudbroker/compute |
| BGOS-885 | Название метода с `Validate` на `MoveToRG` в cloudbroker/compute |
| BGOS-893 | Тип поля `SDNObjectGroupID` с `string` на `[]string` и переименование в `SDNObjectGroupIDs` в структуре запроса `NetAttachRequest` в cloudapi/compute и cloudbroker/compute |
#### disks
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-870 | Тип поля `BLKDiscard` с `bool` на `string` и переименование в `Discard` в структурах ответа `RecordDisk`, `ItemDisk` и `ItemDiskUnattached` в cloudapi/disks |
| BGOS-870 | Тип поля `BLKDiscard` с `bool` на `string` и переименование в `Discard` в структуре ответа `InfoDisk` в cloudbroker/disks |
| BGOS-870 | Тип поля `BLKDiscard` с `bool` на `string` и переименование в `Discard` в структурах запросов `CreateRequest` и `UpdateRequest` в cloudbroker/disks |
| BGOS-881 | Поле `StoragePolicyID` c опционального на обязательное в структуре запроса `MigrateRequest` в cloudbroker/disks |
#### grid
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-888 | Тип поля `Ratio` с `float64` на `uint64` в структурах запросов `SetCPUAllocationRatioRequest`, `SetCPUAllocationRatioForVMRequest` и `SetMemAllocationRatioRequest` в cloudbroker/grid |
#### image
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-860 | Тип ответа метода `MultiImageExport` со `string` на `uint64` в cloudbroker/image |
| BGOS-869 | Тип вычисляемого поля `AccountID` с опционального на обязательный в структуре `CreateVirtualRequest` в cloudapi/image |
| BGOS-878 | Тип поля `TypeImage` в структуре запроса `ListRequest` с `string` на `[]string` в cloudbroker/image и cloudapi/image |
#### kvmx86
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-870 | Тип поля `BLKDiscard` с `bool` на `string` и переименование в `Discard` в структуре ответа `DataDisk` в cloudbroker/kvmx86 |
| BGOS-870 | Тип поля `BootDiskBLKDiscard` с `bool` на `string` и переименование в `BootDiskDiscard` в структурах запросов `CreateRequest`, `CreateBlankRequest` и `MassCreateRequest` в cloudbroker/kvmx86 |
| BGOS-893 | Тип поля `SDNObjectGroupID` с `string` на `[]string` и переименование в `SDNObjectGroupIDs` в структуре `Interface` в cloudapi/kvmx86 и cloudbroker/kvmx86 |
| BGOS-893 | Тип поля `SDNObjectGroupID` с `string` на `[]string` и переименование в `SDNObjectGroupIDs` в структуре `InterfaceMassCreate` в cloudbroker/kvmx86 |
#### node
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-867 | Тип обязательного поля `Ratio` с `float64` на `uint64` в структурах запросов `SetMemAllocationRatioRequest` и `SetCpuAllocationRatioRequest` в cloudbroker/node |
| BGOS-889 | Тип поля `VCPU` с `float64` на `uint64` в структуре ответа `FreeResourcesInfo` в cloudbroker/node |
| BGOS-889 | Тип полей `CPUAllocationRatio` и `MemAllocationRatio` с `float64` на `uint64` в структурах ответа `RecordNode` и `ItemNode` в cloudbroker/node |
#### resmon
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-868 | Тип поля `EndTime` с обязательного на опциональное в структурах запроса `GetByNodeRequest`, `GetByNodesRequest` `GetByGRIDRequest`, `GetByComputeRequest` и `GetByComputesRequest` в cloudbroker/resmon |
#### rg
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-886 | Тип поля `CPUAllocationRatio` с `float64` на `uint64` в структурах ответа `RecordResourceGroup` и `ItemResourceGroup` в cloudapi/rg |
| BGOS-886 | Тип поля `CPUAllocationRatio` с `float64` на `uint64` в структуре ответа `ItemRG` в cloudbroker/rg |
| BGOS-886 | Тип поля `Ratio` с `float64` на `uint64` в структуре запроса `SetCPUAllocationRatioRequest` в cloudbroker/rg |
#### user
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-891 | Тип поля `Password` с опционального на обязательный в структуре запроса `CreateRequest` в cloudbroker/user |
#### SDN logicalports
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-896 | Тип полей `IsDiscovered` и `MAC` с опционального на обязательный в структурах запроса `UpdateAddress` и `AddAddress` в sdn/logical_port |
| BGOS-896 | Тип поля `IsDiscovered` с опционального на обязательный в структуре запроса `LogicalPortAddressRequest` в sdn/logical_port
| BGOS-896 | Тип полей `IsDiscovered`, `MAC` с `interface` на `bool` в структурах запроса `UpdateAddress`, `AddAddress`, `LogicalPortAddressRequest` в sdn/logical_port/update |
### Исправлено
#### vfpool
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-871 | Тип поля `Config` в структуре запроса `wrapperUpdateRequest` с `[]string` на `string` в cloudbroker/vfpool |
### Удалено
#### grid
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-888 | Вычисляемые поля `CKey` и `Meta` из структуры ответа `RecordGrid` в cloudbroker/grid |
#### user
| Идентификатор<br>задачи | Описание |
| --- | --- |
| BGOS-861 | Значение по умолчанию опционального поля `Password` в структуре запроса `CreateRequest` в cloudbroker/user |
| BGOS-875 | Опциональное поле `Password` из структуры ответа `ItemUser` в cloudbroker/user |

118
README.md
View File

@@ -10,6 +10,7 @@ Dynamix SDK - это библиотека, написанная на языке
- Версия 12.x.х Dynamix-SDK соответствует 4.4.0 версии платформы - Версия 12.x.х Dynamix-SDK соответствует 4.4.0 версии платформы
- Версия 13.x.х Dynamix-SDK соответствует 4.5.0 версии платформы - Версия 13.x.х Dynamix-SDK соответствует 4.5.0 версии платформы
- Версия 14.x.х Dynamix-SDK соответствует 4.6.0 версии платформы - Версия 14.x.х Dynamix-SDK соответствует 4.6.0 версии платформы
- Версия 15.x.х Dynamix-SDK соответствует 4.7.0 версии платформы
## Оглавление ## Оглавление
@@ -84,7 +85,7 @@ Dynamix SDK - это библиотека, написанная на языке
Выполните команду в терминале: Выполните команду в терминале:
```bash ```bash
go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v14 go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v15
``` ```
## Список API ## Список API
@@ -123,6 +124,7 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v14
- `Trunk` - получение информации о транковых портах; - `Trunk` - получение информации о транковых портах;
- `VFPool` - управление пулом виртуальных сетевых функций; - `VFPool` - управление пулом виртуальных сетевых функций;
- `VINS` - управление виртуальными изолированными сетями; - `VINS` - управление виртуальными изолированными сетями;
- `VGPU` - управление виртуальными графическими процессорами;
- `Zone` - управление зонами. - `Zone` - управление зонами.
### Cloudbroker ### Cloudbroker
@@ -172,12 +174,14 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v14
- `Address pool` - управление пулами адресов; - `Address pool` - управление пулами адресов;
- `DefaultSecurityPolicies` - управление политиками хранения по умолчанию; - `DefaultSecurityPolicies` - управление политиками хранения по умолчанию;
- `ExtNet` - управление виртуальными сетями, отвечающими за внешний доступ; - `ExtNet` - управление виртуальными сетями, отвечающими за внешний доступ;
- `Hypervisors` - управление гипервизорами;
- `FloatingIPs` - управление плавающими IP-адресами; - `FloatingIPs` - управление плавающими IP-адресами;
- `Logical ports` - управление логическими портами; - `Logical ports` - управление логическими портами;
- `NetworkObjectGroups` - управление группами объектов сети; - `NetworkObjectGroups` - управление группами объектов сети;
- `Routers` - управление роутерами; - `Routers` - управление роутерами;
- `SecurityPolicies` - управление политиками хранения; - `SecurityPolicies` - управление политиками хранения;
- `Segments` - управление сегментами; - `Segments` - управление сегментами;
- `Version` - получение информации о версии SDN;
## Работа с библиотекой ## Работа с библиотекой
@@ -208,7 +212,7 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v14
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main(){ func main(){
@@ -233,7 +237,7 @@ func main(){
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main() { func main() {
@@ -278,8 +282,8 @@ sslSkipVerify: false
package main package main
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -333,6 +337,7 @@ func main() {
- `pkg/cloudapi/trunk` - для `Trunk` - `pkg/cloudapi/trunk` - для `Trunk`
- `pkg/cloudapi/vfpool` - для `VFPool` - `pkg/cloudapi/vfpool` - для `VFPool`
- `pkg/cloudapi/vins` - для `VINS` - `pkg/cloudapi/vins` - для `VINS`
- `pkg/cloudapi/vgpu` - для `VGPU`
- `pkg/cloudapi/zone` - для `Zone` - `pkg/cloudapi/zone` - для `Zone`
- **cloudbroker**: - **cloudbroker**:
- `pkg/cloudbroker/account` - для `Account` - `pkg/cloudbroker/account` - для `Account`
@@ -372,12 +377,14 @@ func main() {
- `pkg/sdn/adrspools` - для `Address pool` - `pkg/sdn/adrspools` - для `Address pool`
- `pkg/sdn/defsecpolicies` - для `DefaultSecurityPolicies` - `pkg/sdn/defsecpolicies` - для `DefaultSecurityPolicies`
- `pkg/sdn/external_networks` - для `ExtNet` - `pkg/sdn/external_networks` - для `ExtNet`
- `pkg/sdn/hypervisors` - для `Hypervisors`
- `pkg/sdn/flips` - для `FloatingIPs` - `pkg/sdn/flips` - для `FloatingIPs`
- `pkg/sdn/logicalports` - для `Logical ports` - `pkg/sdn/logicalports` - для `Logical ports`
- `pkg/sdn/netobjgroups` - для `NetworkObjectGroups` - `pkg/sdn/netobjgroups` - для `NetworkObjectGroups`
- `pkg/sdn/routers` - для `Routers` - `pkg/sdn/routers` - для `Routers`
- `pkg/sdn/secpolicies` - для `SecurityPolicies` - `pkg/sdn/secpolicies` - для `SecurityPolicies`
- `pkg/sdn/segments` - для `Segments` - `pkg/sdn/segments` - для `Segments`
- `pkg/sdn/version` - для `Version`
Все поля структуры имеют описание, в которых содержится: Все поля структуры имеют описание, в которых содержится:
@@ -467,9 +474,9 @@ type CreateRequest struct {
package main package main
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/kvmx86" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/kvmx86"
) )
func main() { func main() {
@@ -529,6 +536,7 @@ func main() {
- `.Trunk()` - для работы с `Trunk` - `.Trunk()` - для работы с `Trunk`
- `.VFPool()` - для работы с `VFPool` - `.VFPool()` - для работы с `VFPool`
- `.VINS()` - для работы с `VINS` - `.VINS()` - для работы с `VINS`
- `.VGPU()` - для работы с `VGPU`
- `.Zone()` - для работы с `Zone` - `.Zone()` - для работы с `Zone`
Доступные методы для `.CloudBroker()`: Доступные методы для `.CloudBroker()`:
@@ -572,12 +580,14 @@ func main() {
- `.AddressPool()` - для работы с `Addres pool` - `.AddressPool()` - для работы с `Addres pool`
- `.DefaultSecurityPolicies()` - для работы с `DefaultSecurityPolicies` - `.DefaultSecurityPolicies()` - для работы с `DefaultSecurityPolicies`
- `.ExtNet()` - для работы с `ExtNet` - `.ExtNet()` - для работы с `ExtNet`
- `.Hypervisors()` - для работы с `Hypervisors`
- `.FloatingIPs()` - для работы с `FloatingIPs` - `.FloatingIPs()` - для работы с `FloatingIPs`
- `.LogicalPorts()` - для работы с `Logical ports` - `.LogicalPorts()` - для работы с `Logical ports`
- `.NetworkObjectGroups()` - для работы с `NetworkObjectGroups` - `.NetworkObjectGroups()` - для работы с `NetworkObjectGroups`
- `.Routers()` - для работы с `Routers` - `.Routers()` - для работы с `Routers`
- `.SecurityPolicies()` - для работы с `SecurityPolicies` - `.SecurityPolicies()` - для работы с `SecurityPolicies`
- `.Segments()` - для работы с `Segments` - `.Segments()` - для работы с `Segments`
- `.Version()` - для работы с `Version`
3. Вызвать метод, отвечающий за выполнение запроса и передать в него: 3. Вызвать метод, отвечающий за выполнение запроса и передать в него:
@@ -603,9 +613,9 @@ import (
"log" "log"
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/kvmx86" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/kvmx86"
) )
func main() { func main() {
@@ -653,9 +663,9 @@ import (
"log" "log"
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/account" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/account"
) )
func main() { func main() {
@@ -833,9 +843,9 @@ import (
"context" "context"
"log" "log"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudbroker/compute" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudbroker/compute"
) )
func main() { func main() {
@@ -891,9 +901,9 @@ import (
"log" "log"
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/bservice" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/bservice"
) )
func main() { func main() {
@@ -946,10 +956,10 @@ import (
"log" "log"
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/tasks" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/tasks"
tasks_cb "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudbroker/tasks" tasks_cb "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudbroker/tasks"
) )
func main() { func main() {
@@ -1029,7 +1039,7 @@ func main() {
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main(){ func main(){
@@ -1053,7 +1063,7 @@ func main(){
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main() { func main() {
@@ -1094,8 +1104,8 @@ sslSkipVerify: true
package main package main
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -1122,8 +1132,8 @@ package main
import ( import (
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -1205,7 +1215,7 @@ func main() {
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main(){ func main(){
@@ -1233,7 +1243,7 @@ func main(){
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main() { func main() {
@@ -1250,7 +1260,7 @@ func main() {
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main() { func main() {
@@ -1316,8 +1326,8 @@ func main() {
package main package main
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -1350,8 +1360,8 @@ package main
import ( import (
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -1391,8 +1401,8 @@ package main
import ( import (
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -1430,8 +1440,8 @@ package main
import ( import (
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -1484,11 +1494,11 @@ import (
"log" "log"
"os" "os"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/constants" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/constants"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudbroker/kvmx86" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudbroker/kvmx86"
) )
func main() { func main() {
@@ -1550,7 +1560,7 @@ func main() {
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main(){ func main(){
@@ -1583,8 +1593,8 @@ func main(){
package main package main
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -1615,8 +1625,8 @@ package main
import ( import (
"fmt" "fmt"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
func main() { func main() {
@@ -1661,14 +1671,14 @@ func main() {
## Проверка соответствия версии платформы и версии dynamix ## Проверка соответствия версии платформы и версии dynamix
С версии v1.11.0 для каждого клиента добавлен метод `Check` для проверки соответствия decort-sdk и платформы dynamix. С версии v11.0.0 для каждого клиента добавлен метод `Check` для проверки соответствия decort-sdk и платформы dynamix.
В случае соответсвия decort-sdk и платформы dynamix возвращается структура, содержащая информацию о версии и актуальном билде платформы. В случае соответсвия decort-sdk и платформы dynamix возвращается структура, содержащая информацию о версии и актуальном билде платформы.
#### Пример выполнения запроса #### Пример выполнения запроса
```go ```go
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
) )
func main(){ func main(){
@@ -1701,7 +1711,7 @@ package unit_test
import ( import (
"testing" "testing"
"go.uber.org/mock/gomock" "go.uber.org/mock/gomock"
decortsdk "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14" decortsdk "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15"
) )
// Пример юнит тестирования на моках // Пример юнит тестирования на моках

View File

@@ -8,7 +8,7 @@ import (
"net/http" "net/http"
"strings" "strings"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/constants" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/constants"
) )
type CheckInfo struct { type CheckInfo struct {

View File

@@ -17,12 +17,12 @@ import (
"time" "time"
"github.com/google/go-querystring/query" "github.com/google/go-querystring/query"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/constants" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/constants"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudbroker" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudbroker"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/sdn" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/sdn"
) )
// DecortClient is HTTP-client for platform // DecortClient is HTTP-client for platform

View File

@@ -14,11 +14,11 @@ import (
"time" "time"
"github.com/google/go-querystring/query" "github.com/google/go-querystring/query"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/constants" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/constants"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudbroker" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudbroker"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/sdn" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/sdn"
) )
// BVSDecortClient is HTTP-client for platform // BVSDecortClient is HTTP-client for platform

View File

@@ -1,9 +1,9 @@
package decortsdk package decortsdk
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudbroker" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudbroker"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/sdn" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/sdn"
) )
type MockDecortClient struct { type MockDecortClient struct {

View File

@@ -6,7 +6,7 @@ import (
"time" "time"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// Configuration for creating request to platform // Configuration for creating request to platform

View File

@@ -6,8 +6,8 @@ import (
"time" "time"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/serialization" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/serialization"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
type BVSConfig struct { type BVSConfig struct {

View File

@@ -6,7 +6,7 @@ import (
"time" "time"
"gopkg.in/yaml.v3" "gopkg.in/yaml.v3"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// Legacy client configuration // Legacy client configuration

2
go.mod
View File

@@ -1,4 +1,4 @@
module repository.basistech.ru/BASIS/dynamix-golang-sdk/v14 module repository.basistech.ru/BASIS/dynamix-golang-sdk/v15
go 1.24.0 go 1.24.0

View File

@@ -28,6 +28,7 @@ var FileName = map[string]string{
var K8sValues = []string{"labels", "taints", "annotations, additionalSANs"} var K8sValues = []string{"labels", "taints", "annotations, additionalSANs"}
var VersionMap = map[string]string{ var VersionMap = map[string]string{
"4.7.0": "-",
"4.6.0": "-", "4.6.0": "-",
"4.5.0": "-", "4.5.0": "-",
"4.4.0": "-", "4.4.0": "-",

View File

@@ -10,8 +10,8 @@ import (
"strings" "strings"
"github.com/go-playground/validator/v10" "github.com/go-playground/validator/v10"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/interfaces" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/interfaces"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/multierror" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/multierror"
) )
// protoValidator is used to validate Proto fields. // protoValidator is used to validate Proto fields.
@@ -464,3 +464,23 @@ func sepTechStatusValidator(fe validator.FieldLevel) bool {
return IsInSlice(fieldValue, sepTechStatusValues) return IsInSlice(fieldValue, sepTechStatusValues)
} }
// pciDeviceHWPathValidator is used to validate PCI device hardware path fields (e.g. 0000:81:00.0)
func pciDeviceHWPathValidator(fe validator.FieldLevel) bool {
fieldValue := fe.Field().String()
ok, _ := regexp.MatchString(`^[0-9a-fA-F]{4}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\.[0-7]$`, fieldValue)
return ok
}
// sepNameValidator is used to validate SEP name fields
func sepNameValidator(fe validator.FieldLevel) bool {
ok, _ := regexp.MatchString(`^[a-zA-Zа-яА-ЯёЁ0-9][a-zA-Zа-яА-ЯёЁ0-9_.\[\]()\-]*$`, fe.Field().String())
return ok
}
// sepDescriptionValidator is used to validate SEP description fields
func sepDescriptionValidator(fe validator.FieldLevel) bool {
ok, _ := regexp.MatchString(`^[a-zA-Zа-яА-ЯёЁ0-9_.\[\]()\-]*$`, fe.Field().String())
return ok
}

View File

@@ -2,7 +2,7 @@ package validators
import ( import (
"errors" "errors"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/multierror" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/multierror"
"github.com/go-playground/validator/v10" "github.com/go-playground/validator/v10"
) )

View File

@@ -306,5 +306,20 @@ func registerAllValidators(validate *validator.Validate) error {
return err return err
} }
err = validate.RegisterValidation("pciDeviceHWPath", pciDeviceHWPathValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("sepName", sepNameValidator)
if err != nil {
return err
}
err = validate.RegisterValidation("sepDescription", sepDescriptionValidator)
if err != nil {
return err
}
return nil return nil
} }

View File

@@ -14,11 +14,11 @@ import (
"time" "time"
"github.com/google/go-querystring/query" "github.com/google/go-querystring/query"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/config" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/config"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/constants" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/constants"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudbroker" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudbroker"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/sdn" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/sdn"
) )
// LegacyDecortClient is Legacy HTTP-client for platform // LegacyDecortClient is Legacy HTTP-client for platform

View File

@@ -1,7 +1,7 @@
package cloudapi package cloudapi
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/account" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/account"
) )
// Accessing the Account method group // Accessing the Account method group

View File

@@ -2,7 +2,7 @@
package account package account
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/interfaces" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/interfaces"
) )
// Structure for creating request to account // Structure for creating request to account

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AddUserRequest struct to add permission to access account for a user // AddUserRequest struct to add permission to access account for a user

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AuditsRequest struct to give list of account audits // AuditsRequest struct to give list of account audits

View File

@@ -4,7 +4,7 @@ import (
"context" "context"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// DeleteRequest struct to delete account // DeleteRequest struct to delete account

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// DeleteUserRequest struct to revoke access to account // DeleteUserRequest struct to revoke access to account

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// DisableEnableRequest struct to change status of account // DisableEnableRequest struct to change status of account

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GetRequest struct to get information about account // GetRequest struct to get information about account

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GetConsumedAccountUnitsRequest struct to calculate the currently consumed units for all cloudspaces and resource groups in the account // GetConsumedAccountUnitsRequest struct to calculate the currently consumed units for all cloudspaces and resource groups in the account

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GetConsumedCloudUnitsByTypeRequest struct to calculate the currently consumed cloud units of the specified type for all cloudspaces and resource groups in the account // GetConsumedCloudUnitsByTypeRequest struct to calculate the currently consumed cloud units of the specified type for all cloudspaces and resource groups in the account

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GetReservedAccountUnitsRequest struct to calculate the reserved units for all cloudspaces and resource groups in the account // GetReservedAccountUnitsRequest struct to calculate the reserved units for all cloudspaces and resource groups in the account

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GetResourceConsumptionRequest struct to get resource consumption // GetResourceConsumptionRequest struct to get resource consumption

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListRequest struct to get list of accounts // ListRequest struct to get list of accounts

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListComputesRequest struct to get a list of compute instances // ListComputesRequest struct to get a list of compute instances

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListDeletedRequest struct to get a list of deleted accounts // ListDeletedRequest struct to get a list of deleted accounts

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListDisksRequest struct to get a list of deleted disks // ListDisksRequest struct to get a list of deleted disks

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListFLIPGroupsRequest struct to get a list of FLIPGroups // ListFLIPGroupsRequest struct to get a list of FLIPGroups

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListRGRequest struct to get a list of resource groups // ListRGRequest struct to get a list of resource groups

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListTemplatesRequest struct to get a list of templates // ListTemplatesRequest struct to get a list of templates

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListVINSRequest struct to get a list of VINS // ListVINSRequest struct to get a list of VINS

View File

@@ -252,7 +252,7 @@ type RecordAccount struct {
CPUAllocationParameter string `json:"cpu_allocation_parameter"` CPUAllocationParameter string `json:"cpu_allocation_parameter"`
// CPU allocation ratio // CPU allocation ratio
CPUAllocationRatio float64 `json:"cpu_allocation_ratio"` CPUAllocationRatio uint64 `json:"cpu_allocation_ratio"`
// Created by // Created by
CreatedBy string `json:"createdBy"` CreatedBy string `json:"createdBy"`

View File

@@ -4,7 +4,7 @@ import (
"context" "context"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// RestoreRequest struct to restore a deleted account // RestoreRequest struct to restore a deleted account

View File

@@ -3,7 +3,7 @@ package account
import ( import (
"encoding/json" "encoding/json"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/serialization" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/serialization"
) )
// Serialize returns JSON-serialized []byte. Used as a wrapper over json.Marshal and json.MarshalIndent functions. // Serialize returns JSON-serialized []byte. Used as a wrapper over json.Marshal and json.MarshalIndent functions.

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// UpdateRequest struct to update account // UpdateRequest struct to update account

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// UpdateUserRequest struct to update user access rights // UpdateUserRequest struct to update user access rights

View File

@@ -1,7 +1,7 @@
package cloudapi package cloudapi
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/audit" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/audit"
) )
// Accessing the Stack method group // Accessing the Stack method group

View File

@@ -1,6 +1,6 @@
package audit package audit
import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/interfaces" import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/interfaces"
// Structure for creating request to audit // Structure for creating request to audit
type Audit struct { type Audit struct {
@@ -8,7 +8,7 @@ type Audit struct {
} }
// Builder for audit endpoint // Builder for audit endpoint
func New(client interfaces.Caller) *Audit { func New(client interfaces.Caller) *Audit{
return &Audit{ return &Audit{
client: client, client: client,
} }

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GetRequest struct to get information about account // GetRequest struct to get information about account

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListRequest struct to give list of account audits // ListRequest struct to give list of account audits

View File

@@ -1,6 +1,6 @@
package cloudapi package cloudapi
import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/bservice" import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/bservice"
// Accessing the BService method group // Accessing the BService method group
func (ca *CloudAPI) BService() *bservice.BService { func (ca *CloudAPI) BService() *bservice.BService {

View File

@@ -1,7 +1,7 @@
// API Actor for managing Compute Group. This actor is a final API for endusers to manage Compute Group // API Actor for managing Compute Group. This actor is a final API for endusers to manage Compute Group
package bservice package bservice
import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/interfaces" import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/interfaces"
// Structure for creating request to bservice // Structure for creating request to bservice
type BService struct { type BService struct {

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// CreateRequest struct for BasicService // CreateRequest struct for BasicService

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// DeleteRequest struct to delete basic service // DeleteRequest struct to delete basic service

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// DisableRequest struct for disable service // DisableRequest struct for disable service

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// EnableRequest struct to disable service // EnableRequest struct to disable service

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GetRequest struct to get detailed information about service // GetRequest struct to get detailed information about service

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupAddRequest struct to create new compute group within BasicService // GroupAddRequest struct to create new compute group within BasicService

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupComputeRemoveRequest struct to remove group compute // GroupComputeRemoveRequest struct to remove group compute

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupGetRequest struct to get detailed information about Compute Group // GroupGetRequest struct to get detailed information about Compute Group

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupParentAddRequest struct to add parent Compute Group relation to the specified Compute Group // GroupParentAddRequest struct to add parent Compute Group relation to the specified Compute Group

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupParentRemoveRequest struct to remove parent Compute Group // GroupParentRemoveRequest struct to remove parent Compute Group

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupRemoveRequest struct for destroy the specified Compute Group // GroupRemoveRequest struct for destroy the specified Compute Group

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupResizeRequest struct to resize the group // GroupResizeRequest struct to resize the group

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupStartRequest struct to start the specified Compute Group // GroupStartRequest struct to start the specified Compute Group

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupStopRequest struct to stop the specified Compute Group // GroupStopRequest struct to stop the specified Compute Group

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupUpdateRequest struct to update existing Compute group // GroupUpdateRequest struct to update existing Compute group

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupUpdateExtNetRequest struct to update External Network settings // GroupUpdateExtNetRequest struct to update External Network settings

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// GroupUpdateVINSRequest struct to update VINS settings // GroupUpdateVINSRequest struct to update VINS settings

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListRequest struct to get list of BasicService instances // ListRequest struct to get list of BasicService instances

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ListDeletedRequest struct to get list of deleted BasicService instances // ListDeletedRequest struct to get list of deleted BasicService instances

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// MigrateToZone struct to move basic service to another zone // MigrateToZone struct to move basic service to another zone

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// RestoreRequest struct to restore BasicService instance // RestoreRequest struct to restore BasicService instance

View File

@@ -3,7 +3,7 @@ package bservice
import ( import (
"encoding/json" "encoding/json"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/serialization" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/serialization"
) )
// Serialize returns JSON-serialized []byte. Used as a wrapper over json.Marshal and json.MarshalIndent functions. // Serialize returns JSON-serialized []byte. Used as a wrapper over json.Marshal and json.MarshalIndent functions.

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// SnapshotCreateRequest struct to create snapshot // SnapshotCreateRequest struct to create snapshot

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// SnapshotDeleteRequest struct to delete snapshot // SnapshotDeleteRequest struct to delete snapshot

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// SnapshotListRequest struct to get list of existing snapshots // SnapshotListRequest struct to get list of existing snapshots

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// SnapshotRollbackRequest struct to rollback snapshot // SnapshotRollbackRequest struct to rollback snapshot

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// StartRequest struct to start service // StartRequest struct to start service

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// StopRequest struct to stop service // StopRequest struct to stop service

View File

@@ -2,7 +2,7 @@
package cloudapi package cloudapi
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/interfaces" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/interfaces"
) )
// Structure for creating request to CloudAPI groups // Structure for creating request to CloudAPI groups

View File

@@ -1,7 +1,7 @@
package cloudapi package cloudapi
import ( import (
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/pkg/cloudapi/compute" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/pkg/cloudapi/compute"
) )
// Accessing the Compute method group // Accessing the Compute method group

View File

@@ -3,9 +3,8 @@ package compute
import ( import (
"context" "context"
"net/http" "net/http"
"strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AbortSharedSnapshotMergeRequest struct to abort shared snapshots merge // AbortSharedSnapshotMergeRequest struct to abort shared snapshots merge
@@ -19,24 +18,51 @@ type AbortSharedSnapshotMergeRequest struct {
Label string `url:"label" json:"label" validate:"required"` Label string `url:"label" json:"label" validate:"required"`
} }
type wrapperAbortSharedSnapshotMergeRequest struct {
AbortSharedSnapshotMergeRequest
AsyncMode bool `url:"asyncMode"`
}
// AbortSharedSnapshotMerge shared snapshots merge abort // AbortSharedSnapshotMerge shared snapshots merge abort
func (c Compute) AbortSharedSnapshotMerge(ctx context.Context, req AbortSharedSnapshotMergeRequest) (bool, error) { func (c Compute) AbortSharedSnapshotMerge(ctx context.Context, req AbortSharedSnapshotMergeRequest) (string, error) {
err := validators.ValidateRequest(req) err := validators.ValidateRequest(req)
if err != nil { if err != nil {
return false, validators.ValidationErrors(validators.GetErrors(err)) return "", validators.ValidationErrors(validators.GetErrors(err))
}
reqWrapped := wrapperAbortSharedSnapshotMergeRequest{
AbortSharedSnapshotMergeRequest: req,
AsyncMode: false,
} }
url := "/cloudapi/compute/abort_shared_snapshot_merge" url := "/cloudapi/compute/abort_shared_snapshot_merge"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req) res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil { if err != nil {
return false, err return "", err
} }
result, err := strconv.ParseBool(string(res)) return string(res), nil
if err != nil { }
return false, err
} // AbortSharedSnapshotMergeAsync shared snapshots merge abort in async mode
func (c Compute) AbortSharedSnapshotMergeAsync(ctx context.Context, req AbortSharedSnapshotMergeRequest) (string, error) {
return result, nil err := validators.ValidateRequest(req)
if err != nil {
return "", validators.ValidationErrors(validators.GetErrors(err))
}
reqWrapped := wrapperAbortSharedSnapshotMergeRequest{
AbortSharedSnapshotMergeRequest: req,
AsyncMode: true,
}
url := "/cloudapi/compute/abort_shared_snapshot_merge"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}
return string(res), nil
} }

View File

@@ -4,7 +4,7 @@ import (
"context" "context"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AffinityGroupCheckStartRequest struct to check all computes with current affinity label can start // AffinityGroupCheckStartRequest struct to check all computes with current affinity label can start

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AffinityLabelRemoveRequest struct to clear affinity label for compute // AffinityLabelRemoveRequest struct to clear affinity label for compute

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AffinityLabelSetRequest struct to set affinity label for compute // AffinityLabelSetRequest struct to set affinity label for compute

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AffinityRelationsRequest struct to get dict of computes // AffinityRelationsRequest struct to get dict of computes

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AffinityRuleAddRequest struct to add affinity rule // AffinityRuleAddRequest struct to add affinity rule

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AffinityRuleRemoveRequest struct to remove affinity rule // AffinityRuleRemoveRequest struct to remove affinity rule

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AffinityRulesClearRequest struct to clear affinity rules // AffinityRulesClearRequest struct to clear affinity rules

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AntiAffinityRuleAddRequest struct to add anti affinity rule // AntiAffinityRuleAddRequest struct to add anti affinity rule

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AntiAffinityRuleRemoveRequest struct to remove anti affinity rule // AntiAffinityRuleRemoveRequest struct to remove anti affinity rule

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AntiAffinityRulesClearRequest struct to clear anti affinity rules // AntiAffinityRulesClearRequest struct to clear anti affinity rules

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AttachGPURequest struct to attach GPU for compute // AttachGPURequest struct to attach GPU for compute

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AttachPCIDeviceRequest struct to attach PCI device // AttachPCIDeviceRequest struct to attach PCI device

View File

@@ -5,7 +5,7 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// AuditsRequest struct to get audit records // AuditsRequest struct to get audit records

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// BootDiskSetRequest struct to set boot disk for compute // BootDiskSetRequest struct to set boot disk for compute

View File

@@ -4,7 +4,7 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// BootOrderGetRequest struct to get boot order // BootOrderGetRequest struct to get boot order

View File

@@ -4,7 +4,7 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// BootOrderSetRequest struct to set boot order // BootOrderSetRequest struct to set boot order

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// CDEjectRequest struct to eject CD image // CDEjectRequest struct to eject CD image
@@ -15,6 +15,12 @@ type CDEjectRequest struct {
ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"` ComputeID uint64 `url:"computeId" json:"computeId" validate:"required"`
} }
type wrapperCDEjectRequest struct {
CDEjectRequest
AsyncMode bool `url:"asyncMode"`
}
// CDEject eject CD image to compute's CD-ROM // CDEject eject CD image to compute's CD-ROM
func (c Compute) CDEject(ctx context.Context, req CDEjectRequest) (bool, error) { func (c Compute) CDEject(ctx context.Context, req CDEjectRequest) (bool, error) {
err := validators.ValidateRequest(req) err := validators.ValidateRequest(req)
@@ -22,9 +28,14 @@ func (c Compute) CDEject(ctx context.Context, req CDEjectRequest) (bool, error)
return false, validators.ValidationErrors(validators.GetErrors(err)) return false, validators.ValidationErrors(validators.GetErrors(err))
} }
reqWrapped := wrapperCDEjectRequest{
CDEjectRequest: req,
AsyncMode: false,
}
url := "/cloudapi/compute/cdEject" url := "/cloudapi/compute/cdEject"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req) res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil { if err != nil {
return false, err return false, err
} }
@@ -33,5 +44,28 @@ func (c Compute) CDEject(ctx context.Context, req CDEjectRequest) (bool, error)
if err != nil { if err != nil {
return false, err return false, err
} }
return result, nil return result, nil
} }
// CDEjectAsync ejects CD image to compute's CD-ROM with AsyncMode
func (c Compute) CDEjectAsync(ctx context.Context, req CDEjectRequest) (string, error) {
err := validators.ValidateRequest(req)
if err != nil {
return "", validators.ValidationErrors(validators.GetErrors(err))
}
reqWrapped := wrapperCDEjectRequest{
CDEjectRequest: req,
AsyncMode: true,
}
url := "/cloudapi/compute/cdEject"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}
return string(res), nil
}

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// CDInsertRequest struct to insert new CD image // CDInsertRequest struct to insert new CD image
@@ -19,6 +19,12 @@ type CDInsertRequest struct {
CDROMID uint64 `url:"cdromId" json:"cdromId" validate:"required"` CDROMID uint64 `url:"cdromId" json:"cdromId" validate:"required"`
} }
type wrapperCDInsertRequest struct {
CDInsertRequest
AsyncMode bool `url:"asyncMode"`
}
// CDInsert insert new CD image to compute's CD-ROM // CDInsert insert new CD image to compute's CD-ROM
func (c Compute) CDInsert(ctx context.Context, req CDInsertRequest) (bool, error) { func (c Compute) CDInsert(ctx context.Context, req CDInsertRequest) (bool, error) {
err := validators.ValidateRequest(req) err := validators.ValidateRequest(req)
@@ -26,9 +32,14 @@ func (c Compute) CDInsert(ctx context.Context, req CDInsertRequest) (bool, error
return false, validators.ValidationErrors(validators.GetErrors(err)) return false, validators.ValidationErrors(validators.GetErrors(err))
} }
reqWrapped := wrapperCDInsertRequest{
CDInsertRequest: req,
AsyncMode: false,
}
url := "/cloudapi/compute/cdInsert" url := "/cloudapi/compute/cdInsert"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req) res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil { if err != nil {
return false, err return false, err
} }
@@ -37,5 +48,28 @@ func (c Compute) CDInsert(ctx context.Context, req CDInsertRequest) (bool, error
if err != nil { if err != nil {
return false, err return false, err
} }
return result, nil return result, nil
} }
// CDInsertAsync inserts new CD image to compute's CD-ROM with AsyncMode
func (c Compute) CDInsertAsync(ctx context.Context, req CDInsertRequest) (string, error) {
err := validators.ValidateRequest(req)
if err != nil {
return "", validators.ValidationErrors(validators.GetErrors(err))
}
reqWrapped := wrapperCDInsertRequest{
CDInsertRequest: req,
AsyncMode: true,
}
url := "/cloudapi/compute/cdInsert"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}
return string(res), nil
}

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ChangeIPRequest struct to change IP for network // ChangeIPRequest struct to change IP for network
@@ -31,6 +31,12 @@ type ChangeIPRequest struct {
IPAddr string `url:"ip_addr" json:"ip_addr" validate:"required"` IPAddr string `url:"ip_addr" json:"ip_addr" validate:"required"`
} }
type wrapperChangeIPRequest struct {
ChangeIPRequest
AsyncMode bool `url:"asyncMode"`
}
// ChangeIP change reserved IP for compute instance // ChangeIP change reserved IP for compute instance
func (c Compute) ChangeIP(ctx context.Context, req ChangeIPRequest) (bool, error) { func (c Compute) ChangeIP(ctx context.Context, req ChangeIPRequest) (bool, error) {
err := validators.ValidateRequest(req) err := validators.ValidateRequest(req)
@@ -38,9 +44,14 @@ func (c Compute) ChangeIP(ctx context.Context, req ChangeIPRequest) (bool, error
return false, validators.ValidationErrors(validators.GetErrors(err)) return false, validators.ValidationErrors(validators.GetErrors(err))
} }
reqWrapped := wrapperChangeIPRequest{
ChangeIPRequest: req,
AsyncMode: false,
}
url := "/cloudapi/compute/changeIp" url := "/cloudapi/compute/changeIp"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req) res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil { if err != nil {
return false, err return false, err
} }
@@ -52,3 +63,25 @@ func (c Compute) ChangeIP(ctx context.Context, req ChangeIPRequest) (bool, error
return result, nil return result, nil
} }
// ChangeIPAsync change reserved IP for compute instance with AsyncMode
func (c Compute) ChangeIPAsync(ctx context.Context, req ChangeIPRequest) (string, error) {
err := validators.ValidateRequest(req)
if err != nil {
return "", validators.ValidationErrors(validators.GetErrors(err))
}
reqWrapped := wrapperChangeIPRequest{
ChangeIPRequest: req,
AsyncMode: true,
}
url := "/cloudapi/compute/changeIp"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}
return string(res), nil
}

View File

@@ -3,8 +3,9 @@ package compute
import ( import (
"context" "context"
"net/http" "net/http"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ChangeLinkStateRequest struct to change link state // ChangeLinkStateRequest struct to change link state
@@ -23,6 +24,12 @@ type ChangeLinkStateRequest struct {
State string `url:"state" json:"state" validate:"required,interfaceState"` State string `url:"state" json:"state" validate:"required,interfaceState"`
} }
type wrapperChangeLinkStateRequest struct {
ChangeLinkStateRequest
AsyncMode bool `url:"asyncMode"`
}
// ChangeLinkState changes the status link virtual of compute // ChangeLinkState changes the status link virtual of compute
func (c Compute) ChangeLinkState(ctx context.Context, req ChangeLinkStateRequest) (bool, error) { func (c Compute) ChangeLinkState(ctx context.Context, req ChangeLinkStateRequest) (bool, error) {
err := validators.ValidateRequest(req) err := validators.ValidateRequest(req)
@@ -30,9 +37,14 @@ func (c Compute) ChangeLinkState(ctx context.Context, req ChangeLinkStateRequest
return false, validators.ValidationErrors(validators.GetErrors(err)) return false, validators.ValidationErrors(validators.GetErrors(err))
} }
reqWrapped := wrapperChangeLinkStateRequest{
ChangeLinkStateRequest: req,
AsyncMode: false,
}
url := "/cloudapi/compute/changeLinkState" url := "/cloudapi/compute/changeLinkState"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req) res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil { if err != nil {
return false, err return false, err
} }
@@ -41,5 +53,28 @@ func (c Compute) ChangeLinkState(ctx context.Context, req ChangeLinkStateRequest
if err != nil { if err != nil {
return false, err return false, err
} }
return result, nil return result, nil
} }
// ChangeLinkStateAsync changes the status link virtual of compute with AsyncMode
func (c Compute) ChangeLinkStateAsync(ctx context.Context, req ChangeLinkStateRequest) (string, error) {
err := validators.ValidateRequest(req)
if err != nil {
return "", validators.ValidationErrors(validators.GetErrors(err))
}
reqWrapped := wrapperChangeLinkStateRequest{
ChangeLinkStateRequest: req,
AsyncMode: true,
}
url := "/cloudapi/compute/changeLinkState"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}
return string(res), nil
}

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ChangeMACRequest struct to change MAC for network // ChangeMACRequest struct to change MAC for network

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ChangeMTURequest struct to change MTU for a compute // ChangeMTURequest struct to change MTU for a compute
@@ -23,6 +23,12 @@ type ChangeMTURequest struct {
MTU uint64 `url:"mtu" json:"mtu" validate:"required" validate:"omitempty,mtu"` MTU uint64 `url:"mtu" json:"mtu" validate:"required" validate:"omitempty,mtu"`
} }
type wrapperChangeMTURequest struct {
ChangeMTURequest
AsyncMode bool `url:"asyncMode"`
}
// ChangeMTU change MTU for compute instance // ChangeMTU change MTU for compute instance
func (c Compute) ChangeMTU(ctx context.Context, req ChangeMTURequest) (bool, error) { func (c Compute) ChangeMTU(ctx context.Context, req ChangeMTURequest) (bool, error) {
err := validators.ValidateRequest(req) err := validators.ValidateRequest(req)
@@ -30,9 +36,14 @@ func (c Compute) ChangeMTU(ctx context.Context, req ChangeMTURequest) (bool, err
return false, validators.ValidationErrors(validators.GetErrors(err)) return false, validators.ValidationErrors(validators.GetErrors(err))
} }
reqWrapped := wrapperChangeMTURequest{
ChangeMTURequest: req,
AsyncMode: false,
}
url := "/cloudapi/compute/change_mtu" url := "/cloudapi/compute/change_mtu"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req) res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil { if err != nil {
return false, err return false, err
} }
@@ -44,3 +55,25 @@ func (c Compute) ChangeMTU(ctx context.Context, req ChangeMTURequest) (bool, err
return result, nil return result, nil
} }
// ChangeMTUAsync change MTU for compute instance with AsyncMode
func (c Compute) ChangeMTUAsync(ctx context.Context, req ChangeMTURequest) (string, error) {
err := validators.ValidateRequest(req)
if err != nil {
return "", validators.ValidationErrors(validators.GetErrors(err))
}
reqWrapped := wrapperChangeMTURequest{
ChangeMTURequest: req,
AsyncMode: true,
}
url := "/cloudapi/compute/change_mtu"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}
return string(res), nil
}

View File

@@ -5,7 +5,7 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v14/internal/validators" "repository.basistech.ru/BASIS/dynamix-golang-sdk/v15/internal/validators"
) )
// ChangeSecGroupsRequest struct to change security groups for compute // ChangeSecGroupsRequest struct to change security groups for compute
@@ -27,6 +27,12 @@ type ChangeSecGroupsRequest struct {
EnableSecGroups interface{} `url:"enable_secgroups,omitempty" json:"enable_secgroups,omitempty" validate:"omitempty,isBool"` EnableSecGroups interface{} `url:"enable_secgroups,omitempty" json:"enable_secgroups,omitempty" validate:"omitempty,isBool"`
} }
type wrapperChangeSecGroupsRequest struct {
ChangeSecGroupsRequest
AsyncMode bool `url:"asyncMode"`
}
// ChangeSecGroups changes security groups for compute // ChangeSecGroups changes security groups for compute
func (c Compute) ChangeSecGroups(ctx context.Context, req ChangeSecGroupsRequest) (bool, error) { func (c Compute) ChangeSecGroups(ctx context.Context, req ChangeSecGroupsRequest) (bool, error) {
err := validators.ValidateRequest(req) err := validators.ValidateRequest(req)
@@ -34,9 +40,14 @@ func (c Compute) ChangeSecGroups(ctx context.Context, req ChangeSecGroupsRequest
return false, validators.ValidationErrors(validators.GetErrors(err)) return false, validators.ValidationErrors(validators.GetErrors(err))
} }
reqWrapped := wrapperChangeSecGroupsRequest{
ChangeSecGroupsRequest: req,
AsyncMode: false,
}
url := "/cloudapi/compute/change_security_groups" url := "/cloudapi/compute/change_security_groups"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req) res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil { if err != nil {
return false, err return false, err
} }
@@ -48,3 +59,25 @@ func (c Compute) ChangeSecGroups(ctx context.Context, req ChangeSecGroupsRequest
return result, nil return result, nil
} }
// ChangeSecGroupsAsync changes security groups for compute with AsyncMode
func (c Compute) ChangeSecGroupsAsync(ctx context.Context, req ChangeSecGroupsRequest) (string, error) {
err := validators.ValidateRequest(req)
if err != nil {
return "", validators.ValidationErrors(validators.GetErrors(err))
}
reqWrapped := wrapperChangeSecGroupsRequest{
ChangeSecGroupsRequest: req,
AsyncMode: true,
}
url := "/cloudapi/compute/change_security_groups"
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, reqWrapped)
if err != nil {
return "", err
}
return string(res), nil
}

Some files were not shown because too many files have changed in this diff Show More