v1.1.2
This commit is contained in:
53
CHANGELOG.md
53
CHANGELOG.md
@@ -1,15 +1,54 @@
|
|||||||
## Version 1.1.1
|
## Version 1.1.2
|
||||||
|
|
||||||
|
### Feature
|
||||||
|
|
||||||
|
#### Cloudbroker
|
||||||
|
|
||||||
|
- Disks
|
||||||
|
- Add share method
|
||||||
|
- Add unshare method
|
||||||
|
|
||||||
### Bug fixes
|
### Bug fixes
|
||||||
|
|
||||||
#### CloudAPI
|
#### CloudAPI
|
||||||
|
|
||||||
- Disks
|
- Account/Create
|
||||||
- Change the SizeUsed field type to float64
|
- Change the MaxMemoryCapacity field type to int64
|
||||||
- Compute
|
- Change the MaxVDiskCapacity field type to int64
|
||||||
- Chnage the SizeUsed field type to float64
|
- 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
|
#### Cloudbroker
|
||||||
|
|
||||||
- Disks
|
- Account/Create
|
||||||
- Change the SizeUsed field type to float64
|
- 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
|
// Max size of memory in MB
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxMemoryCapacity uint64 `url:"maxMemoryCapacity,omitempty"`
|
MaxMemoryCapacity int64 `url:"maxMemoryCapacity,omitempty"`
|
||||||
|
|
||||||
// Max size of aggregated vdisks in GB
|
// Max size of aggregated vdisks in GB
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxVDiskCapacity uint64 `url:"maxVDiskCapacity,omitempty"`
|
MaxVDiskCapacity int64 `url:"maxVDiskCapacity,omitempty"`
|
||||||
|
|
||||||
// Max number of CPU cores
|
// Max number of CPU cores
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxCPUCapacity uint64 `url:"maxCPUCapacity,omitempty"`
|
MaxCPUCapacity int64 `url:"maxCPUCapacity,omitempty"`
|
||||||
|
|
||||||
// Max sent/received network transfer peering
|
// Max sent/received network transfer peering
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxNetworkPeerTransfer uint64 `url:"maxNetworkPeerTransfer,omitempty"`
|
MaxNetworkPeerTransfer int64 `url:"maxNetworkPeerTransfer,omitempty"`
|
||||||
|
|
||||||
// Max number of assigned public IPs
|
// Max number of assigned public IPs
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxNumPublicIP uint64 `url:"maxNumPublicIP,omitempty"`
|
MaxNumPublicIP int64 `url:"maxNumPublicIP,omitempty"`
|
||||||
|
|
||||||
// If true send emails when a user is granted access to resources
|
// If true send emails when a user is granted access to resources
|
||||||
// Required: false
|
// Required: false
|
||||||
@@ -47,7 +47,7 @@ type CreateRequest struct {
|
|||||||
|
|
||||||
// Limit (positive) or disable (0) GPU resources
|
// Limit (positive) or disable (0) GPU resources
|
||||||
// Required: false
|
// Required: false
|
||||||
GPUUnits uint64 `url:"gpu_units,omitempty"`
|
GPUUnits int64 `url:"gpu_units,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (arq CreateRequest) validate() error {
|
func (arq CreateRequest) validate() error {
|
||||||
@@ -69,7 +69,7 @@ func (a Account) Create(ctx context.Context, req CreateRequest) (uint64, error)
|
|||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
|
||||||
url := "/cloudbroker/account/create"
|
url := "/cloudapi/account/create"
|
||||||
|
|
||||||
res, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
res, err := a.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -78,10 +78,10 @@ type Resource struct {
|
|||||||
CPU int64 `json:"cpu"`
|
CPU int64 `json:"cpu"`
|
||||||
|
|
||||||
// Disk size
|
// Disk size
|
||||||
DiskSize int64 `json:"disksize"`
|
DiskSize float64 `json:"disksize"`
|
||||||
|
|
||||||
// Max disk size
|
// Max disk size
|
||||||
DiskSizeMax int64 `json:"disksizemax"`
|
DiskSizeMax uint64 `json:"disksizemax"`
|
||||||
|
|
||||||
// Number of External IPs
|
// Number of External IPs
|
||||||
ExtIPs int64 `json:"extips"`
|
ExtIPs int64 `json:"extips"`
|
||||||
@@ -105,7 +105,7 @@ type DiskUsage struct {
|
|||||||
DiskSize float64 `json:"disksize"`
|
DiskSize float64 `json:"disksize"`
|
||||||
|
|
||||||
// Disk size max
|
// Disk size max
|
||||||
DiskSizeMax float64 `json:"disksizemax"`
|
DiskSizeMax uint64 `json:"disksizemax"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Information about resources
|
// Information about resources
|
||||||
|
|||||||
@@ -23,23 +23,23 @@ type CreateRequest struct {
|
|||||||
|
|
||||||
// Max size of memory in MB
|
// Max size of memory in MB
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxMemoryCapacity uint64 `url:"maxMemoryCapacity,omitempty"`
|
MaxMemoryCapacity int64 `url:"maxMemoryCapacity,omitempty"`
|
||||||
|
|
||||||
// Max size of aggregated virtual disks in GB
|
// Max size of aggregated virtual disks in GB
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxVDiskCapacity uint64 `url:"maxVDiskCapacity,omitempty"`
|
MaxVDiskCapacity int64 `url:"maxVDiskCapacity,omitempty"`
|
||||||
|
|
||||||
// Max number of CPU cores
|
// Max number of CPU cores
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxCPUCapacity uint64 `url:"maxCPUCapacity,omitempty"`
|
MaxCPUCapacity int64 `url:"maxCPUCapacity,omitempty"`
|
||||||
|
|
||||||
// Max sent/received network transfer peering
|
// Max sent/received network transfer peering
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxNetworkPeerTransfer uint64 `url:"maxNetworkPeerTransfer,omitempty"`
|
MaxNetworkPeerTransfer int64 `url:"maxNetworkPeerTransfer,omitempty"`
|
||||||
|
|
||||||
// Max number of assigned public IPs
|
// Max number of assigned public IPs
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxNumPublicIP uint64 `url:"maxNumPublicIP,omitempty"`
|
MaxNumPublicIP int64 `url:"maxNumPublicIP,omitempty"`
|
||||||
|
|
||||||
// Username - owner of this resource group.
|
// Username - owner of this resource group.
|
||||||
// Leave blank to set current user as owner
|
// Leave blank to set current user as owner
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ type Resource struct {
|
|||||||
CPU int64 `json:"cpu"`
|
CPU int64 `json:"cpu"`
|
||||||
|
|
||||||
// Disk size
|
// Disk size
|
||||||
DiskSize int64 `json:"disksize"`
|
DiskSize float64 `json:"disksize"`
|
||||||
|
|
||||||
// Max disk size
|
// Max disk size
|
||||||
DiskSizeMax int64 `json:"disksizemax"`
|
DiskSizeMax uint64 `json:"disksizemax"`
|
||||||
|
|
||||||
// Number of External IPs
|
// Number of External IPs
|
||||||
ExtIPs int64 `json:"extips"`
|
ExtIPs int64 `json:"extips"`
|
||||||
@@ -33,7 +33,7 @@ type DiskUsage struct {
|
|||||||
DiskSize float64 `json:"disksize"`
|
DiskSize float64 `json:"disksize"`
|
||||||
|
|
||||||
// Disk size max
|
// Disk size max
|
||||||
DiskSizeMax float64 `json:"disksizemax"`
|
DiskSizeMax uint64 `json:"disksizemax"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Information about resources
|
// Information about resources
|
||||||
@@ -315,6 +315,30 @@ type ItemAudit struct {
|
|||||||
// List of audits
|
// List of audits
|
||||||
type ListAudits []ItemAudit
|
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
|
// Main information about compute
|
||||||
type ItemCompute struct {
|
type ItemCompute struct {
|
||||||
// Account ID
|
// Account ID
|
||||||
@@ -327,13 +351,13 @@ type ItemCompute struct {
|
|||||||
AffinityLabel string `json:"affinityLabel"`
|
AffinityLabel string `json:"affinityLabel"`
|
||||||
|
|
||||||
// List of affinity rules
|
// List of affinity rules
|
||||||
AffinityRules []interface{} `json:"affinityRules"`
|
AffinityRules ListRules `json:"affinityRules"`
|
||||||
|
|
||||||
// Affinity weight
|
// Affinity weight
|
||||||
AffinityWeight uint64 `json:"affinityWeight"`
|
AffinityWeight uint64 `json:"affinityWeight"`
|
||||||
|
|
||||||
// List of anti affinity rules
|
// List of anti affinity rules
|
||||||
AntiAffinityRules []interface{} `json:"antiAffinityRules"`
|
AntiAffinityRules ListRules `json:"antiAffinityRules"`
|
||||||
|
|
||||||
// Number of CPU
|
// Number of CPU
|
||||||
CPUs uint64 `json:"cpus"`
|
CPUs uint64 `json:"cpus"`
|
||||||
|
|||||||
@@ -23,23 +23,23 @@ type CreateRequest struct {
|
|||||||
|
|
||||||
// Max size of memory in MB
|
// Max size of memory in MB
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxMemoryCapacity uint64 `url:"maxMemoryCapacity,omitempty"`
|
MaxMemoryCapacity int64 `url:"maxMemoryCapacity,omitempty"`
|
||||||
|
|
||||||
// Max size of aggregated vdisks in GB
|
// Max size of aggregated vdisks in GB
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxVDiskCapacity uint64 `url:"maxVDiskCapacity,omitempty"`
|
MaxVDiskCapacity int64 `url:"maxVDiskCapacity,omitempty"`
|
||||||
|
|
||||||
// Max number of CPU cores
|
// Max number of CPU cores
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxCPUCapacity uint64 `url:"maxCPUCapacity,omitempty"`
|
MaxCPUCapacity int64 `url:"maxCPUCapacity,omitempty"`
|
||||||
|
|
||||||
// Max sent/received network transfer peering
|
// Max sent/received network transfer peering
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxNetworkPeerTransfer uint64 `url:"maxNetworkPeerTransfer,omitempty"`
|
MaxNetworkPeerTransfer int64 `url:"maxNetworkPeerTransfer,omitempty"`
|
||||||
|
|
||||||
// Max number of assigned public IPs
|
// Max number of assigned public IPs
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxNumPublicIP uint64 `url:"maxNumPublicIP,omitempty"`
|
MaxNumPublicIP int64 `url:"maxNumPublicIP,omitempty"`
|
||||||
|
|
||||||
// If true send emails when a user is granted access to resources
|
// If true send emails when a user is granted access to resources
|
||||||
// Required: false
|
// Required: false
|
||||||
@@ -47,7 +47,7 @@ type CreateRequest struct {
|
|||||||
|
|
||||||
// Limit (positive) or disable (0) GPU resources
|
// Limit (positive) or disable (0) GPU resources
|
||||||
// Required: false
|
// Required: false
|
||||||
GPUUnits uint64 `url:"gpu_units,omitempty"`
|
GPUUnits int64 `url:"gpu_units,omitempty"`
|
||||||
|
|
||||||
// List of strings with pools
|
// List of strings with pools
|
||||||
// i.e.: ["sep1_poolName1", "sep2_poolName2", etc]
|
// i.e.: ["sep1_poolName1", "sep2_poolName2", etc]
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ type ItemAudit struct {
|
|||||||
User string `json:"user"`
|
User string `json:"user"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// List of audirs
|
// List of audits
|
||||||
type ListAudits []ItemAudit
|
type ListAudits []ItemAudit
|
||||||
|
|
||||||
type RecordResources struct {
|
type RecordResources struct {
|
||||||
@@ -34,10 +34,10 @@ type Resource struct {
|
|||||||
CPU int64 `json:"cpu"`
|
CPU int64 `json:"cpu"`
|
||||||
|
|
||||||
// Disk size
|
// Disk size
|
||||||
DiskSize int64 `json:"disksize"`
|
DiskSize float64 `json:"disksize"`
|
||||||
|
|
||||||
// Disk size max
|
// Disk size max
|
||||||
DiskSizeMax int64 `json:"disksizemax"`
|
DiskSizeMax uint64 `json:"disksizemax"`
|
||||||
|
|
||||||
// Number of External IPs
|
// Number of External IPs
|
||||||
ExtIPs int64 `json:"extips"`
|
ExtIPs int64 `json:"extips"`
|
||||||
@@ -61,7 +61,7 @@ type DiskUsage struct {
|
|||||||
DiskSize float64 `json:"disksize"`
|
DiskSize float64 `json:"disksize"`
|
||||||
|
|
||||||
// Disk size max
|
// Disk size max
|
||||||
DiskSizeMax float64 `json:"disksizemax"`
|
DiskSizeMax uint64 `json:"disksizemax"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Access Control List
|
// Access Control List
|
||||||
|
|||||||
@@ -23,23 +23,23 @@ type CreateRequest struct {
|
|||||||
|
|
||||||
// Max size of memory in MB
|
// Max size of memory in MB
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxMemoryCapacity uint64 `url:"maxMemoryCapacity,omitempty"`
|
MaxMemoryCapacity int64 `url:"maxMemoryCapacity,omitempty"`
|
||||||
|
|
||||||
// Max size of aggregated virtual disks in GB
|
// Max size of aggregated virtual disks in GB
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxVDiskCapacity uint64 `url:"maxVDiskCapacity,omitempty"`
|
MaxVDiskCapacity int64 `url:"maxVDiskCapacity,omitempty"`
|
||||||
|
|
||||||
// Max number of CPU cores
|
// Max number of CPU cores
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxCPUCapacity uint64 `url:"maxCPUCapacity,omitempty"`
|
MaxCPUCapacity int64 `url:"maxCPUCapacity,omitempty"`
|
||||||
|
|
||||||
// Max sent/received network transfer peering
|
// Max sent/received network transfer peering
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxNetworkPeerTransfer uint64 `url:"maxNetworkPeerTransfer,omitempty"`
|
MaxNetworkPeerTransfer int64 `url:"maxNetworkPeerTransfer,omitempty"`
|
||||||
|
|
||||||
// Max number of assigned public IPs
|
// Max number of assigned public IPs
|
||||||
// Required: false
|
// Required: false
|
||||||
MaxNumPublicIP uint64 `url:"maxNumPublicIP,omitempty"`
|
MaxNumPublicIP int64 `url:"maxNumPublicIP,omitempty"`
|
||||||
|
|
||||||
// Username - owner of this resource group.
|
// Username - owner of this resource group.
|
||||||
// Leave blank to set current user as owner
|
// Leave blank to set current user as owner
|
||||||
|
|||||||
@@ -24,25 +24,25 @@ type ListAudits []ItemAudit
|
|||||||
// Reservation information of usage
|
// Reservation information of usage
|
||||||
type Reservation struct {
|
type Reservation struct {
|
||||||
// Number of CPU
|
// Number of CPU
|
||||||
CPU uint64 `json:"cpu"`
|
CPU int64 `json:"cpu"`
|
||||||
|
|
||||||
// Disk size
|
// Disk size
|
||||||
DiskSize uint64 `json:"disksize"`
|
DiskSize float64 `json:"disksize"`
|
||||||
|
|
||||||
// Max disk size
|
// Max disk size
|
||||||
DiskSizeMax int64 `json:"disksizemax"`
|
DiskSizeMax uint64 `json:"disksizemax"`
|
||||||
|
|
||||||
// External IPs
|
// External IPs
|
||||||
ExtIPs uint64 `json:"extips"`
|
ExtIPs int64 `json:"extips"`
|
||||||
|
|
||||||
// External traffic
|
// External traffic
|
||||||
ExtTraffic uint64 `json:"exttraffic"`
|
ExtTraffic int64 `json:"exttraffic"`
|
||||||
|
|
||||||
// Number of GPU
|
// Number of GPU
|
||||||
GPU uint64 `json:"gpu"`
|
GPU int64 `json:"gpu"`
|
||||||
|
|
||||||
// Number of RAM
|
// Number of RAM
|
||||||
RAM uint64 `json:"ram"`
|
RAM int64 `json:"ram"`
|
||||||
|
|
||||||
// SEPs
|
// SEPs
|
||||||
SEPs map[string]map[string]DiskUsage `json:"seps"`
|
SEPs map[string]map[string]DiskUsage `json:"seps"`
|
||||||
@@ -54,7 +54,7 @@ type DiskUsage struct {
|
|||||||
DiskSize float64 `json:"disksize"`
|
DiskSize float64 `json:"disksize"`
|
||||||
|
|
||||||
// Disk size max
|
// Disk size max
|
||||||
DiskSizeMax float64 `json:"disksizemax"`
|
DiskSizeMax uint64 `json:"disksizemax"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resources usage information
|
// Resources usage information
|
||||||
@@ -138,7 +138,7 @@ type ItemRG struct {
|
|||||||
CreatedTime uint64 `json:"createdTime"`
|
CreatedTime uint64 `json:"createdTime"`
|
||||||
|
|
||||||
// DefNet ID
|
// DefNet ID
|
||||||
DefNetID int64 `json:"def_net_id"`
|
DefNetID uint64 `json:"def_net_id"`
|
||||||
|
|
||||||
// DefNet type
|
// DefNet type
|
||||||
DefNetType string `json:"def_net_type"`
|
DefNetType string `json:"def_net_type"`
|
||||||
@@ -252,7 +252,7 @@ type ItemRule struct {
|
|||||||
Value string `json:"value"`
|
Value string `json:"value"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// List rules
|
// List of rules
|
||||||
type ListRules []ItemRule
|
type ListRules []ItemRule
|
||||||
|
|
||||||
// Main information about compute
|
// Main information about compute
|
||||||
|
|||||||
Reference in New Issue
Block a user