network.go 874 B

1234567891011121314151617181920212223
  1. package models
  2. // TODO: used for dynamic cloud provider price fetching.
  3. // determine what identifies a load balancer in the json returned from the cloud provider pricing API call
  4. // type LBKey interface {
  5. // }
  6. // Network is the interface by which the provider and cost model communicate network egress prices.
  7. // The provider will best-effort try to fill out this struct.
  8. type Network struct {
  9. ZoneNetworkEgressCost float64
  10. RegionNetworkEgressCost float64
  11. InternetNetworkEgressCost float64
  12. NatGatewayEgressCost float64
  13. NatGatewayIngressCost float64
  14. }
  15. // LoadBalancer is the interface by which the provider and cost model communicate LoadBalancer prices.
  16. // The provider will best-effort try to fill out this struct.
  17. type LoadBalancer struct {
  18. IngressIPAddresses []string `json:"IngressIPAddresses"`
  19. Cost float64 `json:"hourlyCost"`
  20. }