Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3c5157281e | |||
| f34fa6055c | |||
| 1bf30e8778 | |||
| 77cbe6952b | |||
|
|
0595b5ae39 | ||
| 55fe76d12e | |||
| db594a9d81 | |||
|
|
538f5cf026 | ||
| f6acddaa8d | |||
| f1112e5a11 | |||
|
|
3e2edf53a5 | ||
| 8f8a81eea4 | |||
|
|
d82ae52951 | ||
|
|
5e5d90e24f | ||
|
|
cd67633a52 | ||
| 0812c5a8af | |||
| 8abb20dcde | |||
|
|
825cc4387f | ||
| aa3e9ad4ab | |||
|
|
5b2866bf0e | ||
|
|
a92bdecb29 | ||
|
|
2ded555d47 | ||
| 274b349012 | |||
|
|
9a34be9d4e | ||
| b3df483fc2 |
217
CHANGELOG.md
217
CHANGELOG.md
@@ -1,50 +1,209 @@
|
|||||||
## Version 13.5.0
|
## Version 16.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 с соответствующими фильтрами
|
Метод `ConfigFieldEdit` в cloudbroker/sep стал deprecated и в следующих версиях будет удалён
|
||||||
Метод `ListNodes` в cloudbroker/image стал deprecated и в следующих версиях будет удалён
|
|
||||||
Методы `AccessGrant`, `AccessGrantToPool`, `AccessRevoke`, `AccessRevokeToPool` в cloudbroker/sep стали deprecated и в следующих версиях будут удалены
|
|
||||||
Методы `ComputeCISet`, `ComputeCIUnset`, `GetAudits` в cloudbroker/computeGetAudits и `GetAudits` в cloudbroker/compute стали deprecated и будут удалены в следующих версиях
|
|
||||||
Методы `ComputeCISet`, `ComputeCIUnset` в cloudbroker/image стали deprecated и будут удалены в следующих версиях
|
|
||||||
|
|
||||||
Все методы группы `.SDN()` находятся в альфа-версии.
|
|
||||||
|
|
||||||
### Добавлено
|
### Добавлено
|
||||||
|
|
||||||
#### disks
|
#### Общее
|
||||||
| Идентификатор<br>задачи | Описание |
|
| Идентификатор задачи | Описание |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| BGOS-735 | Вычисляемое поле `Cache` в структуры ответа `ItemDiskUnattached` в cloudapi/disks и в cloudbroker/disks |
|
| BGOS-991 | Допустимые значения `vgpu` и `pcidevice` в валидатор возможностей гипервизора ComputeFeatures |
|
||||||
|
|
||||||
#### node
|
#### account
|
||||||
| Идентификатор<br>задачи | Описание |
|
| Идентификатор задачи | Описание |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| BGOS-738 | Структура запроса `AutoStartRequest`, метод `AutoStart` в cloudbroker/node |
|
| BGOS-986 | Вычисляемое поле `EnableDefaultGateway` в структуру ответа `ItemVINS` в cloudbroker/account и cloudapi/account |
|
||||||
| BGOS-738 | Опциональное поле `AutoStart` в структуру запроса `MaintenanceRequest` в cloudbroker/node |
|
| BGOS-989 | Вычисляемые поля `Starting`, `Stopping`, `Paused`, `Pausing`, `Merge`, `Migrating`, `MigratingIn`, `MigratingOut`, `Down`, `Scheduled`, `BackupStopped`, `BackupRunning`, `Snapcreate`, `Cloning` и `Rollback` в структуры ответа `Computes` и `RGComputes` в cloudapi/account |
|
||||||
| BGOS-738 | Вычисляемые поля `AutoStart`, `AutoStartCount` в структуры ответов `ItemNode` и `RecordNode` в cloudbroker/node |
|
| BGOS-989 | Вычисляемые поля `Starting`, `Stopping`, `Paused`, `Pausing`, `Merge`, `Migrating`, `MigratingIn`, `MigratingOut`, `Down`, `Scheduled`, `BackupStopped`, `BackupRunning`, `Snapcreate`, `Cloning` и `Rollback` в структуру ответа `Computes` в cloudbroker/account |
|
||||||
| BGOS-743 | Структура запроса `NodeAutoStartRequest`, метод `NodeAutoStart` в cloudbroker/zone |
|
|
||||||
|
#### compute
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-977 | Вычисляемое поле `ImageID` в структуру ответа `InfoDisk` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
| BGOS-978 | Вычисляемое поле `WatchdogAction` в структуры ответа `RecordCompute` и `ItemCompute` в cloudapi/compute |
|
||||||
|
| BGOS-978 | Вычисляемое поле `WatchdogAction` в структуры ответа `RecordCompute` и `InfoCompute` в cloudbroker/compute |
|
||||||
|
| BGOS-979 | Опциональное поле `WatchdogAction` в структуру запроса `UpdateRequest` в cloudapi/compute и cloudbroker/compute |
|
||||||
|
| BGOS-994 | Вычисляемое поле `QoSPolicies` в структуру ответа `ItemVNFInterface` в cloudapi/compute |
|
||||||
|
| BGOS-994 | Вычисляемое поле `QoSPolicies` в структуру ответа `ItemInterface` в cloudbroker/compute |
|
||||||
|
| BGOS-994 | Опциональное поле `QoSPolicies` в структуру запроса `NetAttachRequest` в cloudapi/compute и cloudbroker/compute |
|
||||||
|
| BGOS-994 | Методы `ChangeQoSPolicies` и `ChangeQoSPoliciesAsync` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
| BGOS-995 | Вычисляемые поля `ComputeID`, `BusNumber`, `DeviceReference`, `MdevUUID`, `ParentPCIAddress`, `ProfileReference` и `SplitMode` в структуру ответа `ItemVGPU` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
| BGOS-999 | Вычисляемое поле `AccountIDs` в структуру ответа `ItemPCIDevice` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
|
||||||
|
#### disks
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-976 | Метод `CreateAsync` в cloudapi/disks |
|
||||||
|
| BGOS-976 | Методы `CreateAsync` и `MigrateAsync` в cloudbroker/disks |
|
||||||
|
|
||||||
|
#### grid
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-1000 | Вычисляемые поля `ReservedCPU` и `ReservedRAM` в структуру ответа `RecordSettingsGrid` в cloudbroker/grid |
|
||||||
|
|
||||||
|
#### kvmx86
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-979 | Опциональное поле `WatchdogAction` в структуры запроса `CreateRequest` и `CreateBlankRequest` в cloudapi/kvmx86 |
|
||||||
|
| BGOS-979 | Опциональное поле `WatchdogAction` в структуры запроса `CreateRequest`, `CreateBlankRequest` и `MassCreateRequest` в cloudbroker/kvmx86 |
|
||||||
|
| BGOS-983 | Метод `CreateAsync` в cloudbroker/kvmx86 и cloudapi/kvmx86 |
|
||||||
|
| BGOS-984 | Опциональное поле `ReadOnly` в структуру запроса `DataDisk` в cloudbroker/kvmx86 и cloudapi/kvmx86 |
|
||||||
|
| BGOS-994 | Опциональное поле `QoSPolicies` в структуру запроса `Interface` в cloudbroker/kvmx86 и cloudapi/kvmx86 |
|
||||||
|
| BGOS-994 | Опциональное поле `QoSPolicies` в структуру запроса `InterfaceMassCreate` в cloudbroker/kvmx86 |
|
||||||
|
|
||||||
|
#### locations
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-992 | Вычисляемое поле `Budget` в структуру ответа `ItemLocation` в cloudapi/locations |
|
||||||
|
|
||||||
|
#### network qos policy
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-993 | Группа ручек `QoSPolicy` в cloudbroker/qospolicy и cloudapi/qospolicy |
|
||||||
|
|
||||||
|
#### resmon
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-981 | Вычисляемое поле `TotalVCPUs` в структуру ответа `GetByNodePoint` в cloudbroker/resmon |
|
||||||
|
|
||||||
|
#### rg
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-998 | Опциональное поле `IPCIDR` в структуру запроса `CreateRequest` в cloudbroker/rg |
|
||||||
|
|
||||||
|
#### tasks
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-996 | Опицональные поля `CreatedTimeAt` и `CreatedTimeTo` в структуру запроса `ListRequest` в cloudapi/tasks и cloudbroker/tasks |
|
||||||
|
| BGOS-996 | Вычисляемое поле `CreatedTime` в структуру ответа `RecordAsyncTask` в cloudapi/tasks |
|
||||||
|
| BGOS-996 | Вычисляемое поле `CreatedTime` в структуру ответа `ItemTask` в cloudbroker/tasks |
|
||||||
|
|
||||||
|
#### user
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-988 | Вычисляемые поля `Destroying`, `Confirmed` и `Deleted` в структуру ответа `Accounts` в cloudapi/user |
|
||||||
|
| BGOS-988 | Вычисляемые поля `Starting`, `Stopping`, `Paused`, `Pausing`, `Merge`, `Migrating`, `MigratingIn`, `MigratingOut`, `Down`, `Scheduled`, `BackupStopped`, `BackupRunning`, `Snapcreate`, `Cloning` и `Rollback` в структуру ответа `Computes` в cloudapi/user |
|
||||||
|
| BGOS-988 | Вычисляемые поля `Modeled`, `Created`, `Deleted`, `Deleting`, `Destroying`, `Disabling`, `Enabling` и `Restoring` в структуру ответа `RGs` в cloudapi/user |
|
||||||
|
|
||||||
|
#### vins
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-986 | Вычисляемое поле `EnableDefaultGateway` в структуру ответа `ItemVINS` в cloudapi/vins |
|
||||||
|
|
||||||
|
#### vgpu
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-980 | Опциональные поля `AccountIDs`, `MDEVType` и `PCIAddress` в структуру запроса `CreateRequest` в cloudbroker/vgpu |
|
||||||
|
| BGOS-980 | Опциональное поле `SplitMode` в структуру запроса `ListRequest` в cloudbroker/vgpu и cloudapi/vgpu |
|
||||||
|
| BGOS-980 | Вычисляемые поля `ComputeID`, `DeviceReference`, `MdevUUID`, `ParentPCIAddress`, `ProfileReference` и `SplitMode` в структуру ответа `ItemVGPU` в cloudbroker/vgpu и cloudapi/vgpu |
|
||||||
|
| BGOS-980 | Вычисляемое поле `BusNumber` в структуру ответа `ItemVGPU` в cloudbroker/vgpu |
|
||||||
|
|
||||||
#### zone
|
#### zone
|
||||||
| Идентификатор<br>задачи | Описание |
|
| Идентификатор задачи | Описание |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| BGOS-737 | Опциональное поле `AutoStart` в структуру запроса `UpdateRequest` в cloudbroker/zone |
|
| BGOS-997 | Вычисляемые поля `SDRS`, `SDRSMode` и `LoggingLevel` в структуры ответа `RecordZone` и `ItemZone` в cloudapi/zone и cloudbroker/zone |
|
||||||
| BGOS-737 | Вычисляемое поле `AutoStart` в структуры ответа `RecordZone` в cloudapi/zone и в cloudbroker/zone |
|
|
||||||
|
|
||||||
### Изменено
|
### Изменено
|
||||||
|
|
||||||
#### sep
|
#### bservice
|
||||||
| Идентификатор<br>задачи | Описание |
|
| Идентификатор задачи | Описание |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| BGOS-740 | Тип поля `Force` с обязательного на опциональный в структуре запроса `DelConsumerNodesRequest` в cloudbroker/sep |
|
| BGOS-1003 | Тип опционального поля `UserData` в структуре запроса `GroupAddRequest` сo `string` на `interface{}` в cloudbroker/bservice и cloudapi/bservice |
|
||||||
|
|
||||||
|
#### compute
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-995 | Название вычисляемого поля `AccountID` на `AccountIDs` и тип с `uint64` на `[]uint64` в структуре ответа `ItemVGPU` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
| BGOS-995 | Тип вычисляемого поля `VGPUs` с `[]VGPUItem` на `[]ItemVGPU` в структурах ответов `RecordCompute` и `SnapRecordCompute` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
|
||||||
|
#### disks
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-987 | Тип опционального поля `Status` в структуре запроса `ListRequest` с `string` на `[]string` в cloudbroker/disks и cloudapi/disks |
|
||||||
|
|
||||||
|
#### k8s
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-1002 | Тип опционального поля `UserData` в структурах запросов `CreateRequest` и `UpdateWorkerNodesMetaDataRequest` со `string` на `interface{}` в cloudbroker/k8s и cloudapi/k8s |
|
||||||
|
|
||||||
|
#### node
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-982 | Тип вычисляемого поля `Total` с `ResourcesInfo` на `FreeResourcesInfo` в структуре ответа `ConsumptionInfo` в cloudbroker/node |
|
||||||
|
|
||||||
|
#### vgpu
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-980 | Тип опционального поля `ProfileID` в структуре запроса `CreateRequest` с `uint64` на `string` в cloudbroker/vgpu |
|
||||||
|
| BGOS-980 | Название вычисляемого поля `AccountID` на `AccountIDs` и тип с `uint64` на `[]uint64` в структуре ответа `ItemVGPU` в cloudbroker/vgpu и cloudapi/vgpu |
|
||||||
|
| BGOS-980 | Название опционального поля `NID` на `NodeID` в структуре запроса `ListRequest` в cloudbroker/vgpu и cloudapi/vgpu |
|
||||||
|
|
||||||
|
|
||||||
### Удалено
|
### Удалено
|
||||||
|
|
||||||
#### bservice
|
#### account
|
||||||
| Идентификатор<br>задачи | Описание |
|
| Идентификатор задачи | Описание |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| BGOS-739 | Обязательное поле `Driver` в структурах запроса `GroupAddRequest` в cloudapi/bservice и в cloudbroker/bservice |
|
| BGOS-975 | Метод `Audits` из cloudapi/account и cloudbroker/account |
|
||||||
|
| BGOS-975 | Методы `Delete`, `Disable`, `Enable`, `GetConsumedCloudUnitsByType` и `GetReservedAccountUnits` из cloudapi/account |
|
||||||
|
| BGOS-975 | Методы `Disable` и `Enable` из cloudbroker/account |
|
||||||
|
|
||||||
#### flipgroup
|
#### compute
|
||||||
| Идентификатор<br>задачи | Описание |
|
| Идентификатор задачи | Описание |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| BGOS-742 | Опциональное поле `RGID` из структуры запроса `ListRequest` в cloudapi/flipgroup и в cloudbroker/flipgroup |
|
| BGOS-975 | Метод `Audits` из cloudapi/compute и cloudbroker/compute |
|
||||||
| BGOS-742 | Вычисляемые поля `RGName` и `RGID` из структуры ответа `RecordFLIPGroup` в cloudapi/flipgroup и в cloudbroker/flipgroup |
|
| BGOS-975 | Методы `ComputeCISet`, `ComputeCIUnset`, `GetLog` и `GetAudits` из cloudbroker/compute |
|
||||||
|
| BGOS-975 | Метод `GetAudits` из cloudapi/compute |
|
||||||
|
| BGOS-995 | Вычисляемые поля `LastClaimedBy`, `Mode`, `ProfileID`, `RAM`, `ReferenceID`, `RGID`, `Type` и `VMID` из структуры `ItemVGPU` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
| BGOS-995 | Cтруктура `VGPUItem` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
| BGOS-999 | Вычисляемое поле `RGID` из структуры ответа `ItemPCIDevice` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
| BGOS-999 | Опциональное поле `RGID` из структуры запроса `ListPCIDeviceRequest` в cloudbroker/compute и cloudapi/compute |
|
||||||
|
|
||||||
|
#### grid
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-975 | Методы `ExecuteMaintenanceScript`, `ListEmails` и `ServicesRestart` из cloudbroker/grid |
|
||||||
|
|
||||||
|
#### group
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-975 | Метод `Get` из cloudbroker/group |
|
||||||
|
|
||||||
|
#### image
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-975 | Методы `ComputeCISet` и `ComputeCIUnset` из cloudbroker/image |
|
||||||
|
|
||||||
|
#### rg
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-975 | Метод `Audits` из cloudapi/rg и cloudbroker/rg |
|
||||||
|
|
||||||
|
#### sep
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-975 | Методы `AccessGrant`, `AccessGrantToPool`, `AccessRevoke` и `AccessRevokeToPool` из cloudbroker/sep |
|
||||||
|
|
||||||
|
#### user
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-975 | Метод `IsValidInviteUserToken` из cloudapi/user |
|
||||||
|
| BGOS-975 | Метод `GetAudit` из cloudapi/user и cloudbroker/user |
|
||||||
|
| BGOS-988 | Структуры `CSs` и `VMs` из структуры ответа `BriefResources` из cloudapi/user |
|
||||||
|
| BGOS-988 | Вычисляемое поле `Enabled` из структур ответов `Accounts` и `RGs` из cloudapi/user |
|
||||||
|
|
||||||
|
#### vins
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-975 | Метод `Audits` из cloudapi/vins и cloudbroker/vins |
|
||||||
|
|
||||||
|
#### vgpu
|
||||||
|
| Идентификатор задачи | Описание |
|
||||||
|
| --- | --- |
|
||||||
|
| BGOS-980 | Опциональные поля `RGID` и `Allocate` из структуры запроса `CreateRequest` в cloudbroker/vgpu |
|
||||||
|
| BGOS-980 | Опциональные поле `Force` из структуры запроса `DestroyRequest` в cloudbroker/vgpu |
|
||||||
|
| BGOS-980 | Опциональные поля `Type`, `Mode` и `RGID` из структуры запроса `ListRequest` в cloudbroker/vgpu и cloudapi/vgpu |
|
||||||
|
| BGOS-980 | Вычисляемые поля `LastClaimedBy`, `Mode`, `ProfileID`, `RAM`, `ReferenceID`, `RGID`, `Type` и `VMID` из структуры ответа `ItemVGPU` в cloudbroker/vgpu и cloudapi/vgpu |
|
||||||
|
| BGOS-980 | Методы `Allocate` и `Deallocate` из cloudbroker/vgpu |
|
||||||
138
README.md
138
README.md
@@ -9,6 +9,9 @@ Dynamix SDK - это библиотека, написанная на языке
|
|||||||
- Версия 11.0.х Dynamix-SDK соответствует 4.3.0 версии платформы
|
- Версия 11.0.х Dynamix-SDK соответствует 4.3.0 версии платформы
|
||||||
- Версия 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 версии платформы
|
||||||
|
- Версия 15.x.х Dynamix-SDK соответствует 4.7.0 версии платформы
|
||||||
|
- Версия 16.x.х Dynamix-SDK соответствует 4.8.0 версии платформы
|
||||||
|
|
||||||
## Оглавление
|
## Оглавление
|
||||||
|
|
||||||
@@ -83,7 +86,7 @@ Dynamix SDK - это библиотека, написанная на языке
|
|||||||
Выполните команду в терминале:
|
Выполните команду в терминале:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v13
|
go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v16
|
||||||
```
|
```
|
||||||
|
|
||||||
## Список API
|
## Список API
|
||||||
@@ -114,6 +117,7 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v13
|
|||||||
- `LB` - управление балансировщиками нагрузки;
|
- `LB` - управление балансировщиками нагрузки;
|
||||||
- `Locations` - получение информации о grid площадки;
|
- `Locations` - получение информации о grid площадки;
|
||||||
- `Prometheus` - получение статистики prometheus;
|
- `Prometheus` - получение статистики prometheus;
|
||||||
|
- `QoS Policy` - управление политиками качества обслуживания сети;
|
||||||
- `RG` - управление ресурсными группами аккаунта;
|
- `RG` - управление ресурсными группами аккаунта;
|
||||||
- `Security group` – управление группами безопасности;
|
- `Security group` – управление группами безопасности;
|
||||||
- `SEP` - управление storage endpoint (sep);
|
- `SEP` - управление storage endpoint (sep);
|
||||||
@@ -122,6 +126,7 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v13
|
|||||||
- `Trunk` - получение информации о транковых портах;
|
- `Trunk` - получение информации о транковых портах;
|
||||||
- `VFPool` - управление пулом виртуальных сетевых функций;
|
- `VFPool` - управление пулом виртуальных сетевых функций;
|
||||||
- `VINS` - управление виртуальными изолированными сетями;
|
- `VINS` - управление виртуальными изолированными сетями;
|
||||||
|
- `VGPU` - управление виртуальными графическими процессорами;
|
||||||
- `Zone` - управление зонами.
|
- `Zone` - управление зонами.
|
||||||
|
|
||||||
### Cloudbroker
|
### Cloudbroker
|
||||||
@@ -149,6 +154,7 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v13
|
|||||||
- `Node` - управление нодами платформы;
|
- `Node` - управление нодами платформы;
|
||||||
- `PCIDevice` - управление устройствами;
|
- `PCIDevice` - управление устройствами;
|
||||||
- `Prometheus` - получение статистики prometheus;
|
- `Prometheus` - получение статистики prometheus;
|
||||||
|
- `QoS Policy` - управление политиками качества обслуживания сети;
|
||||||
- `Resmon` - получение статистики resource monitoring;
|
- `Resmon` - получение статистики resource monitoring;
|
||||||
- `RG` - управление ресурсными группами аккаунта;
|
- `RG` - управление ресурсными группами аккаунта;
|
||||||
- `Security group` – управление группами безопасности;
|
- `Security group` – управление группами безопасности;
|
||||||
@@ -171,12 +177,14 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v13
|
|||||||
- `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;
|
||||||
|
|
||||||
## Работа с библиотекой
|
## Работа с библиотекой
|
||||||
|
|
||||||
@@ -207,7 +215,7 @@ go get -u repository.basistech.ru/BASIS/dynamix-golang-sdk/v13
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main(){
|
func main(){
|
||||||
@@ -232,7 +240,7 @@ func main(){
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -277,8 +285,8 @@ sslSkipVerify: false
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -324,6 +332,7 @@ func main() {
|
|||||||
- `pkg/cloudapi/lb` - для `LB`
|
- `pkg/cloudapi/lb` - для `LB`
|
||||||
- `pkg/cloudapi/locations` - для `Locations`
|
- `pkg/cloudapi/locations` - для `Locations`
|
||||||
- `pkg/cloudapi/prometheus` - для `Prometheus`
|
- `pkg/cloudapi/prometheus` - для `Prometheus`
|
||||||
|
- `pkg/cloudapi/qospolicy` - для `QoS Policy`
|
||||||
- `pkg/cloudapi/rg` - для `RG`
|
- `pkg/cloudapi/rg` - для `RG`
|
||||||
- `pkg/cloudapi/secgroup` - для `Security group`
|
- `pkg/cloudapi/secgroup` - для `Security group`
|
||||||
- `pkg/cloudapi/sep` - для `SEP`
|
- `pkg/cloudapi/sep` - для `SEP`
|
||||||
@@ -332,6 +341,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`
|
||||||
@@ -354,6 +364,7 @@ func main() {
|
|||||||
- `pkg/cloudbroker/node` - для `Node`
|
- `pkg/cloudbroker/node` - для `Node`
|
||||||
- `pkg/cloudbroker/pcidevice` - для `PCIDevice`
|
- `pkg/cloudbroker/pcidevice` - для `PCIDevice`
|
||||||
- `pkg/cloudbroker/prometheus` - для `Prometheus`
|
- `pkg/cloudbroker/prometheus` - для `Prometheus`
|
||||||
|
- `pkg/cloudbroker/qospolicy` - для `QoS Policy`
|
||||||
- `pkg/cloudbroker/resmon` - для `Resmon`
|
- `pkg/cloudbroker/resmon` - для `Resmon`
|
||||||
- `pkg/cloudbroker/rg` - для `RG`
|
- `pkg/cloudbroker/rg` - для `RG`
|
||||||
- `pkg/cloudbroker/secgroup` - для `Security group`
|
- `pkg/cloudbroker/secgroup` - для `Security group`
|
||||||
@@ -371,12 +382,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`
|
||||||
|
|
||||||
Все поля структуры имеют описание, в которых содержится:
|
Все поля структуры имеют описание, в которых содержится:
|
||||||
|
|
||||||
@@ -456,17 +469,7 @@ type CreateRequest struct {
|
|||||||
|
|
||||||
// Node ID
|
// Node ID
|
||||||
// Required: false
|
// Required: false
|
||||||
NodeID uint64 `url:"nodeId,omitempty" json:"nodeId,omitempty"`
|
NodeID uint64 `url:"nodeId,omitempty" json:"nodeId,omitempty"`
|
||||||
|
|
||||||
// System name
|
|
||||||
// Required: false
|
|
||||||
IS string `url:"IS,omitempty" json:"IS,omitempty"`
|
|
||||||
|
|
||||||
// Compute purpose
|
|
||||||
// Required: false
|
|
||||||
IPAType string `url:"ipaType,omitempty" json:"ipaType,omitempty"`
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -476,9 +479,9 @@ type CreateRequest struct {
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/kvmx86"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi/kvmx86"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -530,6 +533,7 @@ func main() {
|
|||||||
- `.LB()` - для работы с `LB`
|
- `.LB()` - для работы с `LB`
|
||||||
- `.Locations()` - для работы с `Locations`
|
- `.Locations()` - для работы с `Locations`
|
||||||
- `.Prometheus()` - для работы с `Prometheus`
|
- `.Prometheus()` - для работы с `Prometheus`
|
||||||
|
- `.QoSPolicy()` - для работы с `QoS Policy`
|
||||||
- `.RG()` - для работы с `RG`
|
- `.RG()` - для работы с `RG`
|
||||||
- `.SecurityGroup()` - для работы с `Security Group`
|
- `.SecurityGroup()` - для работы с `Security Group`
|
||||||
- `.SEP()` - для работы с `SEP`
|
- `.SEP()` - для работы с `SEP`
|
||||||
@@ -538,6 +542,7 @@ func main() {
|
|||||||
- `.Trunk()` - для работы с `Trunk`
|
- `.Trunk()` - для работы с `Trunk`
|
||||||
- `.VFPool()` - для работы с `VFPool`
|
- `.VFPool()` - для работы с `VFPool`
|
||||||
- `.VINS()` - для работы с `VINS`
|
- `.VINS()` - для работы с `VINS`
|
||||||
|
- `.VGPU()` - для работы с `VGPU`
|
||||||
- `.Zone()` - для работы с `Zone`
|
- `.Zone()` - для работы с `Zone`
|
||||||
|
|
||||||
Доступные методы для `.CloudBroker()`:
|
Доступные методы для `.CloudBroker()`:
|
||||||
@@ -562,6 +567,7 @@ func main() {
|
|||||||
- `.Node()` - для работы с `Node`
|
- `.Node()` - для работы с `Node`
|
||||||
- `.PCIDevice()` - для работы с `PCIDevice`
|
- `.PCIDevice()` - для работы с `PCIDevice`
|
||||||
- `.Prometheus()` - для работы с `Prometheus`
|
- `.Prometheus()` - для работы с `Prometheus`
|
||||||
|
- `.QoSPolicy()` - для работы с `QoS Policy`
|
||||||
- `.Resmon()` - для работы с `Resmon`
|
- `.Resmon()` - для работы с `Resmon`
|
||||||
- `.RG()` - для работы с `RG`
|
- `.RG()` - для работы с `RG`
|
||||||
- `.SecurityGroup()` - для работы с `Security Group`
|
- `.SecurityGroup()` - для работы с `Security Group`
|
||||||
@@ -581,12 +587,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. Вызвать метод, отвечающий за выполнение запроса и передать в него:
|
||||||
|
|
||||||
@@ -612,9 +620,9 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/kvmx86"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi/kvmx86"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -662,9 +670,9 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/account"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi/account"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -842,9 +850,9 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"log"
|
"log"
|
||||||
|
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudbroker/compute"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudbroker/compute"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -900,9 +908,9 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/bservice"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi/bservice"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -955,10 +963,10 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/tasks"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi/tasks"
|
||||||
tasks_cb "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudbroker/tasks"
|
tasks_cb "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudbroker/tasks"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1038,7 +1046,7 @@ func main() {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main(){
|
func main(){
|
||||||
@@ -1062,7 +1070,7 @@ func main(){
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1103,8 +1111,8 @@ sslSkipVerify: true
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1131,8 +1139,8 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1214,7 +1222,7 @@ func main() {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main(){
|
func main(){
|
||||||
@@ -1242,7 +1250,7 @@ func main(){
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1259,7 +1267,7 @@ func main() {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1325,8 +1333,8 @@ func main() {
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1359,8 +1367,8 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1400,8 +1408,8 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1439,8 +1447,8 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1493,11 +1501,11 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/constants"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/constants"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudbroker/kvmx86"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudbroker/kvmx86"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1559,7 +1567,7 @@ func main() {
|
|||||||
|
|
||||||
```go
|
```go
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main(){
|
func main(){
|
||||||
@@ -1592,8 +1600,8 @@ func main(){
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1624,8 +1632,8 @@ package main
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13"
|
decort "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -1670,14 +1678,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/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main(){
|
func main(){
|
||||||
@@ -1710,7 +1718,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/v13"
|
decortsdk "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Пример юнит тестирования на моках
|
// Пример юнит тестирования на моках
|
||||||
|
|||||||
2
check.go
2
check.go
@@ -8,7 +8,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/constants"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/constants"
|
||||||
)
|
)
|
||||||
|
|
||||||
type CheckInfo struct {
|
type CheckInfo struct {
|
||||||
|
|||||||
18
client.go
18
client.go
@@ -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/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/constants"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/constants"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudbroker"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudbroker"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/sdn"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/sdn"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DecortClient is HTTP-client for platform
|
// DecortClient is HTTP-client for platform
|
||||||
@@ -34,8 +34,12 @@ type DecortClient struct {
|
|||||||
mutex *sync.Mutex
|
mutex *sync.Mutex
|
||||||
}
|
}
|
||||||
|
|
||||||
// Сlient builder
|
// Client builder
|
||||||
func New(cfg config.Config) *DecortClient {
|
func New(cfg config.Config) *DecortClient {
|
||||||
|
if err := validators.ValidateConfig(cfg); err != nil {
|
||||||
|
panic(validators.ValidationErrors(validators.GetErrors(err)))
|
||||||
|
}
|
||||||
|
|
||||||
if cfg.Retries == 0 {
|
if cfg.Retries == 0 {
|
||||||
cfg.Retries = 5
|
cfg.Retries = 5
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,11 +14,12 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/go-querystring/query"
|
"github.com/google/go-querystring/query"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/constants"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/constants"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudbroker"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/sdn"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudbroker"
|
||||||
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/sdn"
|
||||||
)
|
)
|
||||||
|
|
||||||
// BVSDecortClient is HTTP-client for platform
|
// BVSDecortClient is HTTP-client for platform
|
||||||
@@ -38,6 +39,10 @@ type tokenJSON struct {
|
|||||||
|
|
||||||
// Сlient builder
|
// Сlient builder
|
||||||
func NewBVS(cfg config.BVSConfig) *BVSDecortClient {
|
func NewBVS(cfg config.BVSConfig) *BVSDecortClient {
|
||||||
|
if err := validators.ValidateConfig(cfg); err != nil {
|
||||||
|
panic(validators.ValidationErrors(validators.GetErrors(err)))
|
||||||
|
}
|
||||||
|
|
||||||
if cfg.Retries == 0 {
|
if cfg.Retries == 0 {
|
||||||
cfg.Retries = 5
|
cfg.Retries = 5
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
package decortsdk
|
package decortsdk
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudbroker"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudbroker"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/sdn"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/sdn"
|
||||||
)
|
)
|
||||||
|
|
||||||
type MockDecortClient struct {
|
type MockDecortClient struct {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Configuration for creating request to platform
|
// Configuration for creating request to platform
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/serialization"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/serialization"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
type BVSConfig struct {
|
type BVSConfig struct {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Legacy client configuration
|
// Legacy client configuration
|
||||||
|
|||||||
2
go.mod
2
go.mod
@@ -1,4 +1,4 @@
|
|||||||
module repository.basistech.ru/BASIS/dynamix-golang-sdk/v13
|
module repository.basistech.ru/BASIS/dynamix-golang-sdk/v16
|
||||||
|
|
||||||
go 1.24.0
|
go 1.24.0
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,9 @@ 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.8.0": "-",
|
||||||
|
"4.7.0": "-",
|
||||||
|
"4.6.0": "-",
|
||||||
"4.5.0": "-",
|
"4.5.0": "-",
|
||||||
"4.4.0": "-",
|
"4.4.0": "-",
|
||||||
"4.3.0": "-",
|
"4.3.0": "-",
|
||||||
|
|||||||
@@ -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/v13/interfaces"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/interfaces"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/multierror"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/multierror"
|
||||||
)
|
)
|
||||||
|
|
||||||
// protoValidator is used to validate Proto fields.
|
// protoValidator is used to validate Proto fields.
|
||||||
@@ -86,13 +86,6 @@ func computeModeValidator(fe validator.FieldLevel) bool {
|
|||||||
return IsInSlice(fieldValue, computeModeValues)
|
return IsInSlice(fieldValue, computeModeValues)
|
||||||
}
|
}
|
||||||
|
|
||||||
// computeDiskTypeValidator is used to validate DiskType field.
|
|
||||||
func computeDiskTypeValidator(fe validator.FieldLevel) bool {
|
|
||||||
fieldValue := fe.Field().String()
|
|
||||||
|
|
||||||
return IsInSlice(fieldValue, computeDiskTypeValues)
|
|
||||||
}
|
|
||||||
|
|
||||||
// computeNetTypeValidator is used to validate NetType field.
|
// computeNetTypeValidator is used to validate NetType field.
|
||||||
func computeNetTypeValidator(fe validator.FieldLevel) bool {
|
func computeNetTypeValidator(fe validator.FieldLevel) bool {
|
||||||
fieldValue := fe.Field().String()
|
fieldValue := fe.Field().String()
|
||||||
@@ -151,13 +144,6 @@ func computeDataDisksValidator(fe validator.FieldLevel) bool {
|
|||||||
return IsInSlice(fieldValue, computeDataDisksValues)
|
return IsInSlice(fieldValue, computeDataDisksValues)
|
||||||
}
|
}
|
||||||
|
|
||||||
// diskTypeValidator is used to validate Type field.
|
|
||||||
func diskTypeValidator(fe validator.FieldLevel) bool {
|
|
||||||
fieldValue := fe.Field().String()
|
|
||||||
|
|
||||||
return IsInSlice(fieldValue, diskTypeValues)
|
|
||||||
}
|
|
||||||
|
|
||||||
// flipgroupClientTypeValidator is used to validate ClientType field.
|
// flipgroupClientTypeValidator is used to validate ClientType field.
|
||||||
func flipgroupClientTypeValidator(fe validator.FieldLevel) bool {
|
func flipgroupClientTypeValidator(fe validator.FieldLevel) bool {
|
||||||
fieldValue := fe.Field().String()
|
fieldValue := fe.Field().String()
|
||||||
@@ -364,6 +350,10 @@ func isBoolTypeValidator(fe validator.FieldLevel) bool {
|
|||||||
return fe.Field().CanConvert(reflect.TypeOf(true))
|
return fe.Field().CanConvert(reflect.TypeOf(true))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func isStringTypeValidator(fe validator.FieldLevel) bool {
|
||||||
|
return fe.Field().Kind() == reflect.String
|
||||||
|
}
|
||||||
|
|
||||||
func urlValidartor(fl validator.FieldLevel) bool {
|
func urlValidartor(fl validator.FieldLevel) bool {
|
||||||
fieldValues := fl.Field().String()
|
fieldValues := fl.Field().String()
|
||||||
|
|
||||||
@@ -478,3 +468,29 @@ 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
|
||||||
|
}
|
||||||
|
|
||||||
|
func watchdogActionValidator(fe validator.FieldLevel) bool {
|
||||||
|
fieldValue := fe.Field().String()
|
||||||
|
|
||||||
|
return IsInSlice(fieldValue, watchdogActionVaues)
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ package validators
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/multierror"
|
|
||||||
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/multierror"
|
||||||
|
|
||||||
"github.com/go-playground/validator/v10"
|
"github.com/go-playground/validator/v10"
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ func errorMessage(fe validator.FieldError) string {
|
|||||||
// Common Validators
|
// Common Validators
|
||||||
case "required":
|
case "required":
|
||||||
return fmt.Sprintf("%s %s is required", prefix, fe.Field())
|
return fmt.Sprintf("%s %s is required", prefix, fe.Field())
|
||||||
|
case "required_without_all":
|
||||||
|
return fmt.Sprintf("%s at least one of the following must be specified: %s",
|
||||||
|
prefix,
|
||||||
|
joinValues(append([]string{fe.Field()}, strings.Fields(fe.Param())...)))
|
||||||
case "gt":
|
case "gt":
|
||||||
return fmt.Sprintf("%s %s can't be less or equal to zero", prefix, fe.Field())
|
return fmt.Sprintf("%s %s can't be less or equal to zero", prefix, fe.Field())
|
||||||
case "min":
|
case "min":
|
||||||
@@ -25,8 +29,12 @@ func errorMessage(fe validator.FieldError) string {
|
|||||||
return fmt.Sprintf("%s %s: unexpected URL format", prefix, fe.Field())
|
return fmt.Sprintf("%s %s: unexpected URL format", prefix, fe.Field())
|
||||||
case "email":
|
case "email":
|
||||||
return fmt.Sprintf("%s %s: unexpected E-Mail format", prefix, fe.Field())
|
return fmt.Sprintf("%s %s: unexpected E-Mail format", prefix, fe.Field())
|
||||||
|
case "mac":
|
||||||
|
return fmt.Sprintf("%s %s: unexpected MAC address format", prefix, fe.Field())
|
||||||
case "isBool":
|
case "isBool":
|
||||||
return fmt.Sprintf("%s %s: must be bool type", prefix, fe.Field())
|
return fmt.Sprintf("%s %s: must be bool type", prefix, fe.Field())
|
||||||
|
case "isString":
|
||||||
|
return fmt.Sprintf("%s %s: must be string type", prefix, fe.Field())
|
||||||
|
|
||||||
case "accessType":
|
case "accessType":
|
||||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||||
@@ -86,12 +94,6 @@ func errorMessage(fe validator.FieldError) string {
|
|||||||
fe.Field(),
|
fe.Field(),
|
||||||
joinValues(computeModeValues))
|
joinValues(computeModeValues))
|
||||||
|
|
||||||
case "computeDiskType":
|
|
||||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
|
||||||
prefix,
|
|
||||||
fe.Field(),
|
|
||||||
joinValues(computeDiskTypeValues))
|
|
||||||
|
|
||||||
case "mtu":
|
case "mtu":
|
||||||
return fmt.Sprint(prefix, fe.Field(), "must be ", mtuMin, "-", mtuMax)
|
return fmt.Sprint(prefix, fe.Field(), "must be ", mtuMin, "-", mtuMax)
|
||||||
|
|
||||||
@@ -122,13 +124,6 @@ func errorMessage(fe validator.FieldError) string {
|
|||||||
fe.Field(),
|
fe.Field(),
|
||||||
joinValues(computeDataDisksValues))
|
joinValues(computeDataDisksValues))
|
||||||
|
|
||||||
// Disk Validators
|
|
||||||
case "diskType":
|
|
||||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
|
||||||
prefix,
|
|
||||||
fe.Field(),
|
|
||||||
joinValues(diskTypeValues))
|
|
||||||
|
|
||||||
// Flipgroup Validators
|
// Flipgroup Validators
|
||||||
case "flipgroupClientType":
|
case "flipgroupClientType":
|
||||||
return fmt.Sprintf("%s %s must be one of the following: %s",
|
return fmt.Sprintf("%s %s must be one of the following: %s",
|
||||||
|
|||||||
@@ -86,11 +86,6 @@ func registerAllValidators(validate *validator.Validate) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = validate.RegisterValidation("computeDiskType", computeDiskTypeValidator)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = validate.RegisterValidation("computeNetType", computeNetTypeValidator)
|
err = validate.RegisterValidation("computeNetType", computeNetTypeValidator)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -111,11 +106,6 @@ func registerAllValidators(validate *validator.Validate) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = validate.RegisterValidation("diskType", diskTypeValidator)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
err = validate.RegisterValidation("flipgroupClientType", flipgroupClientTypeValidator)
|
err = validate.RegisterValidation("flipgroupClientType", flipgroupClientTypeValidator)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -241,6 +231,11 @@ func registerAllValidators(validate *validator.Validate) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = validate.RegisterValidation("isString", isStringTypeValidator)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
err = validate.RegisterValidation("url", urlValidartor)
|
err = validate.RegisterValidation("url", urlValidartor)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -316,5 +311,25 @@ 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
|
||||||
|
}
|
||||||
|
|
||||||
|
err = validate.RegisterValidation("watchdogAction", watchdogActionValidator)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,14 +14,11 @@ var (
|
|||||||
computeTopologyValues = []string{"compute", "node"}
|
computeTopologyValues = []string{"compute", "node"}
|
||||||
computePolicyValues = []string{"RECOMMENDED", "REQUIRED"}
|
computePolicyValues = []string{"RECOMMENDED", "REQUIRED"}
|
||||||
computeModeValues = []string{"EQ", "EN", "ANY"}
|
computeModeValues = []string{"EQ", "EN", "ANY"}
|
||||||
computeDiskTypeValues = []string{"D", "B"}
|
|
||||||
computeNetTypeValues = []string{"EXTNET", "VINS"}
|
computeNetTypeValues = []string{"EXTNET", "VINS"}
|
||||||
computex86NetTypeValues = []string{"EXTNET", "VINS", "VFNIC", "DPDK", "SDN", "EMPTY", "TRUNK"}
|
computex86NetTypeValues = []string{"EXTNET", "VINS", "VFNIC", "DPDK", "SDN", "EMPTY", "TRUNK"}
|
||||||
computeOrderValues = []string{"cdrom", "network", "hd"}
|
computeOrderValues = []string{"cdrom", "network", "hd"}
|
||||||
computeDataDisksValues = []string{"KEEP", "DETACH", "DESTROY"}
|
computeDataDisksValues = []string{"KEEP", "DETACH", "DESTROY"}
|
||||||
|
|
||||||
diskTypeValues = []string{"B", "T", "D"}
|
|
||||||
|
|
||||||
flipgroupClientTypeValues = []string{"compute", "vins"}
|
flipgroupClientTypeValues = []string{"compute", "vins"}
|
||||||
|
|
||||||
massCreateNetTypeValues = []string{"EXTNET", "VINS", "TRUNK"}
|
massCreateNetTypeValues = []string{"EXTNET", "VINS", "TRUNK"}
|
||||||
@@ -50,7 +47,7 @@ var (
|
|||||||
|
|
||||||
vmActionValues = []string{"stop", "move"}
|
vmActionValues = []string{"stop", "move"}
|
||||||
|
|
||||||
computeFeaturesValues = []string{"hugepages", "numa", "cpupin", "vfnic", "dpdk", "changemac", "trunk"}
|
computeFeaturesValues = []string{"hugepages", "numa", "cpupin", "vfnic", "dpdk", "changemac", "trunk", "vgpu", "pcidevice"}
|
||||||
|
|
||||||
networkInterfaceNamingValues = []string{"eth", "ens"}
|
networkInterfaceNamingValues = []string{"eth", "ens"}
|
||||||
|
|
||||||
@@ -83,10 +80,12 @@ var (
|
|||||||
ipTypeValues = []string{"v4, v6"}
|
ipTypeValues = []string{"v4, v6"}
|
||||||
|
|
||||||
sepTechStatusValues = []string{"ENABLED", "DISABLED"}
|
sepTechStatusValues = []string{"ENABLED", "DISABLED"}
|
||||||
|
|
||||||
|
watchdogActionVaues = []string{"reset", "shutdown", "poweroff", "pause", "none"}
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
mtuMin = 1
|
mtuMin = 1500
|
||||||
mtuMax = 9216
|
mtuMax = 9216
|
||||||
|
|
||||||
trunkTagsMin = 1
|
trunkTagsMin = 1
|
||||||
|
|||||||
@@ -14,11 +14,12 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/google/go-querystring/query"
|
"github.com/google/go-querystring/query"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/config"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/config"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/constants"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/constants"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudbroker"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/sdn"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudbroker"
|
||||||
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/sdn"
|
||||||
)
|
)
|
||||||
|
|
||||||
// LegacyDecortClient is Legacy HTTP-client for platform
|
// LegacyDecortClient is Legacy HTTP-client for platform
|
||||||
@@ -32,6 +33,10 @@ type LegacyDecortClient struct {
|
|||||||
|
|
||||||
// Legacy client builder
|
// Legacy client builder
|
||||||
func NewLegacy(cfg config.LegacyConfig) *LegacyDecortClient {
|
func NewLegacy(cfg config.LegacyConfig) *LegacyDecortClient {
|
||||||
|
if err := validators.ValidateConfig(cfg); err != nil {
|
||||||
|
panic(validators.ValidationErrors(validators.GetErrors(err)))
|
||||||
|
}
|
||||||
|
|
||||||
if cfg.Retries == 0 {
|
if cfg.Retries == 0 {
|
||||||
cfg.Retries = 5
|
cfg.Retries = 5
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package cloudapi
|
package cloudapi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/account"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi/account"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Accessing the Account method group
|
// Accessing the Account method group
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
package account
|
package account
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/interfaces"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/interfaces"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Structure for creating request to account
|
// Structure for creating request to account
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AddUserRequest struct to add permission to access account for a user
|
// AddUserRequest struct to add permission to access account for a user
|
||||||
|
|||||||
@@ -1,40 +0,0 @@
|
|||||||
package account
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
)
|
|
||||||
|
|
||||||
// AuditsRequest struct to give list of account audits
|
|
||||||
type AuditsRequest struct {
|
|
||||||
// ID of the account
|
|
||||||
// Required: true
|
|
||||||
AccountID uint64 `url:"accountId" json:"accountId" validate:"required"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Audits gets audit records for the specified account object
|
|
||||||
func (a Account) Audits(ctx context.Context, req AuditsRequest) (ListAudits, error) {
|
|
||||||
err := validators.ValidateRequest(req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, validators.ValidationErrors(validators.GetErrors(err))
|
|
||||||
}
|
|
||||||
|
|
||||||
url := "/cloudapi/account/audits"
|
|
||||||
|
|
||||||
res, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
list := ListAudits{}
|
|
||||||
|
|
||||||
err = json.Unmarshal(res, &list)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return list, nil
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
package account
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
)
|
|
||||||
|
|
||||||
// DeleteRequest struct to delete account
|
|
||||||
type DeleteRequest struct {
|
|
||||||
// ID of account to delete
|
|
||||||
// Required: true
|
|
||||||
AccountID uint64 `url:"accountId" json:"accountId" validate:"required"`
|
|
||||||
|
|
||||||
// Whether to completely delete the account
|
|
||||||
// Required: false
|
|
||||||
Permanently bool `url:"permanently,omitempty" json:"permanently,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete completes delete an account from the system Returns true if account is deleted or was already deleted or never existed
|
|
||||||
func (a Account) Delete(ctx context.Context, req DeleteRequest) (string, error) {
|
|
||||||
err := validators.ValidateRequest(req)
|
|
||||||
if err != nil {
|
|
||||||
return "", validators.ValidationErrors(validators.GetErrors(err))
|
|
||||||
}
|
|
||||||
|
|
||||||
url := "/cloudapi/account/delete"
|
|
||||||
|
|
||||||
result, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return string(result), nil
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DeleteUserRequest struct to revoke access to account
|
// DeleteUserRequest struct to revoke access to account
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
package account
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
)
|
|
||||||
|
|
||||||
// DisableEnableRequest struct to change status of account
|
|
||||||
type DisableEnableRequest struct {
|
|
||||||
// ID of account
|
|
||||||
// Required: true
|
|
||||||
AccountID uint64 `url:"accountId" json:"accountId" validate:"required"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Disable disables an account
|
|
||||||
func (a Account) Disable(ctx context.Context, req DisableEnableRequest) (bool, error) {
|
|
||||||
err := validators.ValidateRequest(req)
|
|
||||||
if err != nil {
|
|
||||||
return false, validators.ValidationErrors(validators.GetErrors(err))
|
|
||||||
}
|
|
||||||
|
|
||||||
url := "/cloudapi/account/disable"
|
|
||||||
|
|
||||||
res, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
|
|
||||||
result, err := strconv.ParseBool(string(res))
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return result, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Enable enables an account
|
|
||||||
func (a Account) Enable(ctx context.Context, req DisableEnableRequest) (bool, error) {
|
|
||||||
err := validators.ValidateRequest(req)
|
|
||||||
if err != nil {
|
|
||||||
return false, validators.ValidationErrors(validators.GetErrors(err))
|
|
||||||
}
|
|
||||||
|
|
||||||
url := "/cloudapi/account/enable"
|
|
||||||
|
|
||||||
res, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
|
|
||||||
result, err := strconv.ParseBool(string(res))
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return result, nil
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetRequest struct to get information about account
|
// GetRequest struct to get information about account
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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
|
||||||
|
|||||||
@@ -1,51 +0,0 @@
|
|||||||
package account
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"net/http"
|
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
)
|
|
||||||
|
|
||||||
// GetConsumedCloudUnitsByTypeRequest struct to calculate the currently consumed cloud units of the specified type for all cloudspaces and resource groups in the account
|
|
||||||
type GetConsumedCloudUnitsByTypeRequest struct {
|
|
||||||
// ID an account
|
|
||||||
// Required: true
|
|
||||||
AccountID uint64 `url:"accountId" json:"accountId" validate:"required"`
|
|
||||||
|
|
||||||
// Cloud unit resource type
|
|
||||||
// Required: true
|
|
||||||
CUType string `url:"cutype" json:"cutype" validate:"required,accountCUType"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetConsumedCloudUnitsByType calculates the currently consumed cloud units of the specified type for all cloudspaces
|
|
||||||
// and resource groups in the account.
|
|
||||||
// Possible types of cloud units are include:
|
|
||||||
//
|
|
||||||
// - CU_M: returns consumed memory in MB
|
|
||||||
// - CU_C: returns number of virtual cpu cores
|
|
||||||
// - CU_D: returns consumed virtual disk storage in GB
|
|
||||||
// - CU_DM: returns consumed max virtual disk storage in GB
|
|
||||||
// - CU_I: returns number of public IPs
|
|
||||||
// - gpu_units: return number of GPU units
|
|
||||||
func (a Account) GetConsumedCloudUnitsByType(ctx context.Context, req GetConsumedCloudUnitsByTypeRequest) (float64, error) {
|
|
||||||
err := validators.ValidateRequest(req)
|
|
||||||
if err != nil {
|
|
||||||
return 0, validators.ValidationErrors(validators.GetErrors(err))
|
|
||||||
}
|
|
||||||
|
|
||||||
url := "/cloudapi/account/getConsumedCloudUnitsByType"
|
|
||||||
|
|
||||||
res, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
|
|
||||||
result, err := strconv.ParseFloat(string(res), 64)
|
|
||||||
if err != nil {
|
|
||||||
return 0, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return result, nil
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
package account
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
)
|
|
||||||
|
|
||||||
// GetReservedAccountUnitsRequest struct to calculate the reserved units for all cloudspaces and resource groups in the account
|
|
||||||
type GetReservedAccountUnitsRequest struct {
|
|
||||||
// ID an account
|
|
||||||
// Required: true
|
|
||||||
AccountID uint64 `url:"accountId" json:"accountId" validate:"required"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetReservedAccountUnits calculates the reserved units for all cloudspaces and resource groups in the account.
|
|
||||||
// Calculated cloud units are returned in a dict which includes:
|
|
||||||
//
|
|
||||||
// - CU_M: reserved memory in MB
|
|
||||||
// - CU_C: number of cpu cores
|
|
||||||
// - CU_D: reserved vdisk storage in GB
|
|
||||||
// - CU_DM: reserved max vdisk storage in GB
|
|
||||||
// - CU_I: number of public IPs
|
|
||||||
func (a Account) GetReservedAccountUnits(ctx context.Context, req GetReservedAccountUnitsRequest) (*ResourceLimits, error) {
|
|
||||||
err := validators.ValidateRequest(req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, validators.ValidationErrors(validators.GetErrors(err))
|
|
||||||
}
|
|
||||||
|
|
||||||
url := "/cloudapi/account/getReservedAccountUnits"
|
|
||||||
|
|
||||||
res, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
info := ResourceLimits{}
|
|
||||||
|
|
||||||
err = json.Unmarshal(res, &info)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return &info, nil
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetResourceConsumptionRequest struct to get resource consumption
|
// GetResourceConsumptionRequest struct to get resource consumption
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListRequest struct to get list of accounts
|
// ListRequest struct to get list of accounts
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListComputesRequest struct to get a list of compute instances
|
// ListComputesRequest struct to get a list of compute instances
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListDeletedRequest struct to get a list of deleted accounts
|
// ListDeletedRequest struct to get a list of deleted accounts
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListDisksRequest struct to get a list of deleted disks
|
// ListDisksRequest struct to get a list of deleted disks
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListFLIPGroupsRequest struct to get a list of FLIPGroups
|
// ListFLIPGroupsRequest struct to get a list of FLIPGroups
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListRGRequest struct to get a list of resource groups
|
// ListRGRequest struct to get a list of resource groups
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListTemplatesRequest struct to get a list of templates
|
// ListTemplatesRequest struct to get a list of templates
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListVINSRequest struct to get a list of VINS
|
// ListVINSRequest struct to get a list of VINS
|
||||||
|
|||||||
@@ -95,6 +95,9 @@ type ItemAccount struct {
|
|||||||
// Deleted time
|
// Deleted time
|
||||||
DeletedTime uint64 `json:"deletedTime"`
|
DeletedTime uint64 `json:"deletedTime"`
|
||||||
|
|
||||||
|
// Deleted by
|
||||||
|
DeletedBy string `json:"deletedBy"`
|
||||||
|
|
||||||
// Description
|
// Description
|
||||||
Description string `json:"desc"`
|
Description string `json:"desc"`
|
||||||
|
|
||||||
@@ -107,6 +110,9 @@ type ItemAccount struct {
|
|||||||
// Status
|
// Status
|
||||||
Status string `json:"status"`
|
Status string `json:"status"`
|
||||||
|
|
||||||
|
// Updated by
|
||||||
|
UpdatedBy string `json:"updatedBy"`
|
||||||
|
|
||||||
// Updated time
|
// Updated time
|
||||||
UpdatedTime uint64 `json:"updatedTime"`
|
UpdatedTime uint64 `json:"updatedTime"`
|
||||||
|
|
||||||
@@ -197,11 +203,56 @@ type ListResourceConsumption struct {
|
|||||||
|
|
||||||
// Information about computes
|
// Information about computes
|
||||||
type Computes struct {
|
type Computes struct {
|
||||||
|
// Number of starting computes
|
||||||
|
Starting uint64 `json:"STARTING"`
|
||||||
|
|
||||||
// Number of started computes
|
// Number of started computes
|
||||||
Started uint64 `json:"started"`
|
Started uint64 `json:"STARTED"`
|
||||||
|
|
||||||
|
// Number of stopping computes
|
||||||
|
Stopping uint64 `json:"STOPPING"`
|
||||||
|
|
||||||
// Number of stopped computes
|
// Number of stopped computes
|
||||||
Stopped uint64 `json:"stopped"`
|
Stopped uint64 `json:"STOPPED"`
|
||||||
|
|
||||||
|
// Number of paused computes
|
||||||
|
Paused uint64 `json:"PAUSED"`
|
||||||
|
|
||||||
|
// Number of pausing computes
|
||||||
|
Pausing uint64 `json:"PAUSING"`
|
||||||
|
|
||||||
|
// Number of merging computes
|
||||||
|
Merge uint64 `json:"MERGE"`
|
||||||
|
|
||||||
|
// Number of migrating computes
|
||||||
|
Migrating uint64 `json:"MIGRATING"`
|
||||||
|
|
||||||
|
// Number of computes migrating in
|
||||||
|
MigratingIn uint64 `json:"MIGRATING_IN"`
|
||||||
|
|
||||||
|
// Number of computes migrating out
|
||||||
|
MigratingOut uint64 `json:"MIGRATING_OUT"`
|
||||||
|
|
||||||
|
// Number of computes in down status
|
||||||
|
Down uint64 `json:"DOWN"`
|
||||||
|
|
||||||
|
// Number of scheduled computes
|
||||||
|
Scheduled uint64 `json:"SCHEDULED"`
|
||||||
|
|
||||||
|
// Number of computes with stopped backup
|
||||||
|
BackupStopped uint64 `json:"BACKUP_STOPPED"`
|
||||||
|
|
||||||
|
// Number of computes with running backup
|
||||||
|
BackupRunning uint64 `json:"BACKUP_RUNNING"`
|
||||||
|
|
||||||
|
// Number of computes creating a snapshot
|
||||||
|
Snapcreate uint64 `json:"SNAPCREATE"`
|
||||||
|
|
||||||
|
// Number of cloning computes
|
||||||
|
Cloning uint64 `json:"CLONING"`
|
||||||
|
|
||||||
|
// Number of computes being rolled back
|
||||||
|
Rollback uint64 `json:"ROLLBACK"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Information about machines
|
// Information about machines
|
||||||
@@ -246,7 +297,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"`
|
||||||
@@ -299,6 +350,9 @@ type RecordAccount struct {
|
|||||||
// UniqPools
|
// UniqPools
|
||||||
UniqPools []interface{} `json:"uniqPools"`
|
UniqPools []interface{} `json:"uniqPools"`
|
||||||
|
|
||||||
|
// Updated By
|
||||||
|
UpdatedBy string `json:"updatedBy"`
|
||||||
|
|
||||||
// Updated time
|
// Updated time
|
||||||
UpdatedTime uint64 `json:"updatedTime"`
|
UpdatedTime uint64 `json:"updatedTime"`
|
||||||
|
|
||||||
@@ -446,6 +500,9 @@ type ItemVINS struct {
|
|||||||
// Deleted time
|
// Deleted time
|
||||||
DeletedTime uint64 `json:"deletedTime"`
|
DeletedTime uint64 `json:"deletedTime"`
|
||||||
|
|
||||||
|
// Enable Default Gateway
|
||||||
|
EnableDefaultGateway bool `json:"enable_default_gateway"`
|
||||||
|
|
||||||
// External IP
|
// External IP
|
||||||
ExternalIP string `json:"externalIP"`
|
ExternalIP string `json:"externalIP"`
|
||||||
|
|
||||||
@@ -515,11 +572,56 @@ type ListAudits []ItemAudit
|
|||||||
|
|
||||||
// Information compute in resource group
|
// Information compute in resource group
|
||||||
type RGComputes struct {
|
type RGComputes struct {
|
||||||
|
// Number of starting computes
|
||||||
|
Starting uint64 `json:"STARTING"`
|
||||||
|
|
||||||
// Number of started computes
|
// Number of started computes
|
||||||
Started uint64 `json:"Started"`
|
Started uint64 `json:"STARTED"`
|
||||||
|
|
||||||
|
// Number of stopping computes
|
||||||
|
Stopping uint64 `json:"STOPPING"`
|
||||||
|
|
||||||
// Number of stopped computes
|
// Number of stopped computes
|
||||||
Stopped uint64 `json:"Stopped"`
|
Stopped uint64 `json:"STOPPED"`
|
||||||
|
|
||||||
|
// Number of paused computes
|
||||||
|
Paused uint64 `json:"PAUSED"`
|
||||||
|
|
||||||
|
// Number of pausing computes
|
||||||
|
Pausing uint64 `json:"PAUSING"`
|
||||||
|
|
||||||
|
// Number of merging computes
|
||||||
|
Merge uint64 `json:"MERGE"`
|
||||||
|
|
||||||
|
// Number of migrating computes
|
||||||
|
Migrating uint64 `json:"MIGRATING"`
|
||||||
|
|
||||||
|
// Number of computes migrating in
|
||||||
|
MigratingIn uint64 `json:"MIGRATING_IN"`
|
||||||
|
|
||||||
|
// Number of computes migrating out
|
||||||
|
MigratingOut uint64 `json:"MIGRATING_OUT"`
|
||||||
|
|
||||||
|
// Number of computes in down status
|
||||||
|
Down uint64 `json:"DOWN"`
|
||||||
|
|
||||||
|
// Number of scheduled computes
|
||||||
|
Scheduled uint64 `json:"SCHEDULED"`
|
||||||
|
|
||||||
|
// Number of computes with stopped backup
|
||||||
|
BackupStopped uint64 `json:"BACKUP_STOPPED"`
|
||||||
|
|
||||||
|
// Number of computes with running backup
|
||||||
|
BackupRunning uint64 `json:"BACKUP_RUNNING"`
|
||||||
|
|
||||||
|
// Number of computes creating a snapshot
|
||||||
|
Snapcreate uint64 `json:"SNAPCREATE"`
|
||||||
|
|
||||||
|
// Number of cloning computes
|
||||||
|
Cloning uint64 `json:"CLONING"`
|
||||||
|
|
||||||
|
// Number of computes being rolled back
|
||||||
|
Rollback uint64 `json:"ROLLBACK"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resources of Resource group
|
// Resources of Resource group
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// RestoreRequest struct to restore a deleted account
|
// RestoreRequest struct to restore a deleted account
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package account
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/serialization"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// UpdateRequest struct to update account
|
// UpdateRequest struct to update account
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// UpdateUserRequest struct to update user access rights
|
// UpdateUserRequest struct to update user access rights
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package cloudapi
|
package cloudapi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/audit"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi/audit"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Accessing the Stack method group
|
// Accessing the Stack method group
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package audit
|
package audit
|
||||||
|
|
||||||
import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/interfaces"
|
import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/interfaces"
|
||||||
|
|
||||||
// Structure for creating request to audit
|
// Structure for creating request to audit
|
||||||
type Audit struct {
|
type Audit struct {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetRequest struct to get information about account
|
// GetRequest struct to get information about account
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListRequest struct to give list of account audits
|
// ListRequest struct to give list of account audits
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package cloudapi
|
package cloudapi
|
||||||
|
|
||||||
import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/bservice"
|
import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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 {
|
||||||
|
|||||||
@@ -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/v13/interfaces"
|
import "repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/interfaces"
|
||||||
|
|
||||||
// Structure for creating request to bservice
|
// Structure for creating request to bservice
|
||||||
type BService struct {
|
type BService struct {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CreateRequest struct for BasicService
|
// CreateRequest struct for BasicService
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DeleteRequest struct to delete basic service
|
// DeleteRequest struct to delete basic service
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DisableRequest struct for disable service
|
// DisableRequest struct for disable service
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// EnableRequest struct to disable service
|
// EnableRequest struct to disable service
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetRequest struct to get detailed information about service
|
// GetRequest struct to get detailed information about service
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/constants"
|
||||||
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupAddRequest struct to create new compute group within BasicService
|
// GroupAddRequest struct to create new compute group within BasicService
|
||||||
@@ -62,9 +63,9 @@ type GroupAddRequest struct {
|
|||||||
// Required: false
|
// Required: false
|
||||||
TimeoutStart uint64 `url:"timeoutStart,omitempty" json:"timeoutStart,omitempty"`
|
TimeoutStart uint64 `url:"timeoutStart,omitempty" json:"timeoutStart,omitempty"`
|
||||||
|
|
||||||
// Meta data for working group computes, format YAML "user_data": 1111
|
// Meta data for working group computes, format yaml string or json object
|
||||||
// Required: false
|
// Required: false
|
||||||
UserData string `url:"userData,omitempty" json:"userData,omitempty"`
|
UserData interface{} `url:"userData,omitempty" json:"userData,omitempty"`
|
||||||
|
|
||||||
// Chipset "i440fx" or "Q35
|
// Chipset "i440fx" or "Q35
|
||||||
// Default value : Q35
|
// Default value : Q35
|
||||||
@@ -97,7 +98,7 @@ func (b BService) GroupAdd(ctx context.Context, req GroupAddRequest) (uint64, er
|
|||||||
|
|
||||||
url := "/cloudapi/bservice/groupAdd"
|
url := "/cloudapi/bservice/groupAdd"
|
||||||
|
|
||||||
res, err := b.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
res, err := b.client.DecortApiCallCtype(ctx, http.MethodPost, url, constants.MIMEJSON, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupComputeRemoveRequest struct to remove group compute
|
// GroupComputeRemoveRequest struct to remove group compute
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupGetRequest struct to get detailed information about Compute Group
|
// GroupGetRequest struct to get detailed information about Compute Group
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupParentRemoveRequest struct to remove parent Compute Group
|
// GroupParentRemoveRequest struct to remove parent Compute Group
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupRemoveRequest struct for destroy the specified Compute Group
|
// GroupRemoveRequest struct for destroy the specified Compute Group
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupResizeRequest struct to resize the group
|
// GroupResizeRequest struct to resize the group
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupStartRequest struct to start the specified Compute Group
|
// GroupStartRequest struct to start the specified Compute Group
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupStopRequest struct to stop the specified Compute Group
|
// GroupStopRequest struct to stop the specified Compute Group
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupUpdateRequest struct to update existing Compute group
|
// GroupUpdateRequest struct to update existing Compute group
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupUpdateExtNetRequest struct to update External Network settings
|
// GroupUpdateExtNetRequest struct to update External Network settings
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GroupUpdateVINSRequest struct to update VINS settings
|
// GroupUpdateVINSRequest struct to update VINS settings
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListRequest struct to get list of BasicService instances
|
// ListRequest struct to get list of BasicService instances
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ListDeletedRequest struct to get list of deleted BasicService instances
|
// ListDeletedRequest struct to get list of deleted BasicService instances
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// MigrateToZone struct to move basic service to another zone
|
// MigrateToZone struct to move basic service to another zone
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// RestoreRequest struct to restore BasicService instance
|
// RestoreRequest struct to restore BasicService instance
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package bservice
|
|||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/serialization"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// SnapshotCreateRequest struct to create snapshot
|
// SnapshotCreateRequest struct to create snapshot
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// SnapshotDeleteRequest struct to delete snapshot
|
// SnapshotDeleteRequest struct to delete snapshot
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// SnapshotListRequest struct to get list of existing snapshots
|
// SnapshotListRequest struct to get list of existing snapshots
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// SnapshotRollbackRequest struct to rollback snapshot
|
// SnapshotRollbackRequest struct to rollback snapshot
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// StartRequest struct to start service
|
// StartRequest struct to start service
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// StopRequest struct to stop service
|
// StopRequest struct to stop service
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
package cloudapi
|
package cloudapi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/interfaces"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/interfaces"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Structure for creating request to CloudAPI groups
|
// Structure for creating request to CloudAPI groups
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
package cloudapi
|
package cloudapi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/pkg/cloudapi/compute"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/pkg/cloudapi/compute"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Accessing the Compute method group
|
// Accessing the Compute method group
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ package compute
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AffinityLabelRemoveRequest struct to clear affinity label for compute
|
// AffinityLabelRemoveRequest struct to clear affinity label for compute
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AffinityLabelSetRequest struct to set affinity label for compute
|
// AffinityLabelSetRequest struct to set affinity label for compute
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AffinityRelationsRequest struct to get dict of computes
|
// AffinityRelationsRequest struct to get dict of computes
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AffinityRuleAddRequest struct to add affinity rule
|
// AffinityRuleAddRequest struct to add affinity rule
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AffinityRuleRemoveRequest struct to remove affinity rule
|
// AffinityRuleRemoveRequest struct to remove affinity rule
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AffinityRulesClearRequest struct to clear affinity rules
|
// AffinityRulesClearRequest struct to clear affinity rules
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AntiAffinityRuleAddRequest struct to add anti affinity rule
|
// AntiAffinityRuleAddRequest struct to add anti affinity rule
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AntiAffinityRuleRemoveRequest struct to remove anti affinity rule
|
// AntiAffinityRuleRemoveRequest struct to remove anti affinity rule
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AntiAffinityRulesClearRequest struct to clear anti affinity rules
|
// AntiAffinityRulesClearRequest struct to clear anti affinity rules
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AttachGPURequest struct to attach GPU for compute
|
// AttachGPURequest struct to attach GPU for compute
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AttachPCIDeviceRequest struct to attach PCI device
|
// AttachPCIDeviceRequest struct to attach PCI device
|
||||||
|
|||||||
@@ -1,76 +0,0 @@
|
|||||||
package compute
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
"encoding/json"
|
|
||||||
"net/http"
|
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
)
|
|
||||||
|
|
||||||
// AuditsRequest struct to get audit records
|
|
||||||
type AuditsRequest struct {
|
|
||||||
// ID of the compute
|
|
||||||
// Required: true
|
|
||||||
ComputeID uint64 `url:"compute_id" json:"compute_id" validate:"required"`
|
|
||||||
|
|
||||||
// Find all audits after point in time
|
|
||||||
// Required: false
|
|
||||||
TimestampAT uint64 `url:"timestamp_at,omitempty" json:"timestamp_at,omitempty"`
|
|
||||||
|
|
||||||
// Find all audits before point in time
|
|
||||||
// Required: false
|
|
||||||
TimestampTO uint64 `url:"timestamp_to,omitempty" json:"timestamp_to,omitempty"`
|
|
||||||
|
|
||||||
// Find by user
|
|
||||||
// Required: false
|
|
||||||
User string `url:"user,omitempty" json:"user,omitempty"`
|
|
||||||
|
|
||||||
// Find by api endpoints
|
|
||||||
// Required: false
|
|
||||||
Call string `url:"call,omitempty" json:"call,omitempty"`
|
|
||||||
|
|
||||||
// Sort by one of supported fields, format ±<field>
|
|
||||||
// Required: false
|
|
||||||
SortBy string `url:"sort_by,omitempty" json:"sort_by,omitempty"`
|
|
||||||
|
|
||||||
// Page number
|
|
||||||
// Required: false
|
|
||||||
Page uint64 `url:"page,omitempty" json:"page,omitempty"`
|
|
||||||
|
|
||||||
// Page size
|
|
||||||
// Required: false
|
|
||||||
Size uint64 `url:"size,omitempty" json:"size,omitempty"`
|
|
||||||
|
|
||||||
// Find by HTTP min status code
|
|
||||||
// Required: false
|
|
||||||
MinStatusCode uint64 `url:"min_status_code,omitempty" json:"min_status_code,omitempty"`
|
|
||||||
|
|
||||||
// Find by HTTP max status code
|
|
||||||
// Required: false
|
|
||||||
MaxStatusCode uint64 `url:"max_status_code,omitempty" json:"max_status_code,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Audits gets audit records for the specified compute object
|
|
||||||
func (c Compute) Audits(ctx context.Context, req AuditsRequest) (*ListAudits, error) {
|
|
||||||
err := validators.ValidateRequest(req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, validators.ValidationErrors(validators.GetErrors(err))
|
|
||||||
}
|
|
||||||
|
|
||||||
url := "/cloudapi/compute/audits"
|
|
||||||
|
|
||||||
res, err := c.client.DecortApiCall(ctx, http.MethodGet, url, req)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
list := ListAudits{}
|
|
||||||
|
|
||||||
err = json.Unmarshal(res, &list)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return &list, nil
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// BootDiskSetRequest struct to set boot disk for compute
|
// BootDiskSetRequest struct to set boot disk for compute
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// BootOrderGetRequest struct to get boot order
|
// BootOrderGetRequest struct to get boot order
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net/http"
|
"net/http"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// BootOrderSetRequest struct to set boot order
|
// BootOrderSetRequest struct to set boot order
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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
|
||||||
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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
|
||||||
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,8 +3,9 @@ package compute
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"net/http"
|
"net/http"
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/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
|
||||||
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v13/internal/validators"
|
"repository.basistech.ru/BASIS/dynamix-golang-sdk/v16/internal/validators"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ChangeMACRequest struct to change MAC for network
|
// ChangeMACRequest struct to change MAC for network
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user