2024-04-16 14:26:06 +03:00
|
|
|
|
package user
|
|
|
|
|
|
|
|
|
|
|
|
import "strconv"
|
|
|
|
|
|
|
|
|
|
|
|
type ItemUser struct {
|
|
|
|
|
|
// Data
|
|
|
|
|
|
Data interface{} `json:"data"`
|
|
|
|
|
|
|
|
|
|
|
|
// EmailAddresses
|
|
|
|
|
|
EmailAddresses []string `json:"emailaddresses"`
|
|
|
|
|
|
|
|
|
|
|
|
// Username
|
|
|
|
|
|
Username string `json:"username"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type ItemAudit struct {
|
|
|
|
|
|
// Call
|
|
|
|
|
|
Call string `json:"Call"`
|
|
|
|
|
|
|
|
|
|
|
|
// Response time
|
|
|
|
|
|
ResponseTime ResponseTime `json:"Response Time"`
|
|
|
|
|
|
|
|
|
|
|
|
// StatusCode
|
|
|
|
|
|
StatusCode StatusCode `json:"Status Code"`
|
|
|
|
|
|
|
2024-11-12 12:51:21 +03:00
|
|
|
|
// Guid
|
|
|
|
|
|
GUID string `json:"Guid"`
|
|
|
|
|
|
|
2024-04-16 14:26:06 +03:00
|
|
|
|
// Time
|
|
|
|
|
|
Time float64 `json:"Time"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type ListAudits struct {
|
|
|
|
|
|
// Data
|
|
|
|
|
|
Data []ItemAudit `json:"data"`
|
|
|
|
|
|
|
|
|
|
|
|
// Entry count
|
|
|
|
|
|
EntryCount uint64 `json:"entryCount"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type ResponseTime float64
|
|
|
|
|
|
|
|
|
|
|
|
func (r *ResponseTime) UnmarshalJSON(b []byte) error {
|
|
|
|
|
|
if string(b) == "null" {
|
|
|
|
|
|
*r = ResponseTime(-1)
|
|
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
res, err := strconv.ParseFloat(string(b), 64)
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
return err
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
*r = ResponseTime(res)
|
|
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type StatusCode int64
|
|
|
|
|
|
|
|
|
|
|
|
func (s *StatusCode) UnmarshalJSON(b []byte) error {
|
|
|
|
|
|
if string(b) == "null" {
|
|
|
|
|
|
*s = StatusCode(-1)
|
|
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
res, err := strconv.ParseInt(string(b), 10, 64)
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
return err
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
*s = StatusCode(res)
|
|
|
|
|
|
|
|
|
|
|
|
return nil
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type BriefResources struct {
|
|
|
|
|
|
Accounts Accounts `json:"Accounts,omitempty"`
|
|
|
|
|
|
Computes Computes `json:"Computes,omitempty"`
|
|
|
|
|
|
RGs RGs `json:"RGs,omitempty"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type Accounts struct {
|
2026-08-21 17:52:28 +04:00
|
|
|
|
Destroying uint64 `json:"DESTROYING,omitempty"`
|
|
|
|
|
|
Confirmed uint64 `json:"CONFIRMED,omitempty"`
|
|
|
|
|
|
Disabled uint64 `json:"DISABLED,omitempty"`
|
|
|
|
|
|
Deleted uint64 `json:"DELETED,omitempty"`
|
2024-04-16 14:26:06 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type Computes struct {
|
2026-08-21 17:52:28 +04:00
|
|
|
|
Starting uint64 `json:"STARTING,omitempty"`
|
|
|
|
|
|
Started uint64 `json:"STARTED,omitempty"`
|
|
|
|
|
|
Stopping uint64 `json:"STOPPING,omitempty"`
|
|
|
|
|
|
Stopped uint64 `json:"STOPPED,omitempty"`
|
|
|
|
|
|
Paused uint64 `json:"PAUSED,omitempty"`
|
|
|
|
|
|
Pausing uint64 `json:"PAUSING,omitempty"`
|
|
|
|
|
|
Merge uint64 `json:"MERGE,omitempty"`
|
|
|
|
|
|
Migrating uint64 `json:"MIGRATING,omitempty"`
|
|
|
|
|
|
MigratingIn uint64 `json:"MIGRATING_IN,omitempty"`
|
|
|
|
|
|
MigratingOut uint64 `json:"MIGRATING_OUT,omitempty"`
|
|
|
|
|
|
Down uint64 `json:"DOWN,omitempty"`
|
|
|
|
|
|
Scheduled uint64 `json:"SCHEDULED,omitempty"`
|
|
|
|
|
|
BackupStopped uint64 `json:"BACKUP_STOPPED,omitempty"`
|
|
|
|
|
|
BackupRunning uint64 `json:"BACKUP_RUNNING,omitempty"`
|
|
|
|
|
|
SnapСreate uint64 `json:"SNAPCREATE,omitempty"`
|
|
|
|
|
|
Cloning uint64 `json:"CLONING,omitempty"`
|
|
|
|
|
|
Rollback uint64 `json:"ROLLBACK,omitempty"`
|
2024-04-16 14:26:06 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type RGs struct {
|
2026-08-21 17:52:28 +04:00
|
|
|
|
Modeled uint64 `json:"MODELED,omitempty"`
|
|
|
|
|
|
Created uint64 `json:"CREATED,omitempty"`
|
|
|
|
|
|
Deleted uint64 `json:"DELETED,omitempty"`
|
|
|
|
|
|
Deleting uint64 `json:"DELETING,omitempty"`
|
|
|
|
|
|
Destroying uint64 `json:"DESTROYING,omitempty"`
|
|
|
|
|
|
Disabled uint64 `json:"DISABLED,omitempty"`
|
|
|
|
|
|
Disabling uint64 `json:"DISABLING,omitempty"`
|
|
|
|
|
|
Enabling uint64 `json:"ENABLING,omitempty"`
|
|
|
|
|
|
Restoring uint64 `json:"RESTORING,omitempty"`
|
2024-04-16 14:26:06 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type APIsEndpoints struct {
|
|
|
|
|
|
CloudAPI CloudAPIEndpoints `json:"cloudapi,omitempty"`
|
|
|
|
|
|
CloudBroker CloudBrokerEndpoints `json:"cloudbroker,omitempty"`
|
|
|
|
|
|
LibCloud LibCloudEndpoints `json:"libcloud,omitempty"`
|
|
|
|
|
|
System SystemEndpoints `json:"system,omitempty"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type CloudAPIEndpoints struct {
|
|
|
|
|
|
All bool `json:"ALL,omitempty"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type CloudBrokerEndpoints struct {
|
|
|
|
|
|
All bool `json:"ALL,omitempty"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type LibCloudEndpoints struct {
|
|
|
|
|
|
All bool `json:"ALL,omitempty"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type SystemEndpoints struct {
|
|
|
|
|
|
All bool `json:"ALL,omitempty"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type ResourceConsumption struct {
|
|
|
|
|
|
// Consumed
|
|
|
|
|
|
Consumed Resources `json:"Consumed"`
|
|
|
|
|
|
|
|
|
|
|
|
// Reserved
|
|
|
|
|
|
Reserved Resources `json:"Reserved"`
|
|
|
|
|
|
|
|
|
|
|
|
// Username
|
|
|
|
|
|
Username string `json:"username"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type Resources struct {
|
|
|
|
|
|
// CPU
|
|
|
|
|
|
CPU uint64 `json:"cpu"`
|
|
|
|
|
|
|
|
|
|
|
|
// Disksize
|
|
|
|
|
|
DiskSize uint64 `json:"disksize"`
|
|
|
|
|
|
|
|
|
|
|
|
// DiskSizeMax
|
|
|
|
|
|
DiskSizeMax uint64 `json:"disksizemax"`
|
|
|
|
|
|
|
|
|
|
|
|
// ExtIPs
|
|
|
|
|
|
ExtIPs uint64 `json:"extips"`
|
|
|
|
|
|
|
|
|
|
|
|
// GPU
|
|
|
|
|
|
GPU uint64 `json:"gpu"`
|
|
|
|
|
|
|
|
|
|
|
|
// RAM
|
|
|
|
|
|
RAM uint64 `json:"ram"`
|
|
|
|
|
|
|
|
|
|
|
|
// SEPs
|
|
|
|
|
|
SEPs map[string]map[string]DiskUsage `json:"seps"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Disk usage
|
|
|
|
|
|
type DiskUsage struct {
|
|
|
|
|
|
// Disk size
|
|
|
|
|
|
DiskSize float64 `json:"disksize"`
|
|
|
|
|
|
|
|
|
|
|
|
// Disk size max
|
|
|
|
|
|
DiskSizeMax float64 `json:"disksizemax"`
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
type FoundElements []interface{}
|