nodebalancer_stats.go raw

   1  package linodego
   2  
   3  import (
   4  	"context"
   5  )
   6  
   7  // NodeBalancerStats represents a nodebalancer stats object
   8  type NodeBalancerStats struct {
   9  	Title string                `json:"title"`
  10  	Data  NodeBalancerStatsData `json:"data"`
  11  }
  12  
  13  // NodeBalancerStatsData represents a nodebalancer stats data object
  14  type NodeBalancerStatsData struct {
  15  	Connections [][]float64  `json:"connections"`
  16  	Traffic     StatsTraffic `json:"traffic"`
  17  }
  18  
  19  // StatsTraffic represents a Traffic stats object
  20  type StatsTraffic struct {
  21  	In  [][]float64 `json:"in"`
  22  	Out [][]float64 `json:"out"`
  23  }
  24  
  25  // GetNodeBalancerStats gets the template with the provided ID
  26  func (c *Client) GetNodeBalancerStats(ctx context.Context, nodebalancerID int) (*NodeBalancerStats, error) {
  27  	e := formatAPIPath("nodebalancers/%d/stats", nodebalancerID)
  28  	return doGETRequest[NodeBalancerStats](ctx, c, e)
  29  }
  30