You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
240 lines
4.3 KiB
240 lines
4.3 KiB
package grid
|
|
|
|
// Resource information
|
|
type Resources struct {
|
|
// Current resources
|
|
Current RecordResource `json:"Current"`
|
|
|
|
// Reserved resources
|
|
Reserved RecordResource `json:"Reserved"`
|
|
}
|
|
|
|
// Resource consumption information
|
|
type RecordResourcesConsumption struct {
|
|
// Current resources
|
|
Consumed RecordResource `json:"Consumed"`
|
|
|
|
// Reserved resources
|
|
Reserved RecordResource `json:"Reserved"`
|
|
|
|
// GID
|
|
GID uint64 `json:"id"`
|
|
}
|
|
|
|
type ListResourceConsumption struct {
|
|
// Data
|
|
Data []RecordResourcesConsumption `json:"data"`
|
|
|
|
// Entry count
|
|
EntryCount uint64 `json:"entryCount"`
|
|
}
|
|
|
|
// Resource details
|
|
type RecordResource struct {
|
|
// Number of CPU
|
|
CPU uint64 `json:"cpu"`
|
|
|
|
// Disk size
|
|
DiskSize float64 `json:"disksize"`
|
|
|
|
// Disk size max
|
|
DiskSizeMax int64 `json:"disksizemax"`
|
|
|
|
// External IPs
|
|
ExtIPs uint64 `json:"extips"`
|
|
|
|
// External traffic
|
|
ExtTraffic uint64 `json:"exttraffic"`
|
|
|
|
// Number of GPU
|
|
GPU uint64 `json:"gpu"`
|
|
|
|
// Number of 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"`
|
|
}
|
|
|
|
// Detailed information about grid
|
|
type RecordGrid struct {
|
|
// CKey
|
|
CKey string `json:"_ckey"`
|
|
|
|
// Meta
|
|
Meta []interface{} `json:"_meta"`
|
|
|
|
// AuthBroker
|
|
AuthBroker []interface{} `json:"authBroker"`
|
|
|
|
// Flag
|
|
Flag string `json:"flag"`
|
|
|
|
// Grid ID
|
|
GID uint64 `json:"gid"`
|
|
|
|
// GUID
|
|
GUID uint64 `json:"guid"`
|
|
|
|
// ID
|
|
ID uint64 `json:"id"`
|
|
|
|
// Location code
|
|
LocationCode string `json:"locationCode"`
|
|
|
|
// Name
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// Information about grid
|
|
type ItemGridList struct {
|
|
// Resource information
|
|
Resources Resources `json:"Resources"`
|
|
|
|
// AuthBroker
|
|
AuthBroker []interface{} `json:"authBroker"`
|
|
|
|
// Flag
|
|
Flag string `json:"flag"`
|
|
|
|
// Grid ID
|
|
GID uint64 `json:"gid"`
|
|
|
|
// GUID
|
|
GUID uint64 `json:"guid"`
|
|
|
|
// ID
|
|
ID uint64 `json:"id"`
|
|
|
|
// Location code
|
|
LocationCode string `json:"locationCode"`
|
|
|
|
// Name
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
// List Grids
|
|
type ListGrids struct {
|
|
//Data
|
|
Data []ItemGridList `json:"data"`
|
|
|
|
// Entry count
|
|
EntryCount uint64 `json:"entryCount"`
|
|
}
|
|
|
|
// List emails
|
|
type ListEmails struct {
|
|
//Data
|
|
Data []string `json:"data"`
|
|
|
|
// Entry count
|
|
EntryCount uint64 `json:"entryCount"`
|
|
}
|
|
|
|
// Detailed information about grid settings
|
|
type RecordSettingsGrid struct {
|
|
//Allowed ports
|
|
Allowedports []int `json:"allowedports"`
|
|
|
|
//Cleanup retention period
|
|
CleanupRetentionPeriod uint64 `json:"cleanupRetentionPeriod"`
|
|
|
|
//Docker registry
|
|
DockerRegistry DockerRegistry `json:"docker_registry"`
|
|
|
|
//Enable uptime monitor
|
|
EnableUptimeMonitor bool `json:"enableUptimeMonitor"`
|
|
|
|
//Extnet max prereservation num
|
|
ExtnetMaxPreReservationsNum int `json:"extnetMaxPreReservationsNum"`
|
|
|
|
//Healthcheck notifications
|
|
HealthcheckNotifications HealthcheckNotifications `json:"healthcheck_notifications"`
|
|
|
|
//k8s cleanup enabled
|
|
K8sCleanupEnabled bool `json:"k8s_cleanup_enabled"`
|
|
|
|
//Limits
|
|
Limits interface{} `json:"limits"`
|
|
|
|
//Location url
|
|
LocationURL string `json:"location_url"`
|
|
|
|
//Net QOS
|
|
NetQOS NetQOS `json:"net_qos"`
|
|
|
|
//Networks
|
|
Networks string `json:"networks"`
|
|
|
|
//Prometheus
|
|
Prometheus Prometheus `json:"prometheus"`
|
|
|
|
//Vins max prereservation num
|
|
VinsMaxPreReservationsNum int `json:"vinsMaxPreReservationsNum"`
|
|
|
|
//Vnfdev mgmt net range
|
|
VnfdevMgmtNetRange string `json:"vnfdev_mgmt_net_range"`
|
|
}
|
|
|
|
// DockerRegistry in grid settings
|
|
type DockerRegistry struct {
|
|
//Password
|
|
Password string `json:"password"`
|
|
|
|
//Server
|
|
Server string `json:"server"`
|
|
|
|
//Username
|
|
Username string `json:"username"`
|
|
}
|
|
|
|
// NetQOS in grid settings
|
|
type NetQOS struct {
|
|
// ExtNet Net QOS settings
|
|
ExtNet SettingsNetQOS `json:"ext_net"`
|
|
|
|
// VINS Net QOS settings
|
|
VINS SettingsNetQOS `json:"vins"`
|
|
}
|
|
|
|
// SettingsNetQOS in grid settings
|
|
type SettingsNetQOS struct {
|
|
//ERate
|
|
ERate uint64 `json:"eRate"`
|
|
|
|
//InBurst
|
|
InBurst uint64 `json:"inBurst"`
|
|
|
|
//InRate
|
|
InRate uint64 `json:"inRate"`
|
|
}
|
|
|
|
// HealthcheckNotifications settings in grid
|
|
type HealthcheckNotifications struct {
|
|
//Emails
|
|
Emails []Emails `json:"emails"`
|
|
}
|
|
|
|
type Emails struct {
|
|
//Address
|
|
Address string `json:"address"`
|
|
|
|
//Enabled
|
|
Enabled bool `json:"enabled"`
|
|
}
|
|
|
|
// Prometheus setting in grid
|
|
type Prometheus struct {
|
|
//ScrapeInterval
|
|
ScrapeInterval int `json:"scrapeInterval"`
|
|
}
|