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"` // Access group name AccessGroupName string `json:"access_group_name"` // 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"` // Display name DisplayName string `json:"display_name"` // ID ID string `json:"id"` // Security rules SecurityRules []SecurityRule `json:"security_rules"` // 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"` // Applied network object groups AppliedNetObjectGroups []AppliedNetObjectGroup `json:"applied_net_object_groups"` // Destination network object groups DestinationNetObjectGroups []NetObjectGroup `json:"destination_net_object_groups"` // Direction Direction string `json:"direction"` // Display name DisplayName string `json:"display_name"` // Enabled flag Enabled bool `json:"enabled"` // Filters configuration Filter []FilterParams `json:"filters"` // ID ID string `json:"id"` // Log enabled flag LogEnabled bool `json:"log_enabled"` // Logging profile LoggingProfile LoggingProfile `json:"logging_profile"` // Logging profile ID LoggingProfileID string `json:"logging_profile_id"` // Priority Priority int `json:"priority"` // Security rule condition groups SecurityRuleConditionGroups []SecurityRuleConditionGroup `json:"security_rule_condition_groups"` // Security rule conditions SecurityRuleConditions []SecurityRuleCondition `json:"security_rule_conditions"` // Source network object groups SourceNetObjectGroups []NetObjectGroup `json:"source_net_object_groups"` // Statistics enabled flag StatisticsEnabled bool `json:"statistics_enabled"` // Type Type string `json:"type"` // Version ID VersionID uint64 `json:"version_id"` } // Applied network object group information type AppliedNetObjectGroup struct { // ID ID string `json:"id"` // Name Name string `json:"name"` // Version ID VersionID uint64 `json:"version_id"` } // Network object group information type NetObjectGroup struct { // ID ID string `json:"id"` // Is positive flag IsPositive bool `json:"is_positive"` // Name Name string `json:"name"` // Version ID VersionID uint64 `json:"version_id"` } // Logging profile information type LoggingProfile struct { // Access group ID AccessGroupID string `json:"access_group_id"` // Access group name AccessGroupName string `json:"access_group_name"` // Created time CreatedAt string `json:"created_at"` // Direction Direction string `json:"direction"` // ID ID string `json:"id"` // Name Name string `json:"name"` // Security rules count SecurityRulesCount uint64 `json:"security_rules_count"` // Session established sample rate SessionEstablishedSampleRate float64 `json:"session_established_sample_rate"` // Session new sample rate SessionNewSampleRate float64 `json:"session_new_sample_rate"` // Updated time UpdatedAt string `json:"updated_at"` // Version ID VersionID uint64 `json:"version_id"` } // Security rule condition group information type SecurityRuleConditionGroup struct { // Access group ID AccessGroupID string `json:"access_group_id"` // Access group name AccessGroupName string `json:"access_group_name"` // Created time CreatedAt string `json:"created_at"` // ID ID string `json:"id"` // Name Name string `json:"name"` // Security rule conditions SecurityRuleConditions []SecurityRuleCondition `json:"security_rule_conditions"` // Security rules count SecurityRulesCount uint64 `json:"security_rules_count"` // Updated time UpdatedAt string `json:"updated_at"` } // Security rule condition information type SecurityRuleCondition struct { // Access group ID AccessGroupID string `json:"access_group_id"` // Created time CreatedAt string `json:"created_at"` // Filters configuration Filters []FilterParams `json:"filters"` // ID ID string `json:"id"` // Name Name string `json:"name"` // Read only flag ReadOnly bool `json:"read_only"` // Security rule condition groups SecurityRuleConditionGroups []interface{} `json:"security_rule_condition_groups"` // Security rules SecurityRules []interface{} `json:"security_rules"` // Updated time UpdatedAt string `json:"updated_at"` } // Filter parameters type FilterParams struct { // All protocols flag All bool `json:"all"` // ARP protocol flag ARP bool `json:"arp"` // Ethernet type EthType string `json:"eth_type"` // Filter expression Expression string `json:"expression"` // ICMP protocol flag ICMP bool `json:"icmp"` // IP protocol flag IP bool `json:"ip"` // IP protocol number IPProto uint64 `json:"ip_proto"` // 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"` // TCP source ports TCPSrcPorts []string `json:"tcp_src_ports"` // UDP protocol flag UDP bool `json:"udp"` // UDP destination ports UDPDstPorts []string `json:"udp_dst_ports"` // UDP source ports UDPSrcPorts []string `json:"udp_src_ports"` }