Compare commits

...

2 Commits

Author SHA1 Message Date
stSolo
de12bc2acc v1.1.2 2023-03-01 11:44:08 +03:00
stSolo
46af79b664 1.1.1 2023-02-13 12:06:43 +03:00
12 changed files with 122 additions and 92 deletions

View File

@@ -1,48 +1,54 @@
## Version 1.1.0
## Version 1.1.2
### Features
#### CloudAPI
- Account
- Delete "ResTypes" field in Create/Update request structs
- Add fields "DiskSizeMax", "Shareable", "SEPs" in Get/List response structs
- BService
- Add fields "SEPID", "SEPPool" in GroupAdd request structs
- Add field "PoolName" in List/ListDeleted response structs
- Compute
- Add fields "PresentTo", "Shareable" in Get/List/ListDeleted response structs
- Disks
- Add fields "PresentTo", "Shareable", "Computes" in Get/List/ListDeleted/ListUnattached/Search response structs
- Delete fields "ComputeID", "ComputeName" in List/ListDeleted/ListUnattached/Search response structs
- Add Share/Unshare methods
- FLIPgroup
- Add field "ClientNames" in Get response struct
- Image
- Add field "PresentTo" in Get response struct
- RG
- Delete "ResTypes" field in Create/Update request structs
- Add fields "DiskSizeMax", "Shareable", "SEPs" in Get/List response structs
### Feature
#### Cloudbroker
- Account
- Add fields "SEPs", "ResourceTypes", "PresentTo", "DiskSizeMax", "UniqPools", "Shareable" in Get/List/ListDeleted/ListDisks/ListRG response structs
- Compute
- Add fields "VINSConnected", "TotalDiskSize", "Shareable", "PresentTo" in Get/List/ListDeleted response structs
- Disks
- Add fields "ReferenceID", "Shareable", "PresentTo", "Computes" in List/ListDeleted/ListUnattached/Search response structs
- Delete fields "ComputeID", "ComputeName" in List/ListDeleted/ListUnattached/Search response structs
- Add Share/Unshare methods
- Grid
- Add fields "SEPs", "DiskSizeMax" in Get/List response structs
- Image
- Add field "PresentTo" in Get response struct
- KVMX86
- Add field "Userdata" in MassCreate request struct
- Delete field "IPAddr" in MassCreate request struct
- KVMPPC
- Add field "Userdata" in MassCreate request struct
- Delete field "IPAddr" in MassCreate request struct
- RG
- Add fields "DiskSizeMax", "Shareable", "SEPs" in Get/List response structs
- Add share method
- Add unshare method
### Bug fixes
#### CloudAPI
- Account/Create
- Change the MaxMemoryCapacity field type to int64
- Change the MaxVDiskCapacity field type to int64
- Change the MaxCPUCapacity field type to int64
- Change the MaxNetworkPeerTransfer field type to int64
- Change the MaxNumPublicIP field type to int64
- Change the GPUUnits field type to int64
- Change url to cloudapi
- Account/Models
- Change the DiskSize field type to float64
- Change the DiskSizeMax field type to uint64
- RG/Create
- Change the MaxMemoryCapacity field type to int64
- Change the MaxVDiskCapacity field type to int64
- Change the MaxCPUCapacity field type to int64
- Change the MaxNumPublicIP field type to int64
- RG/Models
- Change the DiskSize field type to float64
- Change the DiskSizeMax field type to uint64
#### Cloudbroker
- Account/Create
- Change the MaxMemoryCapacity field type to int64
- Change the MaxVDiskCapacity field type to int64
- Change the MaxCPUCapacity field type to int64
- Change the MaxNetworkPeerTransfer field type to int64
- Change the MaxNumPublicIP field type to int64
- Change the GPUUnits field type to int64
- Account/Models
- Change the DiskSize field type to float64
- Change the DiskSizeMax field type to uint64
- RG/Create
- Change the MaxMemoryCapacity field type to int64
- Change the MaxVDiskCapacity field type to int64
- Change the MaxCPUCapacity field type to int64
- Change the MaxNumPublicIP field type to int64
- RG/Models
- Change the DiskSize field type to float64
- Change the DiskSizeMax field type to uint64

View File

@@ -23,23 +23,23 @@ type CreateRequest struct {
// Max size of memory in MB
// Required: false
MaxMemoryCapacity uint64 `url:"maxMemoryCapacity,omitempty"`
MaxMemoryCapacity int64 `url:"maxMemoryCapacity,omitempty"`
// Max size of aggregated vdisks in GB
// Required: false
MaxVDiskCapacity uint64 `url:"maxVDiskCapacity,omitempty"`
MaxVDiskCapacity int64 `url:"maxVDiskCapacity,omitempty"`
// Max number of CPU cores
// Required: false
MaxCPUCapacity uint64 `url:"maxCPUCapacity,omitempty"`
MaxCPUCapacity int64 `url:"maxCPUCapacity,omitempty"`
// Max sent/received network transfer peering
// Required: false
MaxNetworkPeerTransfer uint64 `url:"maxNetworkPeerTransfer,omitempty"`
MaxNetworkPeerTransfer int64 `url:"maxNetworkPeerTransfer,omitempty"`
// Max number of assigned public IPs
// Required: false
MaxNumPublicIP uint64 `url:"maxNumPublicIP,omitempty"`
MaxNumPublicIP int64 `url:"maxNumPublicIP,omitempty"`
// If true send emails when a user is granted access to resources
// Required: false
@@ -47,7 +47,7 @@ type CreateRequest struct {
// Limit (positive) or disable (0) GPU resources
// Required: false
GPUUnits uint64 `url:"gpu_units,omitempty"`
GPUUnits int64 `url:"gpu_units,omitempty"`
}
func (arq CreateRequest) validate() error {
@@ -69,7 +69,7 @@ func (a Account) Create(ctx context.Context, req CreateRequest) (uint64, error)
return 0, err
}
url := "/cloudbroker/account/create"
url := "/cloudapi/account/create"
res, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
if err != nil {

View File

@@ -78,10 +78,10 @@ type Resource struct {
CPU int64 `json:"cpu"`
// Disk size
DiskSize int64 `json:"disksize"`
DiskSize float64 `json:"disksize"`
// Max disk size
DiskSizeMax int64 `json:"disksizemax"`
DiskSizeMax uint64 `json:"disksizemax"`
// Number of External IPs
ExtIPs int64 `json:"extips"`
@@ -105,7 +105,7 @@ type DiskUsage struct {
DiskSize float64 `json:"disksize"`
// Disk size max
DiskSizeMax float64 `json:"disksizemax"`
DiskSizeMax uint64 `json:"disksizemax"`
}
// Information about resources

View File

@@ -622,7 +622,7 @@ type ItemComputeDisk struct {
SizeMax uint64 `json:"sizeMax"`
//Size used
SizeUsed uint64 `json:"sizeUsed"`
SizeUsed float64 `json:"sizeUsed"`
// List extend snapshots
Snapshots SnapshotExtendList `json:"snapshots"`

View File

@@ -96,7 +96,7 @@ type ItemDisk struct {
SizeMax uint64 `json:"sizeMax"`
// Size used
SizeUsed uint64 `json:"sizeUsed"`
SizeUsed float64 `json:"sizeUsed"`
// List of snapshots
Snapshots ListSnapshots `json:"snapshots"`
@@ -273,7 +273,7 @@ type RecordDisk struct {
SizeMax uint64 `json:"sizeMax"`
// Size used
SizeUsed uint64 `json:"sizeUsed"`
SizeUsed float64 `json:"sizeUsed"`
// List of snapshots
Snapshots ListSnapshots `json:"snapshots"`

View File

@@ -23,23 +23,23 @@ type CreateRequest struct {
// Max size of memory in MB
// Required: false
MaxMemoryCapacity uint64 `url:"maxMemoryCapacity,omitempty"`
MaxMemoryCapacity int64 `url:"maxMemoryCapacity,omitempty"`
// Max size of aggregated virtual disks in GB
// Required: false
MaxVDiskCapacity uint64 `url:"maxVDiskCapacity,omitempty"`
MaxVDiskCapacity int64 `url:"maxVDiskCapacity,omitempty"`
// Max number of CPU cores
// Required: false
MaxCPUCapacity uint64 `url:"maxCPUCapacity,omitempty"`
MaxCPUCapacity int64 `url:"maxCPUCapacity,omitempty"`
// Max sent/received network transfer peering
// Required: false
MaxNetworkPeerTransfer uint64 `url:"maxNetworkPeerTransfer,omitempty"`
MaxNetworkPeerTransfer int64 `url:"maxNetworkPeerTransfer,omitempty"`
// Max number of assigned public IPs
// Required: false
MaxNumPublicIP uint64 `url:"maxNumPublicIP,omitempty"`
MaxNumPublicIP int64 `url:"maxNumPublicIP,omitempty"`
// Username - owner of this resource group.
// Leave blank to set current user as owner

View File

@@ -6,10 +6,10 @@ type Resource struct {
CPU int64 `json:"cpu"`
// Disk size
DiskSize int64 `json:"disksize"`
DiskSize float64 `json:"disksize"`
// Max disk size
DiskSizeMax int64 `json:"disksizemax"`
DiskSizeMax uint64 `json:"disksizemax"`
// Number of External IPs
ExtIPs int64 `json:"extips"`
@@ -33,7 +33,7 @@ type DiskUsage struct {
DiskSize float64 `json:"disksize"`
// Disk size max
DiskSizeMax float64 `json:"disksizemax"`
DiskSizeMax uint64 `json:"disksizemax"`
}
// Information about resources
@@ -315,6 +315,30 @@ type ItemAudit struct {
// List of audits
type ListAudits []ItemAudit
// Main information about affinity rules
type ItemRule struct {
// GUID
GUID string `json:"guid"`
// Key
Key string `json:"key"`
// Mode
Mode string `json:"mode"`
// Policy
Policy string `json:"policy"`
// Topology
Topology string `json:"topology"`
// Value
Value string `json:"value"`
}
// List of rules
type ListRules []ItemRule
// Main information about compute
type ItemCompute struct {
// Account ID
@@ -327,13 +351,13 @@ type ItemCompute struct {
AffinityLabel string `json:"affinityLabel"`
// List of affinity rules
AffinityRules []interface{} `json:"affinityRules"`
AffinityRules ListRules `json:"affinityRules"`
// Affinity weight
AffinityWeight uint64 `json:"affinityWeight"`
// List of anti affinity rules
AntiAffinityRules []interface{} `json:"antiAffinityRules"`
AntiAffinityRules ListRules `json:"antiAffinityRules"`
// Number of CPU
CPUs uint64 `json:"cpus"`

View File

@@ -23,23 +23,23 @@ type CreateRequest struct {
// Max size of memory in MB
// Required: false
MaxMemoryCapacity uint64 `url:"maxMemoryCapacity,omitempty"`
MaxMemoryCapacity int64 `url:"maxMemoryCapacity,omitempty"`
// Max size of aggregated vdisks in GB
// Required: false
MaxVDiskCapacity uint64 `url:"maxVDiskCapacity,omitempty"`
MaxVDiskCapacity int64 `url:"maxVDiskCapacity,omitempty"`
// Max number of CPU cores
// Required: false
MaxCPUCapacity uint64 `url:"maxCPUCapacity,omitempty"`
MaxCPUCapacity int64 `url:"maxCPUCapacity,omitempty"`
// Max sent/received network transfer peering
// Required: false
MaxNetworkPeerTransfer uint64 `url:"maxNetworkPeerTransfer,omitempty"`
MaxNetworkPeerTransfer int64 `url:"maxNetworkPeerTransfer,omitempty"`
// Max number of assigned public IPs
// Required: false
MaxNumPublicIP uint64 `url:"maxNumPublicIP,omitempty"`
MaxNumPublicIP int64 `url:"maxNumPublicIP,omitempty"`
// If true send emails when a user is granted access to resources
// Required: false
@@ -47,7 +47,7 @@ type CreateRequest struct {
// Limit (positive) or disable (0) GPU resources
// Required: false
GPUUnits uint64 `url:"gpu_units,omitempty"`
GPUUnits int64 `url:"gpu_units,omitempty"`
// List of strings with pools
// i.e.: ["sep1_poolName1", "sep2_poolName2", etc]

View File

@@ -18,7 +18,7 @@ type ItemAudit struct {
User string `json:"user"`
}
// List of audirs
// List of audits
type ListAudits []ItemAudit
type RecordResources struct {
@@ -34,10 +34,10 @@ type Resource struct {
CPU int64 `json:"cpu"`
// Disk size
DiskSize int64 `json:"disksize"`
DiskSize float64 `json:"disksize"`
// Disk size max
DiskSizeMax int64 `json:"disksizemax"`
DiskSizeMax uint64 `json:"disksizemax"`
// Number of External IPs
ExtIPs int64 `json:"extips"`
@@ -61,7 +61,7 @@ type DiskUsage struct {
DiskSize float64 `json:"disksize"`
// Disk size max
DiskSizeMax float64 `json:"disksizemax"`
DiskSizeMax uint64 `json:"disksizemax"`
}
// Access Control List

View File

@@ -435,7 +435,7 @@ type ItemDisk struct {
SizeMax uint64 `json:"sizeMax"`
// Size used
SizeUsed uint64 `json:"sizeUsed"`
SizeUsed float64 `json:"sizeUsed"`
// List detailed snapshots
Snapshots ListDetailedSnapshots `json:"snapshots"`

View File

@@ -23,23 +23,23 @@ type CreateRequest struct {
// Max size of memory in MB
// Required: false
MaxMemoryCapacity uint64 `url:"maxMemoryCapacity,omitempty"`
MaxMemoryCapacity int64 `url:"maxMemoryCapacity,omitempty"`
// Max size of aggregated virtual disks in GB
// Required: false
MaxVDiskCapacity uint64 `url:"maxVDiskCapacity,omitempty"`
MaxVDiskCapacity int64 `url:"maxVDiskCapacity,omitempty"`
// Max number of CPU cores
// Required: false
MaxCPUCapacity uint64 `url:"maxCPUCapacity,omitempty"`
MaxCPUCapacity int64 `url:"maxCPUCapacity,omitempty"`
// Max sent/received network transfer peering
// Required: false
MaxNetworkPeerTransfer uint64 `url:"maxNetworkPeerTransfer,omitempty"`
MaxNetworkPeerTransfer int64 `url:"maxNetworkPeerTransfer,omitempty"`
// Max number of assigned public IPs
// Required: false
MaxNumPublicIP uint64 `url:"maxNumPublicIP,omitempty"`
MaxNumPublicIP int64 `url:"maxNumPublicIP,omitempty"`
// Username - owner of this resource group.
// Leave blank to set current user as owner

View File

@@ -24,25 +24,25 @@ type ListAudits []ItemAudit
// Reservation information of usage
type Reservation struct {
// Number of CPU
CPU uint64 `json:"cpu"`
CPU int64 `json:"cpu"`
// Disk size
DiskSize uint64 `json:"disksize"`
DiskSize float64 `json:"disksize"`
// Max disk size
DiskSizeMax int64 `json:"disksizemax"`
DiskSizeMax uint64 `json:"disksizemax"`
// External IPs
ExtIPs uint64 `json:"extips"`
ExtIPs int64 `json:"extips"`
// External traffic
ExtTraffic uint64 `json:"exttraffic"`
ExtTraffic int64 `json:"exttraffic"`
// Number of GPU
GPU uint64 `json:"gpu"`
GPU int64 `json:"gpu"`
// Number of RAM
RAM uint64 `json:"ram"`
RAM int64 `json:"ram"`
// SEPs
SEPs map[string]map[string]DiskUsage `json:"seps"`
@@ -54,7 +54,7 @@ type DiskUsage struct {
DiskSize float64 `json:"disksize"`
// Disk size max
DiskSizeMax float64 `json:"disksizemax"`
DiskSizeMax uint64 `json:"disksizemax"`
}
// Resources usage information
@@ -138,7 +138,7 @@ type ItemRG struct {
CreatedTime uint64 `json:"createdTime"`
// DefNet ID
DefNetID int64 `json:"def_net_id"`
DefNetID uint64 `json:"def_net_id"`
// DefNet type
DefNetType string `json:"def_net_type"`
@@ -252,7 +252,7 @@ type ItemRule struct {
Value string `json:"value"`
}
// List rules
// List of rules
type ListRules []ItemRule
// Main information about compute