Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de12bc2acc | ||
|
|
46af79b664 |
92
CHANGELOG.md
92
CHANGELOG.md
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"`
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user