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"`
 | |
| }
 |