usage.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package models
  2. // Usage - struct for license usage
  3. type Usage struct {
  4. Servers int `json:"servers"`
  5. Users int `json:"users"`
  6. Hosts int `json:"hosts"`
  7. Clients int `json:"clients"`
  8. Networks int `json:"networks"`
  9. Ingresses int `json:"ingresses"`
  10. Egresses int `json:"egresses"`
  11. Relays int `json:"relays"`
  12. InternetGateways int `json:"internet_gateways"`
  13. FailOvers int `json:"fail_overs"`
  14. NetworkUsage map[string]NetworkUsage `json:"network_usage"`
  15. }
  16. type NetworkUsage struct {
  17. Nodes int `json:"nodes"`
  18. Clients int `json:"clients"`
  19. Ingresses int `json:"ingresses"`
  20. Egresses int `json:"egresses"`
  21. Relays int `json:"relays"`
  22. InternetGateways int `json:"internet_gateways"`
  23. FailOvers int `json:"fail_overs"`
  24. }
  25. // SetDefaults - sets the default values for usage
  26. func (l *Usage) SetDefaults() {
  27. l.Clients = 0
  28. l.Servers = 1
  29. l.Hosts = 0
  30. l.Users = 1
  31. l.Networks = 0
  32. l.Ingresses = 0
  33. l.Egresses = 0
  34. l.Relays = 0
  35. l.InternetGateways = 0
  36. l.NetworkUsage = make(map[string]NetworkUsage)
  37. }