123 lines
2.3 KiB
Go
123 lines
2.3 KiB
Go
package qospolicy
|
|
|
|
type ListQoSPolicies struct {
|
|
// List
|
|
Data []ItemQoSPolicy `json:"data"`
|
|
|
|
// Entry count
|
|
EntryCount uint64 `json:"entryCount"`
|
|
}
|
|
|
|
type ItemQoSPolicy struct {
|
|
// ID of the QoS policy
|
|
ID uint64 `json:"id"`
|
|
|
|
// GUID
|
|
GUID uint64 `json:"guid"`
|
|
|
|
// Account ID that owns the QoS policy
|
|
AccountID uint64 `json:"account_id"`
|
|
|
|
// Name of the QoS policy
|
|
Name string `json:"name"`
|
|
|
|
// Description of the QoS policy
|
|
Description string `json:"description"`
|
|
|
|
// Status of the QoS policy
|
|
Status string `json:"status"`
|
|
|
|
// Created at (unix timestamp)
|
|
CreatedAt uint64 `json:"created_at"`
|
|
|
|
// Updated at (unix timestamp)
|
|
UpdatedAt uint64 `json:"updated_at"`
|
|
|
|
// Created by
|
|
CreatedBy string `json:"created_by"`
|
|
|
|
// Updated by
|
|
UpdatedBy string `json:"updated_by"`
|
|
|
|
// List of rules
|
|
Rules Rules `json:"rules"`
|
|
}
|
|
|
|
type RecordQoSPolicy struct {
|
|
// ID of the QoS policy
|
|
ID uint64 `json:"id"`
|
|
|
|
// GUID
|
|
GUID uint64 `json:"guid"`
|
|
|
|
// Account ID that owns the QoS policy
|
|
AccountID uint64 `json:"account_id"`
|
|
|
|
// Name of the QoS policy
|
|
Name string `json:"name"`
|
|
|
|
// Description of the QoS policy
|
|
Description string `json:"description"`
|
|
|
|
// Status of the QoS policy
|
|
Status string `json:"status"`
|
|
|
|
// Created at (unix timestamp)
|
|
CreatedAt uint64 `json:"created_at"`
|
|
|
|
// Updated at (unix timestamp)
|
|
UpdatedAt uint64 `json:"updated_at"`
|
|
|
|
// Created by
|
|
CreatedBy string `json:"created_by"`
|
|
|
|
// Updated by
|
|
UpdatedBy string `json:"updated_by"`
|
|
|
|
// List of rules
|
|
Rules Rules `json:"rules"`
|
|
}
|
|
|
|
type Rules []Rule
|
|
|
|
type Rule struct {
|
|
// ID of the rule
|
|
ID uint64 `json:"id"`
|
|
|
|
// Description of the rule
|
|
Description string `json:"description"`
|
|
|
|
// Rule priority in OVS (higher number = higher priority)
|
|
Priority uint64 `json:"priority"`
|
|
|
|
// Traffic direction
|
|
Direction string `json:"direction"`
|
|
|
|
// IP protocol
|
|
Protocol string `json:"protocol"`
|
|
|
|
// Priority Code Point (0-7). L2 marking
|
|
PCPTag uint64 `json:"pcp_tag"`
|
|
|
|
// DSCP value (0-63). L3 marking
|
|
DSCPValue uint64 `json:"dscp_value"`
|
|
|
|
// Source IP address
|
|
SrcIP string `json:"src_ip"`
|
|
|
|
// Destination IP address
|
|
DstIP string `json:"dst_ip"`
|
|
|
|
// Source MAC address
|
|
SrcMAC string `json:"src_mac"`
|
|
|
|
// Destination MAC address
|
|
DstMAC string `json:"dst_mac"`
|
|
|
|
// Source port
|
|
SrcPort uint64 `json:"src_port"`
|
|
|
|
// Destination port
|
|
DstPort uint64 `json:"dst_port"`
|
|
}
|