v1.12.9
This commit is contained in:
191
pkg/sdn/defsecpolicies/models.go
Normal file
191
pkg/sdn/defsecpolicies/models.go
Normal file
@@ -0,0 +1,191 @@
|
||||
package defsecpolicies
|
||||
|
||||
type SecurityPoliciesList struct {
|
||||
Policies []SecurityPolicy `json:"policies"`
|
||||
}
|
||||
|
||||
// Main information about security policy
|
||||
type SecurityPolicy struct {
|
||||
// Access group ID
|
||||
AccessGroupID string `json:"access_group_id"`
|
||||
|
||||
// Created time
|
||||
CreatedAt string `json:"created_at"`
|
||||
|
||||
// Default ACL drop behavior
|
||||
DefaultACLDrop string `json:"default_acl_drop"`
|
||||
|
||||
// Default open session drop flag
|
||||
DefaultOpenSessionDrop bool `json:"default_open_session_drop"`
|
||||
|
||||
// Description
|
||||
Description string `json:"description"`
|
||||
|
||||
// Display name
|
||||
DisplayName string `json:"display_name"`
|
||||
|
||||
// ID
|
||||
ID string `json:"id"`
|
||||
|
||||
// Security rules
|
||||
SecurityRules []SecurityRule `json:"security_rules"`
|
||||
|
||||
// Locked time
|
||||
LockedAt string `json:"locked_at"`
|
||||
|
||||
// Status information
|
||||
Status Status `json:"status"`
|
||||
|
||||
// Version ID
|
||||
VersionID uint64 `json:"version_id"`
|
||||
|
||||
// Updated time
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
}
|
||||
|
||||
// Security rule information
|
||||
type SecurityRule struct {
|
||||
// Access group ID
|
||||
AccessGroupID string `json:"access_group_id"`
|
||||
|
||||
// Action
|
||||
Action string `json:"action"`
|
||||
|
||||
// Description
|
||||
Description string `json:"description"`
|
||||
|
||||
// Destination network object
|
||||
DestinationNetObject NetObject `json:"destination_net_object"`
|
||||
|
||||
// Direction
|
||||
Direction string `json:"direction"`
|
||||
|
||||
// Display name
|
||||
DisplayName string `json:"display_name"`
|
||||
|
||||
// Enabled flag
|
||||
Enabled bool `json:"enabled"`
|
||||
|
||||
// Filter configuration
|
||||
Filter Filter `json:"filter"`
|
||||
|
||||
// ID
|
||||
ID string `json:"id"`
|
||||
|
||||
// Log enabled flag
|
||||
LogEnabled bool `json:"log_enabled"`
|
||||
|
||||
// Log name
|
||||
LogName string `json:"log_name"`
|
||||
|
||||
// Log severity
|
||||
LogSeverity string `json:"log_severity"`
|
||||
|
||||
// Priority
|
||||
Priority int `json:"priority"`
|
||||
|
||||
// Security policy ID
|
||||
SecurityPolicyID string `json:"security_policy_id"`
|
||||
|
||||
// Source network object
|
||||
SourceNetObject NetObject `json:"source_net_object"`
|
||||
|
||||
// Statistics enabled flag
|
||||
StatisticsEnabled bool `json:"statistics_enabled"`
|
||||
|
||||
// Version ID
|
||||
VersionID uint64 `json:"version_id"`
|
||||
}
|
||||
|
||||
// Network object information
|
||||
type NetObject struct {
|
||||
// Display name
|
||||
DisplayName string `json:"display_name"`
|
||||
|
||||
// Network address pool ID
|
||||
NetAddressPoolID string `json:"net_address_pool_id"`
|
||||
|
||||
// Network object group ID
|
||||
NetObjectGroupID string `json:"net_object_group_id"`
|
||||
}
|
||||
|
||||
// Filter configuration
|
||||
type Filter struct {
|
||||
// Filter parameters
|
||||
Filters FilterParams `json:"filters"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
// Filter parameters
|
||||
type FilterParams struct {
|
||||
// All protocols flag
|
||||
All bool `json:"all"`
|
||||
|
||||
// ARP protocol flag
|
||||
ARP bool `json:"arp"`
|
||||
|
||||
// DHCP protocol flag
|
||||
DHCP bool `json:"dhcp"`
|
||||
|
||||
// Filter expression
|
||||
Expression string `json:"expression"`
|
||||
|
||||
// ICMP protocol flag
|
||||
ICMP bool `json:"icmp"`
|
||||
|
||||
// IP protocol flag
|
||||
IP bool `json:"ip"`
|
||||
|
||||
// IPv4 protocol flag
|
||||
IPv4 bool `json:"ip_v4"`
|
||||
|
||||
// IPv6 protocol flag
|
||||
IPv6 bool `json:"ip_v6"`
|
||||
|
||||
// Keep opened sessions flag
|
||||
KeepOpenedSessions bool `json:"keep_opened_sessions"`
|
||||
|
||||
// ND protocol flag
|
||||
ND bool `json:"nd"`
|
||||
|
||||
// TCP protocol flag
|
||||
TCP bool `json:"tcp"`
|
||||
|
||||
// TCP destination ports
|
||||
TCPDstPorts []string `json:"tcp_dst_ports"`
|
||||
|
||||
// UDP protocol flag
|
||||
UDP bool `json:"udp"`
|
||||
|
||||
// UDP destination ports
|
||||
UDPDstPorts []string `json:"udp_dst_ports"`
|
||||
}
|
||||
|
||||
// Status information
|
||||
type Status struct {
|
||||
// Common status
|
||||
Common string `json:"common"`
|
||||
|
||||
// Hypervisor statuses
|
||||
Hypervisors []HypervisorStatus `json:"hypervisors"`
|
||||
}
|
||||
|
||||
// Hypervisor status information
|
||||
type HypervisorStatus struct {
|
||||
// Status
|
||||
Status string `json:"status"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
|
||||
// Display name
|
||||
DisplayName string `json:"display_name"`
|
||||
|
||||
// Hypervisor status
|
||||
HypervisorStatus string `json:"hypervisor_status"`
|
||||
|
||||
// Last sync time
|
||||
SyncedAt string `json:"synced_at"`
|
||||
}
|
||||
Reference in New Issue
Block a user