globalLimit.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package v1
  2. type GlobalLimitRequest struct {
  3. Uid int `json:"uid" form:"uid" binding:"required"`
  4. HostId int `json:"host_id" form:"host_id" binding:"required"`
  5. Comment string `json:"comment" form:"comment" binding:"required"`
  6. }
  7. type GlobalLimitSendRequest struct {
  8. Tag string `json:"tag" form:"tag" binding:"required"`
  9. Bps string `form:"bps" json:"bps" default:"0"`
  10. MaxBytesMonth string `form:"max_bytes_month" json:"max_bytes_month" default:"0"`
  11. ExpiredAt string `form:"expired_at" json:"expired_at omitempty"`
  12. Comment string `form:"comment" json:"comment"`
  13. }
  14. type GlobalLimitRequireResponse struct {
  15. ExpiredAt string
  16. GlobalLimitName string
  17. Bps string
  18. MaxBytesMonth string
  19. IpCount int
  20. Operator int
  21. }
  22. type GeneralLimitRequireRequest struct {
  23. Uid int `json:"uid" form:"uid" binding:"required"`
  24. HostId int `json:"host_id" form:"host_id" binding:"required"`
  25. Tag string `json:"tag" form:"tag" binding:"required"`
  26. RuleId int `json:"rule_id" form:"rule_id" binding:"required"`
  27. }
  28. type AccessRules struct {
  29. Mode string `json:"mode" form:"mode" default:"deny"`
  30. Default string `json:"default" form:"default" default:"allow"`
  31. Rules []AccessRuleRules `json:"rules" form:"rules"`
  32. }
  33. type AccessRuleRules struct {
  34. Rule string `json:"rule" form:"rule"`
  35. Action string `json:"action" form:"action" default:"deny"`
  36. }