control

package module
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 4, 2021 License: MIT Imports: 8 Imported by: 0

README

Kerio Control API

Go Reference

Overview

Client for Kerio API Control (JSON-RPC 2.0)

Implemented all Administration API for Kerio Control methods

Installation

go get github.com/igiant/control

Example

package main

import (
	"fmt"
	"log"

	"github.com/igiant/control"
)

func main() {
	config := control.NewConfig("server_addr")
	conn, err := config.NewConnection()
	if err != nil {
		log.Fatal(err)
	}
	app := &control.ApiApplication{
		Name:    "MyApp",
		Vendor:  "Me",
		Version: "v0.0.1",
	}
	err = conn.Login("user_name", "user_password", app)
	if err != nil {
		log.Fatal(err)
	}
	defer func() {
		err = conn.Logout()
		if err != nil {
			log.Println(err)
		}
	}()
	info, err := conn.ProductInfoGet()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf(
		"ProductVersion: %s\nOs: %s\n",
		info.VersionString,
		info.OsDescription,
	)
}

Documentation

RoadMap

  • Add tests and search errors

Documentation

Index

Constants

View Source
const Unlimited int = -1
View Source
const UpdateTimeNever int = 0

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountingConfig

type AccountingConfig struct {
	Enabled            bool                `json:"enabled"`
	ActivityLogEnabled bool                `json:"activityLogEnabled"`
	MaxAge             int                 `json:"maxAge"`
	UserFormat         UserFormatType      `json:"userFormat"`
	GatheredGroups     UserReferenceList   `json:"gatheredGroups"`
	StartWeekDay       Day                 `json:"startWeekDay"`  // @see TimeRangeManager
	StartMonthDay      int                 `json:"startMonthDay"` // 1..28
	StarReportLanguage string              `json:"starReportLanguage"`
	ValidTimeRange     OptionalIdReference `json:"validTimeRange"`
	IpAddressGroup     OptionalIdReference `json:"ipAddressGroup"`
	UserExceptions     UserReferenceList   `json:"userExceptions"`
	UrlGroup           OptionalIdReference `json:"urlGroup"`
}

type ActiveConnection

type ActiveConnection struct {
	Id                KId                 `json:"id"`
	Src               ConnectionPoint     `json:"src"`
	Dst               ConnectionPoint     `json:"dst"`
	Protocol          string              `json:"protocol"`
	Timeout           int                 `json:"timeout"`
	Age               int                 `json:"age"`
	Rx                string              `json:"rx"`
	Tx                string              `json:"tx"`
	RxNum             float64             `json:"rxNum"`
	TxNum             float64             `json:"txNum"`
	Info              string              `json:"info"`
	Active            bool                `json:"active"`
	Direction         ConnectionDirection `json:"direction"`
	TrafficRule       string              `json:"trafficRule"`
	Service           string              `json:"service"`
	InternetLink      string              `json:"internetLink"`
	BandwidthRuleName string              `json:"bandwidthRuleName"`
}

type ActiveConnectionList

type ActiveConnectionList []ActiveConnection

type ActiveHost

type ActiveHost struct {
	Id                KId            `json:"id"`
	Type              ActiveHostType `json:"type"`
	Ip                IpAddress      `json:"ip"`
	Ip6Addresses      Ip6AddressList `json:"ip6Addresses"`
	Hostname          string         `json:"hostname"`
	MacAddress        string         `json:"macAddress"`
	IpAddressFromDHCP bool           `json:"ipAddressFromDHCP"`
	StartTime         DateTimeConfig `json:"startTime"`
	InactivityTime    int            `json:"inactivityTime"`
	User              UserReference  `json:"user"`
	LoginTime         DateTimeConfig `json:"loginTime"`
	LoginDuration     int            `json:"loginDuration"`
	AuthMethod        AuthMethodType `json:"authMethod"`
	Connections       int            `json:"connections"`
	TotalDownload     float64        `json:"totalDownload"`
	TotalUpload       float64        `json:"totalUpload"`
	CurrentDownload   float64        `json:"currentDownload"`
	CurrentUpload     float64        `json:"currentUpload"`
}

type ActiveHostList

type ActiveHostList []ActiveHost

type ActiveHostType

type ActiveHostType string
const (
	ActiveHostFirevall  ActiveHostType = "ActiveHostFirevall"
	ActiveHostVpnClient ActiveHostType = "ActiveHostVpnClient"
	ActiveHostHost      ActiveHostType = "ActiveHostHost"
	ActiveHostGuest     ActiveHostType = "ActiveHostGuest"
)

type ActiveTool

type ActiveTool string
const (
	ActiveToolNone       ActiveTool = "ActiveToolNone"
	ActiveToolPing       ActiveTool = "ActiveToolPing"
	ActiveToolTraceRoute ActiveTool = "ActiveToolTraceRoute"
	ActiveToolDns        ActiveTool = "ActiveToolDns"
	ActiveToolWhois      ActiveTool = "ActiveToolWhois"
)

type Activity

type Activity struct {
	Id          KId                `json:"id"`
	Time        TimeHMS            `json:"time"`
	Type        ActivityType       `json:"type"`
	Description LocalizableMessage `json:"description"`
	Url         string             `json:"url"`
}

type ActivityList

type ActivityList []Activity

type ActivityType

type ActivityType string
const (
	ActivityTypeWeb              ActivityType = "ActivityTypeWeb" /* not used in current implementation */
	ActivityTypeWebSearch        ActivityType = "ActivityTypeWebSearch"
	ActivityTypeMail             ActivityType = "ActivityTypeMail"
	ActivityTypeDownload         ActivityType = "ActivityTypeDownload"
	ActivityTypeUpload           ActivityType = "ActivityTypeUpload"
	ActivityTypeMultimedia       ActivityType = "ActivityTypeMultimedia"
	ActivityTypeP2p              ActivityType = "ActivityTypeP2p"
	ActivityTypeRemoteAccess     ActivityType = "ActivityTypeRemoteAccess"
	ActivityTypeVpn              ActivityType = "ActivityTypeVpn"
	ActivityTypeInstantMessaging ActivityType = "ActivityTypeInstantMessaging"
	ActivityTypeHugeConnection   ActivityType = "ActivityTypeHugeConnection"
	ActivityTypeMailConnection   ActivityType = "ActivityTypeMailConnection"
	ActivityTypeP2pAttempt       ActivityType = "ActivityTypeP2pAttempt"
	ActivityTypeWebConnection    ActivityType = "ActivityTypeWebConnection"
	ActivityTypeHTTPConnection   ActivityType = "ActivityTypeHTTPConnection"
	ActivityTypeWebMultimedia    ActivityType = "ActivityTypeWebMultimedia"
	ActivityTypeSip              ActivityType = "ActivityTypeSip"
	ActivityTypeSocialNetwork    ActivityType = "ActivityTypeSocialNetwork"
)

type AddResult

type AddResult struct {
	Id           KId                `json:"id"`           // purposely not id - loginName is shown
	Success      bool               `json:"success"`      // was operation successful? if yes so id is new id for this item else errorMessage tells why it failed
	ErrorMessage LocalizableMessage `json:"errorMessage"` // contains number of recovered user messages or error message
}

AddResult - Result of the add operation

type AddResultList

type AddResultList []AddResult

AddResultList - list of add operation results

type AdditionalFiles

type AdditionalFiles []string

AdditionalFiles - List of files attached to the ticket

type Addressee

type Addressee struct {
	Type  AddresseeType `json:"type"`
	Email string        `json:"email"`
	/*@{ valid for type AddresseeUser */
	User UserReference `json:"user"`
}

type AddresseeType

type AddresseeType string
const (
	AddresseeEmail AddresseeType = "AddresseeEmail"
	AddresseeUser  AddresseeType = "AddresseeUser"
)

type AlertEventRuleType

type AlertEventRuleType string
const (
	AlertTraffic AlertEventRuleType = "AlertTraffic"
	AlertContent AlertEventRuleType = "AlertContent"
)

type AlertLogEvent

type AlertLogEvent struct {
	Log       KId    `json:"log"`
	Name      string `json:"name"`
	Interval  int    `json:"interval"`
	IsRegex   bool   `json:"isRegex"`
	Condition string `json:"condition"`
}

type AlertLogEventList

type AlertLogEventList []AlertLogEvent

type AlertRow

type AlertRow struct {
	Id      KId    `json:"id"`
	Date    string `json:"date"`
	Alert   string `json:"alert"`
	Details string `json:"details"`
}

type AlertRowList

type AlertRowList []AlertRow

type AlertRuleEvent

type AlertRuleEvent struct {
	RuleType AlertEventRuleType `json:"ruleType"`
	Rule     IdReference        `json:"rule"`
}

type AlertRuleEventList

type AlertRuleEventList []AlertRuleEvent

type AlertSetting

type AlertSetting struct {
	Id             KId                `json:"id"`
	Enabled        bool               `json:"enabled"`
	Addressee      Addressee          `json:"addressee"`
	AlertList      KIdList            `json:"alertList"`
	RuleEventList  AlertRuleEventList `json:"ruleEventList"`
	LogEventList   AlertLogEventList  `json:"logEventList"`
	ValidTimeRange IdReference        `json:"validTimeRange"`
}

type AlertSettingList

type AlertSettingList []AlertSetting

type AlertType

type AlertType struct {
	Id   KId    `json:"id"`
	Name string `json:"name"`
}

type AlertTypeList

type AlertTypeList []AlertType

type AntiHammeringConfig

type AntiHammeringConfig struct {
	Enabled          bool        `json:"enabled"`
	WhitelistEnabled bool        `json:"whitelistEnabled"`
	Whitelist        IdReference `json:"whitelist"`
	LockedTime       int         `json:"lockedTime"`
}

type AntiSpoofingConfig

type AntiSpoofingConfig struct {
	Enabled bool `json:"enabled"`
	Log     bool `json:"log"`
}

AntiSpoofingConfig - Miscellaneous part

type AntivirusConfig

type AntivirusConfig struct {
	Antivirus       AntivirusSetting      `json:"antivirus"`
	Protocols       ScannedProtocols      `json:"protocols"`
	FileSizeLimit   OptionalLong          `json:"fileSizeLimit"`
	HttpFtpScanning HttpFtpScanningConfig `json:"httpFtpScanning"`
	EmailScanning   EmailScanningConfig   `json:"emailScanning"`
	SslVpnScanning  SslVpnScanningConfig  `json:"sslVpnScanning"` // not available on Linux
}

type AntivirusOption

type AntivirusOption struct {
	Name         string `json:"name"`
	Content      string `json:"content"`
	DefaultValue string `json:"defaultValue"` // read only value
}

AntivirusOption - Common part, that can be shared between the products

type AntivirusOptionList

type AntivirusOptionList []AntivirusOption

type AntivirusSetting

type AntivirusSetting struct {
	InternalEnabled    bool                  `json:"internalEnabled"`    // integrated antivirus is used?
	ExternalEnabled    bool                  `json:"externalEnabled"`    // an external antivirus is used? note: both internal and extenal can be used together
	Status             AntivirusStatus       `json:"status"`             // status of antivirus to be used for informative message
	ExternalList       ExternalAntivirusList `json:"externalList"`       // list of available antivirus plugins
	SelectedExternalId string                `json:"selectedExternalId"` // identifier of currently selected antivirus plugin
	Internal           InternalAntivirus     `json:"internal"`           // integrated engine settings
}

type AntivirusStatus

type AntivirusStatus string
const (
	AntivirusOk             AntivirusStatus = "AntivirusOk"             // no message is needed
	AntivirusNotActive      AntivirusStatus = "AntivirusNotActive"      // neither internal nor external antivirus is active
	AntivirusInternalFailed AntivirusStatus = "AntivirusInternalFailed" // problem with internal intivirus
	AntivirusExternalFailed AntivirusStatus = "AntivirusExternalFailed" // problem with external intivirus
	AntivirusBothFailed     AntivirusStatus = "AntivirusBothFailed"     // both internal and external antivirus has failed
)

type AntivirusUpdatePhases

type AntivirusUpdatePhases string
const (
	AntivirusUpdateStarted        AntivirusUpdatePhases = "AntivirusUpdateStarted"        // "Update process started"
	AntivirusUpdateChecking       AntivirusUpdatePhases = "AntivirusUpdateChecking"       // "Checking for new version..."
	AntivirusUpdateDownload       AntivirusUpdatePhases = "AntivirusUpdateDownload"       // "Downloading new virus definition files..."
	AntivirusUpdateDownloadEngine AntivirusUpdatePhases = "AntivirusUpdateDownloadEngine" // "Downloading new engine..."
	AntivirusUpdateOk             AntivirusUpdatePhases = "AntivirusUpdateOk"             // Update finished, update not called yet
	AntivirusUpdateFailed         AntivirusUpdatePhases = "AntivirusUpdateFailed"         // "Update failed (see error log)"
)

type ApiApplication

type ApiApplication struct {
	Name    string `json:"name"`    // E.g. "Simple server monitor"
	Vendor  string `json:"vendor"`  // E.g. "MyScript Ltd."
	Version string `json:"version"` // E.g. "1.0.0 beta 1"
}

ApiApplication - Describes client (third-party) application or script which uses the Administration API.

func NewApplication

func NewApplication(name, vendor, version string) *ApiApplication

NewApplication returns a pointer to structure with application data

type ApiEntity

type ApiEntity string
const (
	PolicyWizard ApiEntity = "PolicyWizard"
	AlertList    ApiEntity = "AlertList"
)

type ApplicationList

type ApplicationList []int

type ApplicationType

type ApplicationType string

ApplicationType - List of applications

const (
	ApplicationWebFilterCategory ApplicationType = "ApplicationWebFilterCategory"
	ApplicationProtocol          ApplicationType = "ApplicationProtocol"
)

type ApplicationTypeList

type ApplicationTypeList []ApplicationType

type AuthMethodType

type AuthMethodType string
const (
	AuthMethodWeb       AuthMethodType = "AuthMethodWeb"       /* Plaintext */
	AuthMethodSslWeb    AuthMethodType = "AuthMethodSslWeb"    /* SSL */
	AuthMethodNtlm      AuthMethodType = "AuthMethodNtlm"      /* NTLM */
	AuthMethodProxy     AuthMethodType = "AuthMethodProxy"     /* Proxy */
	AuthMethodAutomatic AuthMethodType = "AuthMethodAutomatic" /* Automatic */
	AuthMethodVpnClient AuthMethodType = "AuthMethodVpnClient" /* VPN Client */
	AuthMethodSso       AuthMethodType = "AuthMethodSso"       /* "Kerio Unity Sign-On" */
	AuthMethodApi       AuthMethodType = "AuthMethodApi"       /* webadmin API */
	AuthMethodRadius    AuthMethodType = "AuthMethodRadius"    /* webadmin API */
	AuthMethodNone      AuthMethodType = "AuthMethodNone"      /* "" */
)

type AuthType

type AuthType string
const (
	Internal   AuthType = "Internal"
	KerberosNt AuthType = "KerberosNt"
)

type AuthenticationConfig

type AuthenticationConfig struct {
	AuthenticationRequired bool          `json:"authenticationRequired"`
	NtlmEnabled            bool          `json:"ntlmEnabled"`
	HttpProxyAuth          HttpProxyAuth `json:"httpProxyAuth"`
	Radius                 Radius        `json:"radius"`
	Guest                  GuestConfig   `json:"guest"`
	InactivityTimeout      OptionalLong  `json:"inactivityTimeout"` // in minutes
}

type AutoLogin

type AutoLogin struct {
	MacAddresses OptionalStringList    `json:"macAddresses"`
	Addresses    OptionalIpAddressList `json:"addresses"`
	AddressGroup OptionalEntity        `json:"addressGroup"`
}

type BMCondition

type BMCondition struct {
	Type BMConditionType `json:"type"`
	/*@{ TrafficRule, ContentRules */
	ValueId IdReference `json:"valueId"`
	/*@}*/
	/*@{ Service */
	Service IpServiceReference `json:"service"`
	/*@}*/
	/*@{ Dscp */
	Dscp int `json:"dscp"`
	/*@}*/
	/*@{ TrafficType */
	TrafficType BMTrafficType `json:"trafficType"`
	/*@}*/
	/*@{ Users */
	User UserReference `json:"user"` // @see UserManager
	/*@}*/
	/*@{ Application */
	AppId int `json:"appId"`
}

type BMConditionList

type BMConditionList []BMCondition

type BMConditionType

type BMConditionType string
const (
	BMConditionTrafficType BMConditionType = "BMConditionTrafficType"
	BMConditionQuota       BMConditionType = "BMConditionQuota"
	BMConditionLargeData   BMConditionType = "BMConditionLargeData"
	BMConditionTrafficRule BMConditionType = "BMConditionTrafficRule"
	BMConditionContentRule BMConditionType = "BMConditionContentRule"
	BMConditionService     BMConditionType = "BMConditionService"
	BMConditionDscp        BMConditionType = "BMConditionDscp"
	BMConditionUsers       BMConditionType = "BMConditionUsers"
	BMConditionInvalid     BMConditionType = "BMConditionInvalid"
	BMContentRuleType      BMConditionType = "BMContentRuleType"
	BMConditionGuests      BMConditionType = "BMConditionGuests"
	BMConditionApplication BMConditionType = "BMConditionApplication"
)

type BMRule

type BMRule struct {
	Id               KId              `json:"id"`
	Enabled          bool             `json:"enabled"`
	Name             string           `json:"name"`
	Description      string           `json:"description"`
	Color            string           `json:"color"`
	Traffic          BMConditionList  `json:"traffic"`
	ReservedDownload BandwidthSetting `json:"reservedDownload"`
	ReservedUpload   BandwidthSetting `json:"reservedUpload"`
	MaximumDownload  BandwidthSetting `json:"maximumDownload"`
	MaximumUpload    BandwidthSetting `json:"maximumUpload"`
	InterfaceId      IdReference      `json:"interfaceId"`
	ValidTimeRange   IdReference      `json:"validTimeRange"`
	Chart            bool             `json:"chart"`
}

type BMRuleList

type BMRuleList []BMRule

type BMTrafficType

type BMTrafficType string
const (
	BMTrafficEmail            BMTrafficType = "BMTrafficEmail"
	BMTrafficFtp              BMTrafficType = "BMTrafficFtp"
	BMTrafficInstantMessaging BMTrafficType = "BMTrafficInstantMessaging"
	BMTrafficMultimedia       BMTrafficType = "BMTrafficMultimedia"
	BMTrafficP2p              BMTrafficType = "BMTrafficP2p"
	BMTrafficRemoteAccess     BMTrafficType = "BMTrafficRemoteAccess"
	BMTrafficSip              BMTrafficType = "BMTrafficSip"
	BMTrafficVpn              BMTrafficType = "BMTrafficVpn"
	BMTrafficWeb              BMTrafficType = "BMTrafficWeb"
)

type BandwidthManagementConfig

type BandwidthManagementConfig struct {
	DecryptVpnTunnels bool       `json:"decryptVpnTunnels"` ///>Traffic in VPN tunnels will be matched against rules decrypted
	Rules             BMRuleList `json:"rules"`
}

type BandwidthSetting

type BandwidthSetting struct {
	Enabled bool          `json:"enabled"`
	Value   int           `json:"value"`
	Unit    BandwidthUnit `json:"unit"`
}

type BandwidthUnit

type BandwidthUnit string
const (
	BandwidthUnitBits      BandwidthUnit = "BandwidthUnitBits"
	BandwidthUnitBytes     BandwidthUnit = "BandwidthUnitBytes"
	BandwidthUnitKilobits  BandwidthUnit = "BandwidthUnitKilobits"
	BandwidthUnitKiloBytes BandwidthUnit = "BandwidthUnitKiloBytes"
	BandwidthUnitMegabits  BandwidthUnit = "BandwidthUnitMegabits"
	BandwidthUnitMegaBytes BandwidthUnit = "BandwidthUnitMegaBytes"
	BandwidthUnitPercent   BandwidthUnit = "BandwidthUnitPercent"
)

type BlackList

type BlackList struct {
	Id     KId                       `json:"id"`
	Name   string                    `json:"name"`
	Url    string                    `json:"url"`
	Action IntrusionPreventionAction `json:"action"`
}

type BlackListList

type BlackListList []BlackList

type ByteUnits

type ByteUnits string

ByteUnits - See also userinfo.idl: enum UserValueUnits.

const (
	Bytes     ByteUnits = "Bytes"
	KiloBytes ByteUnits = "KiloBytes"
	MegaBytes ByteUnits = "MegaBytes"
	GigaBytes ByteUnits = "GigaBytes"
	TeraBytes ByteUnits = "TeraBytes"
	PetaBytes ByteUnits = "PetaBytes"
)

type ByteValueWithUnits

type ByteValueWithUnits struct {
	Value int       `json:"value"`
	Units ByteUnits `json:"units"`
}

ByteValueWithUnits - Note: all fields must be assigned if used in set methods

type CentralManagementConfig

type CentralManagementConfig struct {
	Enabled bool   `json:"enabled"`
	AppUrl  string `json:"appUrl"`
}

type CentralManagementStatus

type CentralManagementStatus struct {
	Connected bool           `json:"connected"`
	Paired    bool           `json:"paired"`
	Url       OptionalString `json:"url"`
}

type Certificate

type Certificate struct {
	Id                         KId                 `json:"id"`
	Status                     StoreStatus         `json:"status"`
	Name                       string              `json:"name"`
	Issuer                     NamedValueList      `json:"issuer"`
	Subject                    NamedValueList      `json:"subject"`
	SubjectAlternativeNameList NamedMultiValueList `json:"subjectAlternativeNameList"`
	Fingerprint                string              `json:"fingerprint"`       // 128-bit MD5, i.e. 16 hexa values separated by colons
	FingerprintSha1            string              `json:"fingerprintSha1"`   // 160-bit SHA1, i.e. 20 hexa values separated by colons
	FingerprintSha256          string              `json:"fingerprintSha256"` // 512-bit SHA256, i.e. 64 hexa values separated by colons
	ValidPeriod                ValidPeriod         `json:"validPeriod"`
	Valid                      bool                `json:"valid"` // exists and valid content
	Type                       CertificateType     `json:"type"`
	IsUntrusted                bool                `json:"isUntrusted"`
	VerificationMessage        string              `json:"verificationMessage"`
	ChainInfo                  StringList          `json:"chainInfo"`
	IsSelfSigned               bool                `json:"isSelfSigned"`
}

Certificate properties issuer & subject valid names:

hostname;        // max 127 bytes
organizationName;    // max 127 bytes
organizationalUnitName; // max 127 bytes
city;          // max 127 bytes
state;          // max 127 bytes
country;         // ISO 3166 code

Certificate - emailAddress; // max 255 bytes

type CertificateDn

type CertificateDn struct {
	Certificate IdReference `json:"certificate"`
	Value       string      `json:"value"`
}

type CertificateDnList

type CertificateDnList []CertificateDn

type CertificateList

type CertificateList []Certificate

type CertificateType

type CertificateType string
const (
	ActiveCertificate   CertificateType = "ActiveCertificate"
	InactiveCertificate CertificateType = "InactiveCertificate"
	CertificateRequest  CertificateType = "CertificateRequest"
	Authority           CertificateType = "Authority"
	LocalAuthority      CertificateType = "LocalAuthority"
	BuiltInAuthority    CertificateType = "BuiltInAuthority"
	ServerCertificate   CertificateType = "ServerCertificate"
)

type CheckVersionType

type CheckVersionType string
const (
	CheckVersionConfig CheckVersionType = "CheckVersionConfig"
	CheckVersionBeta   CheckVersionType = "CheckVersionBeta"
	CheckVersionFinal  CheckVersionType = "CheckVersionFinal"
)

type ClientTimestamp

type ClientTimestamp struct {
	Name      string `json:"name"`
	Timestamp int    `json:"timestamp"`
}

type ClientTimestampList

type ClientTimestampList []ClientTimestamp

type Collision

type Collision struct {
	Rule           IdReference `json:"rule"`
	OverlappedRule IdReference `json:"overlappedRule"`
}

type CollisionList

type CollisionList []Collision

type CompareOperator

type CompareOperator string

CompareOperator - Simple Query Operator

const (
	EqOp          CompareOperator = "Eq"          // '=' - equal
	NotEqOp       CompareOperator = "NotEq"       // '<>' - not equal
	LessThanOp    CompareOperator = "LessThan"    // '<' - lower that
	GreaterThanOp CompareOperator = "GreaterThan" // '>' - greater that
	LessEqOp      CompareOperator = "LessEq"      // '<=' - lower or equal
	GreaterEqOp   CompareOperator = "GreaterEq"   // '>=' - greater or equal
	LikeOp        CompareOperator = "Like"        // contains substring, % is wild character
)

type Config

type Config struct {
	// contains filtered or unexported fields
}

func NewConfig

func NewConfig(server string) *Config

NewConfig returns a pointer to structure with the configuration for connecting to the API server

server - address without schema and port

func (*Config) NewConnection

func (c *Config) NewConnection() (*ServerConnection, error)

type ConfigurationBackupConfig

type ConfigurationBackupConfig struct {
	Enabled  bool   `json:"enabled"`
	Target   Target `json:"target"`
	Username string `json:"username"`
	Password string `json:"password"`
	Url      string `json:"url"`
}

type ConfigurationBackupPhase

type ConfigurationBackupPhase string
const (
	ConfigurationBackupOk         ConfigurationBackupPhase = "ConfigurationBackupOk"
	ConfigurationBackupInProgress ConfigurationBackupPhase = "ConfigurationBackupInProgress"
	ConfigurationBackupFailed     ConfigurationBackupPhase = "ConfigurationBackupFailed"
)

type ConfigurationBackupStatus

type ConfigurationBackupStatus struct {
	Phase        ConfigurationBackupPhase `json:"phase"`
	LastBackup   TimeSpan                 `json:"lastBackup"`
	Url          string                   `json:"url"`
	ErrorMessage string                   `json:"errorMessage"`
}

type ConnLimitSettings

type ConnLimitSettings struct {
	SrcLimit         OptionalLong        `json:"srcLimit"`
	SrcRateLimit     OptionalLong        `json:"srcRateLimit"`
	DstLimit         OptionalLong        `json:"dstLimit"`
	DstPerSrcLimit   OptionalLong        `json:"dstPerSrcLimit"`
	Exclusions       OptionalIdReference `json:"exclusions"`
	ExclSrcLimit     OptionalLong        `json:"exclSrcLimit"`
	ExclSrcRateLimit OptionalLong        `json:"exclSrcRateLimit"`
}

type ConnectionDirection

type ConnectionDirection string
const (
	ConnectionDirectionInbound  ConnectionDirection = "ConnectionDirectionInbound"
	ConnectionDirectionOutbound ConnectionDirection = "ConnectionDirectionOutbound"
	ConnectionDirectionLocal    ConnectionDirection = "ConnectionDirectionLocal"
)

type ConnectionLimit

type ConnectionLimit struct {
	Enabled    bool                `json:"enabled"`
	Soft       int                 `json:"soft"`
	Value      int                 `json:"value"` // hard
	Rate       OptionalLong        `json:"rate"`
	Exclusions OptionalIdReference `json:"exclusions"`
	ExclSoft   int                 `json:"exclSoft"`
	ExclValue  int                 `json:"exclValue"` // hard
	ExclRate   OptionalLong        `json:"exclRate"`
}

ConnectionLimit - @deprecated use ConnLimitSettings instead

type ConnectionPoint

type ConnectionPoint struct {
	Host string    `json:"host"`
	Ip   IpAddress `json:"ip"`
	Port int       `json:"port"`
}

type ConnectivityAssistantConfig

type ConnectivityAssistantConfig struct {
	Type ConnectivityType       `json:"type"` // only Persistent, Failover, LoadBalancing
	Wans WanInterfaceConfigList `json:"wans"`
	Lan  LanInterfaceConfig     `json:"lan"`
}

type ConnectivityConfig

type ConnectivityConfig struct {
	Mode ConnectivityType `json:"mode"`
	/*@{ Failover, LoadBalancing */
	ProbeHosts OptionalString `json:"probeHosts"`
	/*@}*/
	/*@{ Failover */
	ReconnectTunnelsWhenPrimaryGoesBack bool `json:"reconnectTunnelsWhenPrimaryGoesBack"`
	LazyFailover                        bool `json:"lazyFailover"`
}

type ConnectivityStatus

type ConnectivityStatus string
const (
	ConnectivityOk       ConnectivityStatus = "ConnectivityOk"
	ConnectivityChecking ConnectivityStatus = "ConnectivityChecking"
	ConnectivityError    ConnectivityStatus = "ConnectivityError"
)

type ConnectivityType

type ConnectivityType string
const (
	Persistent    ConnectivityType = "Persistent"
	DialOnDemand  ConnectivityType = "DialOnDemand"
	Failover      ConnectivityType = "Failover"
	LoadBalancing ConnectivityType = "LoadBalancing"
)

type ContentApplication

type ContentApplication struct {
	Id          int                 `json:"id"`
	Heuristic   bool                `json:"heuristic"`
	Group       string              `json:"group"`
	SubGroup    string              `json:"subGroup"`
	Name        string              `json:"name"`
	Description string              `json:"description"`
	Types       ApplicationTypeList `json:"types"`
}

type ContentApplicationList

type ContentApplicationList []ContentApplication

type ContentCondition

type ContentCondition struct {
	Type     RuleConditionType          `json:"type"`
	Entities ContentConditionEntityList `json:"entities"`
}

type ContentConditionEntity

type ContentConditionEntity struct {
	Type ContentConditionEntityType `json:"type"`
	/*@{ ContentConditionEntityApplication */
	Applications ApplicationList `json:"applications"`
	/*@}*/
	/*@{ ContentConditionEntityFileType & ContentEntityUrl */
	Value string `json:"value"`
	/*@}*/
	/*@{ ContentEntityUrl */
	UrlType      ContentEntityUrlType `json:"urlType"`
	MatchSecured bool                 `json:"matchSecured"`
	/*@}*/
	/*@{ ContentConditionEntityUrlGroup */
	UrlGroup IdReference `json:"urlGroup"`
}

type ContentConditionEntityList

type ContentConditionEntityList []ContentConditionEntity

type ContentConditionEntityType

type ContentConditionEntityType string
const (
	ContentConditionEntityApplication ContentConditionEntityType = "ContentConditionEntityApplication"
	ContentConditionEntityFileName    ContentConditionEntityType = "ContentConditionEntityFileName"
	ContentConditionEntityFileGroup   ContentConditionEntityType = "ContentConditionEntityFileGroup"
	ContentConditionEntityUrl         ContentConditionEntityType = "ContentConditionEntityUrl"
	ContentConditionEntityUrlGroup    ContentConditionEntityType = "ContentConditionEntityUrlGroup"
)

type ContentEntityUrlType

type ContentEntityUrlType string
const (
	ContentEntityUrlWildcard ContentEntityUrlType = "ContentEntityUrlWildcard"
	ContentEntityUrlRegex    ContentEntityUrlType = "ContentEntityUrlRegex"
	ContentEntityUrlHostname ContentEntityUrlType = "ContentEntityUrlHostname"
)

type ContentRule

type ContentRule struct {
	Id KId `json:"id"`
	/*@{ name */
	Enabled     bool   `json:"enabled"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Color       string `json:"color"`
	/*@{ action */
	Action             RuleAction      `json:"action"`
	LogEnabled         bool            `json:"logEnabled"`
	SkipAvScan         bool            `json:"skipAvScan"`
	SkipKeywords       bool            `json:"skipKeywords"`
	SkipAuthentication bool            `json:"skipAuthentication"`
	DenialCondition    DenialCondition `json:"denialCondition"`
	/*@{ Conditions */
	ContentCondition ContentCondition `json:"contentCondition"`
	SourceCondition  SourceCondition  `json:"sourceCondition"`
	ValidTimeRange   IdReference      `json:"validTimeRange"`
}

type ContentRuleList

type ContentRuleList []ContentRule

type CoreDump

type CoreDump struct {
	Size      ByteValueWithUnits `json:"size"`
	Timestamp DateTimeStamp      `json:"timestamp"`
}

type CoreDumpWithImportance

type CoreDumpWithImportance struct {
	Size       ByteValueWithUnits `json:"size"`
	Timestamp  DateTimeStamp      `json:"timestamp"`
	Importance Importance         `json:"importance"`
}

type CreateResult

type CreateResult struct {
	InputIndex int `json:"inputIndex"` // 0-based index to input array, e.g. 3 means that the relates to the 4th element of the input parameter array
	Id         KId `json:"id"`         // ID of created item.
}

CreateResult - Details about a particular item created.

type CreateResultList

type CreateResultList []CreateResult

type Credentials

type Credentials struct {
	UserName string `json:"userName"` // UserName
	Password string `json:"password"` // Password
}

Credentials - Credentials contains userName and password

type CredentialsConfig

type CredentialsConfig struct {
	UserName string `json:"userName"`
	/** it should never be filled by get() method and transferred to the client */
	Password string `json:"password"`
	/** if true (user has changed the password), set() method write password to configuration, otherwise let it untouched */
	PasswordChanged bool `json:"passwordChanged"`
}

type CurrentInterface

type CurrentInterface struct {
	Id               IdReference   `json:"id"` // id and system name of the interface in the currently running machine
	Ip               IpAddress     `json:"ip"`
	MAC              string        `json:"MAC"`
	Type             InterfaceType `json:"type"`
	UseForFullImport bool          `json:"useForFullImport"`
}

type CurrentInterfaceList

type CurrentInterfaceList []CurrentInterface

type CustomizedBrand

type CustomizedBrand struct {
	Enabled   bool   `json:"enabled"`
	PageTitle string `json:"pageTitle"`
}

type DataStatistic

type DataStatistic struct {
	Today    float64 `json:"today"`
	TodayIn  float64 `json:"todayIn"`
	TodayOut float64 `json:"todayOut"`
	Week     float64 `json:"week"`
	WeekIn   float64 `json:"weekIn"`
	WeekOut  float64 `json:"weekOut"`
	Month    float64 `json:"month"`
	MonthIn  float64 `json:"monthIn"`
	MonthOut float64 `json:"monthOut"`
	Total    float64 `json:"total"`
	TotalIn  float64 `json:"totalIn"`
	TotalOut float64 `json:"totalOut"`
}

type Date

type Date struct {
	Year  int `json:"year"`
	Month int `json:"month"` // 0-11
	Day   int `json:"day"`   // 1-31 max day is limited by month
}

Date - Note: all fields must be assigned if used in set methods

type DateTimeConfig

type DateTimeConfig struct {
	Date Date    `json:"date"`
	Time TimeHMS `json:"time"`
}

type DateTimeStamp

type DateTimeStamp int

DateTimeStamp - Type for date/time representation

type Day

type Day string
const (
	Monday    Day = "Monday"
	Tuesday   Day = "Tuesday"
	Wednesday Day = "Wednesday"
	Thursday  Day = "Thursday"
	Friday    Day = "Friday"
	Saturday  Day = "Saturday"
	Sunday    Day = "Sunday"
)

type DayList

type DayList []Day

type DenialCondition

type DenialCondition struct {
	DenialText  string         `json:"denialText"`
	RedirectUrl OptionalString `json:"redirectUrl"`
	SendEmail   bool           `json:"sendEmail"`
}

type DetailsConfig

type DetailsConfig struct {
	Localizable        bool               `json:"localizable"`
	FixedMessage       string             `json:"fixedMessage"`
	LocalizableMessage LocalizableMessage `json:"localizableMessage"`
}

type DhcpConfig

type DhcpConfig struct {
	Enabled bool `json:"enabled"`
}

type DhcpExclusion

type DhcpExclusion struct {
	Description string    `json:"description"`
	IpStart     IpAddress `json:"ipStart"`
	IpEnd       IpAddress `json:"ipEnd"`
}

type DhcpExclusionList

type DhcpExclusionList []DhcpExclusion

type DhcpLease

type DhcpLease struct {
	Id      KId         `json:"id"`
	LeaseId KId         `json:"leaseId"` /// for internal purposes
	ScopeId KId         `json:"scopeId"`
	Status  StoreStatus `json:"status"`
	/** do not change in gui */
	Type             DhcpLeaseType  `json:"type"`
	Leased           bool           `json:"leased"`
	IsRas            bool           `json:"isRas"`
	CardManufacturer string         `json:"cardManufacturer"`
	IpAddress        IpAddress      `json:"ipAddress"`
	Name             string         `json:"name"`
	MacDefined       bool           `json:"macDefined"`
	MacAddress       string         `json:"macAddress"`
	HostName         string         `json:"hostName"`
	UserName         string         `json:"userName"`
	ExpirationDate   Date           `json:"expirationDate"` // @see SharedStructures.idl shared in lib
	ExpirationTime   Time           `json:"expirationTime"` // @see SharedStructures.idl shared in lib
	RequestDate      Date           `json:"requestDate"`    // @see SharedStructures.idl shared in lib
	RequestTime      Time           `json:"requestTime"`    // @see SharedStructures.idl shared in lib
	Options          DhcpOptionList `json:"options"`
}

type DhcpLeaseList

type DhcpLeaseList []DhcpLease

type DhcpLeaseType

type DhcpLeaseType string
const (
	DhcpTypeReservation DhcpLeaseType = "DhcpTypeReservation"
	DhcpTypeLease       DhcpLeaseType = "DhcpTypeLease"
)

type DhcpMode

type DhcpMode struct {
	Type DhcpModeType `json:"type"`
}

type DhcpModeType

type DhcpModeType string
const (
	DhcpAutomatic DhcpModeType = "DhcpAutomatic"
	DhcpManual    DhcpModeType = "DhcpManual"
)

type DhcpOption

type DhcpOption struct {
	Type     DhcpOptionType `json:"type"`
	OptionId int            `json:"optionId"`
	Name     string         `json:"name"`
	/**
	* @note: Value format:
	* DHOTIpAddr - address in dot notation (192.168.0.12)
	* DHOTHex - pairs of characters 0-9, a-f (12ef980ad8)
	* DHOTTimexxx - number of seconds (3600) (negative only for DHOTTimeSigned)
	* xxxList - values separated by ; (xxx;xx;x;xxxx)
	* DHOTBool - "0" / "1"
	 */
	/*@{ DHOTBool, DHOTInt8, DHOTInt16, DHOTInt32, DHOTIpAddr, DHOTString, DHOTHex
	, DHOTTimeSigned, DHOTTimeUnsigned, DHOTInt8List, DHOTInt16List, DHOTInt32List, DHOTIpAddrList, */
	Value string `json:"value"`
	/*@}*/
	/*@{ DHOTIpPairList, DHOTIpMaskList, DHOTIpMaskIpList */
	IpListList IpListList `json:"ipListList"`
}

type DhcpOptionList

type DhcpOptionList []DhcpOption

type DhcpOptionType

type DhcpOptionType string
const (
	DhcpBool         DhcpOptionType = "DhcpBool"
	DhcpInt8         DhcpOptionType = "DhcpInt8"
	DhcpInt16        DhcpOptionType = "DhcpInt16"
	DhcpInt32        DhcpOptionType = "DhcpInt32"
	DhcpIpAddr       DhcpOptionType = "DhcpIpAddr"
	DhcpString       DhcpOptionType = "DhcpString"
	DhcpHex          DhcpOptionType = "DhcpHex"
	DhcpTimeSigned   DhcpOptionType = "DhcpTimeSigned"
	DhcpTimeUnsigned DhcpOptionType = "DhcpTimeUnsigned"
	DhcpInt8List     DhcpOptionType = "DhcpInt8List"
	DhcpInt16List    DhcpOptionType = "DhcpInt16List"
	DhcpInt32List    DhcpOptionType = "DhcpInt32List"
	DhcpIpAddrList   DhcpOptionType = "DhcpIpAddrList"
	DhcpIpPairList   DhcpOptionType = "DhcpIpPairList"
	DhcpIpMaskList   DhcpOptionType = "DhcpIpMaskList"
	DhcpIpMaskIpList DhcpOptionType = "DhcpIpMaskIpList"
)

type DhcpScope

type DhcpScope struct {
	Id         KId               `json:"id"`
	Status     StoreStatus       `json:"status"`
	Enabled    bool              `json:"enabled"`
	Name       string            `json:"name"`
	IpStart    IpAddress         `json:"ipStart"`
	IpEnd      IpAddress         `json:"ipEnd"`
	IpMask     IpAddress         `json:"ipMask"`
	Exclusions DhcpExclusionList `json:"exclusions"`
	Options    DhcpOptionList    `json:"options"`
}

type DhcpScopeList

type DhcpScopeList []DhcpScope

type DhcpScopes

type DhcpScopes struct {
	BlockUnknownIp bool           `json:"blockUnknownIp"`
	Log            bool           `json:"log"`
	BlockScopeId   OptionalString `json:"blockScopeId"`
}

type DirectoryService

type DirectoryService struct {
	Enabled            bool                 `json:"enabled"`
	Type               DirectoryServiceType `json:"type"`
	DomainName         string               `json:"domainName"`
	UserName           string               `json:"userName"`
	Password           string               `json:"password"`
	UseSpecificServers bool                 `json:"useSpecificServers"` // valid for type WindowsActiveDirectory
	PrimaryServer      string               `json:"primaryServer"`
	SecondaryServer    string               `json:"secondaryServer"`
}

type DirectoryServiceAdvanced

type DirectoryServiceAdvanced struct {
	LdapSecure       bool           `json:"ldapSecure"`
	KerberosRealm    OptionalString `json:"kerberosRealm"`    // valid for type AppleDirectoryKerberos
	LdapSearchSuffix OptionalString `json:"ldapSearchSuffix"` // valid for type AppleDirectory*
}

type DirectoryServiceConfiguration

type DirectoryServiceConfiguration struct {
	Id       KId                      `json:"id"`
	Service  DirectoryService         `json:"service"`
	Advanced DirectoryServiceAdvanced `json:"advanced"`
}

DirectoryServiceConfiguration - Common part for testDomainController

type DirectoryServiceType

type DirectoryServiceType string

DirectoryServiceType - Common part, that can be shared between the products

const (
	WindowsActiveDirectory DirectoryServiceType = "WindowsActiveDirectory" // Windows Active Directory
	AppleDirectoryKerberos DirectoryServiceType = "AppleDirectoryKerberos" // Apple Open Directory with Kerberos authentication
	AppleDirectoryPassword DirectoryServiceType = "AppleDirectoryPassword" // Apple Open Directory with Password Server authentication
)

type DnsConfig

type DnsConfig struct {
	ForwarderEnabled        bool             `json:"forwarderEnabled"`
	CacheEnabled            bool             `json:"cacheEnabled"`
	CustomForwardingEnabled bool             `json:"customForwardingEnabled"`
	CustomForwarders        DnsForwarderList `json:"customForwarders"`
	UseDomainControler      OptionalString   `json:"useDomainControler"` // read-only, enabled - true in case, that domain controller will be used
	//       value - dns queries, that matches this string, will be passed to domain controller
	HostsEnabled      bool   `json:"hostsEnabled"`
	DhcpLookupEnabled bool   `json:"dhcpLookupEnabled"`
	DomainName        string `json:"domainName"`
}

type DnsForwarder

type DnsForwarder struct {
	Enabled    bool   `json:"enabled"`
	Domain     string `json:"domain"`     // network/mask for Reverse DNS query, other for Name DNS query
	Forwarders string `json:"forwarders"` // empty for Do not forward
}

type DnsForwarderList

type DnsForwarderList []DnsForwarder

type DnsHost

type DnsHost struct {
	Enabled     bool      `json:"enabled"`
	Id          KId       `json:"id"`
	Ip          IpAddress `json:"ip"`
	Hosts       string    `json:"hosts"`
	Description string    `json:"description"`
}

type DnsHostList

type DnsHostList []DnsHost

type DnsTool

type DnsTool string
const (
	DnsToolNslookup DnsTool = "DnsToolNslookup"
	DnsToolDig      DnsTool = "DnsToolDig"
)

type DnsType

type DnsType string
const (
	DnsTypeAny   DnsType = "DnsTypeAny"
	DnsTypeA     DnsType = "DnsTypeA"
	DnsTypeAAAA  DnsType = "DnsTypeAAAA"
	DnsTypeCname DnsType = "DnsTypeCname"
	DnsTypeMx    DnsType = "DnsTypeMx"
	DnsTypeNs    DnsType = "DnsTypeNs"
	DnsTypePtr   DnsType = "DnsTypePtr"
	DnsTypeSoa   DnsType = "DnsTypeSoa"
	DnsTypeSpf   DnsType = "DnsTypeSpf"
	DnsTypeSrv   DnsType = "DnsTypeSrv"
	DnsTypeTxt   DnsType = "DnsTypeTxt"
)

type Domain

type Domain struct {
	Id     KId         `json:"id"`
	Status StoreStatus `json:"status"`
	/*@{ Shared part */
	Service  DirectoryService         `json:"service"`
	Advanced DirectoryServiceAdvanced `json:"advanced"`
	/*@}*/
	Description string `json:"description"`
	Primary     bool   `json:"primary"`
	/*@{ Type WindowsActiveDirectory and primary == true */
	AuthenticationOnly bool `json:"authenticationOnly"`
	NtAuthMode         bool `json:"ntAuthMode"`
	AdAutoImport       bool `json:"adAutoImport"`
	/*@}*/
	TemplateData UserData `json:"templateData"`
}

Domain - Product dependent part

type DomainList

type DomainList []Domain

type Download

type Download struct {
	Url    string `json:"url"`    // download url
	Name   string `json:"name"`   // filename
	Length int    `json:"length"` // file size in bytes
}

Download - important information about download

type DumpList

type DumpList []CoreDump

type DumpListWithImportance

type DumpListWithImportance []CoreDumpWithImportance

type DynamicDnsAddressType

type DynamicDnsAddressType string
const (
	DynamicDnsAdressIface  DynamicDnsAddressType = "DynamicDnsAdressIface"
	DynamicDnsAdressDetect DynamicDnsAddressType = "DynamicDnsAdressDetect"
	DynamicDnsAdressCustom DynamicDnsAddressType = "DynamicDnsAdressCustom"
)

type DynamicDnsConfig

type DynamicDnsConfig struct {
	Enabled     bool                  `json:"enabled"`
	Provider    string                `json:"provider"`
	Hostname    string                `json:"hostname"`
	Credentials CredentialsConfig     `json:"credentials"`
	AddressType DynamicDnsAddressType `json:"addressType"`
	CustomIface IdReference           `json:"customIface"`
}

type DynamicDnsStatus

type DynamicDnsStatus string
const (
	DynamicDnsOk     DynamicDnsStatus = "DynamicDnsOk"
	DynamicDnsError  DynamicDnsStatus = "DynamicDnsError"
	DynamicDnsUpdate DynamicDnsStatus = "DynamicDnsUpdate"
)

type EmailScanningConfig

type EmailScanningConfig struct {
	MoveToQuarantine bool           `json:"moveToQuarantine"` // not available on Linux
	PrependText      OptionalString `json:"prependText"`
	AllowTls         bool           `json:"allowTls"`
	AllowNotScanned  bool           `json:"allowNotScanned"`
}

type Error

type Error struct {
	InputIndex        int                          `json:"inputIndex"`        // 0-based index to input array, e.g. 3 means that the relates to the 4th element of the input parameter array
	Code              int                          `json:"code"`              // -32767..-1 (JSON-RPC) or 1..32767 (application)
	Message           string                       `json:"message"`           // text with placeholders %1, %2, etc., e.g. "User %1 cannot be deleted."
	MessageParameters LocalizableMessageParameters `json:"messageParameters"` // strings to replace placeholders in message, and message plurality.
}

Error - Error details regarding a particular item, e.g. one of users that could not be updated or removed.

type ErrorList

type ErrorList []Error

type ErrorReport

type ErrorReport struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    struct {
		MessageParameters struct {
			PositionalParameters []string `json:"positionalParameters"`
			Plurality            int      `json:"plurality"`
		} `json:"messageParameters"`
	} `json:"data"`
}

type ExpireInfo

type ExpireInfo struct {
	Type          ExpireType `json:"type"`          // type of expiration
	IsUnlimited   bool       `json:"isUnlimited"`   // is it a special license with expiration == never ?
	RemainingDays int        `json:"remainingDays"` // days remaining to subscription expiration
	Date          int        `json:"date"`          // last date of subscription
}

ExpireInfo - Expire date information

type ExpireType

type ExpireType string

ExpireType - Type of expiration

const (
	License      ExpireType = "License"      // License
	Subscription ExpireType = "Subscription" // Subscription
)

type ExportFormat

type ExportFormat string

ExportFormat - File type for log export

const (
	PlainText ExportFormat = "PlainText" // export in plain text
	Html      ExportFormat = "Html"      // export in html
)

type ExportOptions

type ExportOptions struct {
	Certificates bool `json:"certificates"`
	DhcpLeases   bool `json:"dhcpLeases"`
	Stats        bool `json:"stats"`
}

type Extension

type Extension struct {
	Name string `json:"name"` // extension name
}

Extension - @brief Extension information

type ExtensionList

type ExtensionList []Extension

ExtensionList - @brief A list of extensions related to a registration.

type ExternalAntivirus

type ExternalAntivirus struct {
	Id                  string              `json:"id"`          // example: avir_avg
	Description         string              `json:"description"` // example: AVG Email Server Edition
	AreOptionsAvailable bool                `json:"areOptionsAvailable"`
	Options             AntivirusOptionList `json:"options"`
}

type ExternalAntivirusList

type ExternalAntivirusList []ExternalAntivirus

type FacilityUnit

type FacilityUnit string

FacilityUnit - Available types of syslog facility according RFC 3164

const (
	FacilityKernel        FacilityUnit = "FacilityKernel"        //  0 = kernel messages
	FacilityUserLevel     FacilityUnit = "FacilityUserLevel"     //  1 = user-level messages
	FacilityMailSystem    FacilityUnit = "FacilityMailSystem"    //  2 = mail system
	FacilitySystemDaemons FacilityUnit = "FacilitySystemDaemons" //  3 = system daemons
	FacilitySecurity1     FacilityUnit = "FacilitySecurity1"     //  4 = security/authorization messages
	FacilityInternal      FacilityUnit = "FacilityInternal"      //  5 = messages generated internally by syslogd
	FacilityLinePrinter   FacilityUnit = "FacilityLinePrinter"   //  6 = line printer subsystem
	FacilityNetworkNews   FacilityUnit = "FacilityNetworkNews"   //  7 = network news subsystem
	FacilityUucpSubsystem FacilityUnit = "FacilityUucpSubsystem" //  8 = UUCP subsystem
	FacilityClockDaemon1  FacilityUnit = "FacilityClockDaemon1"  //  9 = clock daemon
	FacilitySecurity2     FacilityUnit = "FacilitySecurity2"     // 10 = security/authorization messages
	FacilityFtpDaemon     FacilityUnit = "FacilityFtpDaemon"     // 11 = FTP daemon
	FacilityNtpSubsystem  FacilityUnit = "FacilityNtpSubsystem"  // 12 = NTP subsystem
	FacilityLogAudit      FacilityUnit = "FacilityLogAudit"      // 13 = log audit
	FacilityLogAlert      FacilityUnit = "FacilityLogAlert"      // 14 = log alert
	FacilityClockDaemon2  FacilityUnit = "FacilityClockDaemon2"  // 15 = clock daemon
	FacilityLocal0        FacilityUnit = "FacilityLocal0"        // 16 = local use 0
	FacilityLocal1        FacilityUnit = "FacilityLocal1"        // 17 = local use 1
	FacilityLocal2        FacilityUnit = "FacilityLocal2"        // 18 = local use 2
	FacilityLocal3        FacilityUnit = "FacilityLocal3"        // 19 = local use 3
	FacilityLocal4        FacilityUnit = "FacilityLocal4"        // 20 = local use 4
	FacilityLocal5        FacilityUnit = "FacilityLocal5"        // 21 = local use 5
	FacilityLocal6        FacilityUnit = "FacilityLocal6"        // 22 = local use 6
	FacilityLocal7        FacilityUnit = "FacilityLocal7"        // 23 = local use 7
)

type FailoverRoleType

type FailoverRoleType string
const (
	None      FailoverRoleType = "None"
	Primary   FailoverRoleType = "Primary"
	Secondary FailoverRoleType = "Secondary"
)

type FilenameGroup

type FilenameGroup struct {
	Name    string `json:"name"`
	Pattern string `json:"pattern"`
}

type FilenameGroupList

type FilenameGroupList []FilenameGroup

type ForbiddenWord

type ForbiddenWord struct {
	Status      StoreStatus `json:"status"`
	Id          KId         `json:"id"`
	GroupName   string      `json:"groupName"` // don't use id here, it's not referenced entry
	GroupId     KId         `json:"groupId"`
	Enabled     bool        `json:"enabled"`
	Weight      int         `json:"weight"`
	Keyword     string      `json:"keyword"`
	Description string      `json:"description"`
}

ForbiddenWord - Forbidden words

type ForbiddenWordGroup

type ForbiddenWordGroup struct {
	Name string `json:"name"`
	Id   KId    `json:"id"`
}

type ForbiddenWordGroupList

type ForbiddenWordGroupList []ForbiddenWordGroup

type ForbiddenWordList

type ForbiddenWordList []ForbiddenWord

type ForbiddenWordsConfig

type ForbiddenWordsConfig struct {
	Limit   int  `json:"limit"`
	Enabled bool `json:"enabled"`
}

type GuestConfig

type GuestConfig struct {
	Password OptionalString `json:"password"`
	Message  string         `json:"message"`
}

type HighlightColor

type HighlightColor string

HighlightColor - Highlight color definition in format RRGGBB

type HighlightItem

type HighlightItem struct {
	Id             KId            `json:"id"`             // global identification
	Enabled        bool           `json:"enabled"`        // Rule is [dis|en]abled
	Description    string         `json:"description"`    // Text description
	Condition      string         `json:"condition"`      // Match condition
	IsRegex        bool           `json:"isRegex"`        // Is condition held as regular expression? (server does NOT check if regex is valid)
	Color          HighlightColor `json:"color"`          // Highlight matching log lines by this color
	IsOrderChanged bool           `json:"isOrderChanged"` // True if item order was changed by user
}

HighlightItem - Log highlighting item

type HighlightRules

type HighlightRules []HighlightItem

HighlightRules - List of highlight items to be applied on all logs (global settings)

type Histogram

type Histogram struct {
	Units      ByteUnits         `json:"units"`
	AverageIn  float64           `json:"averageIn"`
	AverageOut float64           `json:"averageOut"`
	MaxIn      float64           `json:"maxIn"`
	MaxOut     float64           `json:"maxOut"`
	Data       HistogramDataList `json:"data"`
}

type HistogramData

type HistogramData struct {
	Inbound  float64 `json:"inbound"`
	Outbound float64 `json:"outbound"`
}

type HistogramDataList

type HistogramDataList []HistogramData

type HistogramIntervalType

type HistogramIntervalType string
const (
	HistogramInterval5m  HistogramIntervalType = "HistogramInterval5m"  // Data interval: 5min,  Max samples: 288, Length 1day
	HistogramInterval20s HistogramIntervalType = "HistogramInterval20s" // Data interval: 20sec, Max samples: 360, Length 2Hours
	HistogramInterval30m HistogramIntervalType = "HistogramInterval30m" // Data interval: 30min, Max samples: 336, Length 1Week
	HistogramInterval2h  HistogramIntervalType = "HistogramInterval2h"  // Data interval: 2h,   Max samples: 372, Length 1Month
)

type HistogramType

type HistogramType string
const (
	HistogramOneDay   HistogramType = "HistogramOneDay"   // Data interval: 5min,  Max samples: 288
	HistogramTwoHours HistogramType = "HistogramTwoHours" // Data interval: 20sec, Max samples: 360
	HistogramOneWeek  HistogramType = "HistogramOneWeek"  // Data interval: 30min, Max samples: 336
	HistogramOneMonth HistogramType = "HistogramOneMonth" // Data interval: 2h,   Max samples: 372
)

type HttpCacheConfig

type HttpCacheConfig struct {
	TransparentEnabled    bool            `json:"transparentEnabled"`
	NonTransparentEnabled bool            `json:"nonTransparentEnabled"`
	ReverseEnabled        bool            `json:"reverseEnabled"`
	CacheSize             int             `json:"cacheSize"` // in MB
	HttpTtl               int             `json:"httpTtl"`   // in days
	Status                HttpCacheStatus `json:"status"`    // read-only
}

type HttpCacheStatus

type HttpCacheStatus struct {
	Used  float64 `json:"used"` // in B
	Files int     `json:"files"`
	Hit   int     `json:"hit"`
	Miss  int     `json:"miss"`
}

type HttpFtpScanningConfig

type HttpFtpScanningConfig struct {
	MoveToQuarantine bool               `json:"moveToQuarantine"` // not available on Linux
	AlertClient      bool               `json:"alertClient"`
	AllowNotScanned  bool               `json:"allowNotScanned"`
	ScanRuleList     ScanRuleConfigList `json:"scanRuleList"`
}

type HttpLogType

type HttpLogType string
const (
	HttpLogApache HttpLogType = "HttpLogApache"
	HttpLogSquid  HttpLogType = "HttpLogSquid"
)

type HttpProxyAuth

type HttpProxyAuth struct {
	Enabled      bool           `json:"enabled"`
	AddressGroup OptionalEntity `json:"addressGroup"`
}

type HttpsConfig

type HttpsConfig struct {
	Enabled         bool                `json:"enabled"`
	IsExclusionMode bool                `json:"isExclusionMode"`
	IpAddressGroup  OptionalIdReference `json:"ipAddressGroup"`
	UserExceptions  UserReferenceList   `json:"userExceptions"`
	Disclaimer      bool                `json:"disclaimer"`
}

HttpsConfig - HTTPS configuration

type HttpsServerMode

type HttpsServerMode string
const (
	HttpsServerModeDisabled           HttpsServerMode = "HttpsServerModeDisabled"
	HttpsServerModeDefaultCertificate HttpsServerMode = "HttpsServerModeDefaultCertificate"
	HttpsServerModeCustomCertificate  HttpsServerMode = "HttpsServerModeCustomCertificate"
)

type IPv6Config

type IPv6Config struct {
	BlockNative           bool           `json:"blockNative"`
	BlockTunnels          bool           `json:"blockTunnels"`
	AddressGroupException OptionalEntity `json:"addressGroupException"`
}

type IdReference

type IdReference struct {
	Id      KId    `json:"id"`
	Name    string `json:"name"`
	Invalid bool   `json:"invalid"`
}

type IdReferenceList

type IdReferenceList []IdReference

type Importance

type Importance string

Importance - Certificate Time properties info

const (
	MainProcess       Importance = "MainProcess"
	TestingImportance Importance = "TestingImportance" // Only for testing purposes
	OtherProcess      Importance = "OtherProcess"
)

type ImportedInterface

type ImportedInterface struct {
	ImportedId       KId                `json:"importedId"`
	Name             string             `json:"name"`
	Group            InterfaceGroupType `json:"group"`
	Ip               IpAddress          `json:"ip"`
	Type             InterfaceType      `json:"type"`
	UseForFullImport bool               `json:"useForFullImport"`
	CurrentInterface IdReference        `json:"currentInterface"` // id and system name of the corresponding interface in the currently running machine
	PortId           KId                `json:"portId"`           // only for engine purposes
}

type ImportedInterfaceList

type ImportedInterfaceList []ImportedInterface

type Inspector

type Inspector struct {
	Name       string `json:"name"`       // unique name for the inspector
	IpProtocol int    `json:"ipProtocol"` // IP protocol (only 6 for TCP or 17 for UDP)
}

Inspector - Protocol Inspector - instances defined at compilation time, unchangeable

type InspectorList

type InspectorList []Inspector

type IntegerList

type IntegerList []int

IntegerList - Type for lists of integers.

type Interface

type Interface struct {
	Enabled           bool          `json:"enabled"`
	Type              InterfaceType `json:"type"`
	Status            StoreStatus   `json:"status"`
	DhcpServerEnabled bool          `json:"dhcpServerEnabled"`
	/*@{ grid columns. they are not common subset from interface types */
	Id         KId                 `json:"id"`
	Group      InterfaceGroupType  `json:"group"`
	Name       string              `json:"name"`
	LinkStatus InterfaceStatusType `json:"linkStatus"`
	Details    DetailsConfig       `json:"details"`
	Mac        string              `json:"mac"`
	SystemName string              `json:"systemName"`
	/*@{ IPv4 */
	Ip4Enabled          bool              `json:"ip4Enabled"`
	Mode                InterfaceModeType `json:"mode"`
	Ip                  IpAddress         `json:"ip"`
	SubnetMask          IpAddress         `json:"subnetMask"`
	SecondaryAddresses  IpAddressMaskList `json:"secondaryAddresses"`
	DnsAutodetected     bool              `json:"dnsAutodetected"`
	DnsServers          string            `json:"dnsServers"`
	GatewayAutodetected bool              `json:"gatewayAutodetected"`
	Gateway             IpAddress         `json:"gateway"`
	/*@}*/
	/*@{ IPv6 */
	Ip6Enabled                  bool               `json:"ip6Enabled"`
	Ip6Mode                     InterfaceModeType  `json:"ip6Mode"`
	Ip6Addresses                Ip6AddressMaskList `json:"ip6Addresses"`
	LinkIp6Address              Ip6Address         `json:"linkIp6Address"`
	Ip6Gateway                  IpAddress          `json:"ip6Gateway"`
	RoutedIp6PrefixAutodetected bool               `json:"routedIp6PrefixAutodetected"`
	RoutedIp6Prefix             string             `json:"routedIp6Prefix"`
	/*@}*/
	/*@}*/
	ConnectivityParameters InterfaceConnectivityParameters `json:"connectivityParameters"`
	/*@{ engine on linux */
	Encap       InterfaceEncapType `json:"encap"`
	MtuOverride OptionalLong       `json:"mtuOverride"`
	MacOverride OptionalString     `json:"macOverride"`
	/*@}*/
	/* medium-dependent data */
	/*@{ RAS */
	Ras RasConfig `json:"ras"`
	/*@}*/
	/*@{ VPN Server */
	Server VpnServerConfig `json:"server"`
	/*@}*/
	/*@{ VPN Tunnel */
	Tunnel VpnTunnelConfig `json:"tunnel"`
	/*@}*/
	Flags InterfaceFlags `json:"flags"`
	/*@{ engine on HW Box */
	Ports KIdList `json:"ports"`
	Stp   bool    `json:"stp"`
	/*@}*/
	/*@{ for flags.vlan */
	VlanId int `json:"vlanId"`
}

type InterfaceCondition

type InterfaceCondition struct {
	Type              InterfaceConditionType `json:"type"`
	InterfaceType     InterfaceType          `json:"interfaceType"`     // @see InterfaceManager, used values: Ethernet, Ras
	SelectedInterface IdReference            `json:"selectedInterface"` // invalid - interface is no more in the configuration (nothing)
	Enabled           bool                   `json:"enabled"`           // interface is present, but disabled/down
}

InterfaceCondition - One interface in rule

type InterfaceConditionType

type InterfaceConditionType string

InterfaceConditionType - Type of interface in rule

const (
	InterfaceInternet InterfaceConditionType = "InterfaceInternet"
	InterfaceTrusted  InterfaceConditionType = "InterfaceTrusted"
	InterfaceGuest    InterfaceConditionType = "InterfaceGuest"
	InterfaceSelected InterfaceConditionType = "InterfaceSelected"
)

type InterfaceConnectivityParameters

type InterfaceConnectivityParameters struct {
	/*@{ Failover */
	FailoverRole FailoverRoleType `json:"failoverRole"`
	/*@}*/
	/*@{ OnDemand */
	OnDemand bool `json:"onDemand"`
	/*@}*/
	/*@{ Balancing */
	LoadBalancingWeight OptionalLong `json:"loadBalancingWeight"`
}

InterfaceConnectivityParameters - mode-dependent data

type InterfaceEncapType

type InterfaceEncapType string
const (
	InterfaceEncapNative InterfaceEncapType = "InterfaceEncapNative"
	InterfaceEncapPppoe  InterfaceEncapType = "InterfaceEncapPppoe"
)

type InterfaceFlags

type InterfaceFlags struct {
	Deletable     bool `json:"deletable"`
	Dialable      bool `json:"dialable"`
	Hangable      bool `json:"hangable"`
	VirtualSwitch bool `json:"virtualSwitch"`
	Wifi          bool `json:"wifi"`
	Vlan          bool `json:"vlan"`
}

type InterfaceGroupType

type InterfaceGroupType string
const (
	Other    InterfaceGroupType = "Other"
	Guest    InterfaceGroupType = "Guest"
	Vpn      InterfaceGroupType = "Vpn"
	Trusted  InterfaceGroupType = "Trusted"
	Internet InterfaceGroupType = "Internet"
)

type InterfaceList

type InterfaceList []Interface

type InterfaceModeType

type InterfaceModeType string
const (
	InterfaceModeManual    InterfaceModeType = "InterfaceModeManual"
	InterfaceModeAutomatic InterfaceModeType = "InterfaceModeAutomatic"
	InterfaceModeLinkLocal InterfaceModeType = "InterfaceModeLinkLocal"
)

type InterfaceStatusType

type InterfaceStatusType string
const (
	Up                InterfaceStatusType = "Up"
	Down              InterfaceStatusType = "Down"
	Connecting        InterfaceStatusType = "Connecting"
	Disconnecting     InterfaceStatusType = "Disconnecting"
	CableDisconnected InterfaceStatusType = "CableDisconnected"
	ErrorType         InterfaceStatusType = "Error"
	Backup            InterfaceStatusType = "Backup"
)

type InterfaceType

type InterfaceType string
const (
	Ethernet  InterfaceType = "Ethernet"
	Ras       InterfaceType = "Ras"
	DialIn    InterfaceType = "DialIn"
	VpnServer InterfaceType = "VpnServer"
	VpnTunnel InterfaceType = "VpnTunnel"
)

type InternalAntivirus

type InternalAntivirus struct {
	UpdateCheckInterval OptionalLong `json:"updateCheckInterval"` // should we periodically ask for a new version? + update checking period in hours
	Available           bool         `json:"available"`           // license is valid for internal antivirus, it is present: true - checkbox "Use integrated..." is enabled
	Expired             bool         `json:"expired"`             // license is not valid for McAfee: message "McAfee(R) antivirus subscription expired." is displayed
}

type InternalUpdateStatus

type InternalUpdateStatus struct {
	Phase           AntivirusUpdatePhases `json:"phase"`           // state of update process
	Percentage      int                   `json:"percentage"`      // percent of progress, valid for: AntivirusUpdateChecking, AntivirusUpdateDownload, AntivirusUpdateDownloadEngine
	DatabaseAge     TimeSpan              `json:"databaseAge"`     // how old is virus database
	LastUpdateCheck TimeSpan              `json:"lastUpdateCheck"` // how long is since last database update check
	DatabaseVersion string                `json:"databaseVersion"` // virus database version
	EngineVersion   string                `json:"engineVersion"`   // scanning engine version
}

type InternetBandwidth

type InternetBandwidth struct {
	Id       KId                   `json:"id"`
	Name     string                `json:"name"`   ///> name of the interface
	Type     InterfaceType         `json:"type"`   ///> (e.g. ethernet, ras, etc.)
	Online   bool                  `json:"online"` ///> false = interface is offline (values download and upload should be ignored)
	Download InternetBandwidthData `json:"download"`
	Upload   InternetBandwidthData `json:"upload"`
}

type InternetBandwidthData

type InternetBandwidthData struct {
	Speed int           `json:"speed"` ///> maximum speed of the link (defined in Interfaces); zero means "undefined"
	Unit  BandwidthUnit `json:"unit"`  ///> unit for the speed value
}

type InternetBandwidthList

type InternetBandwidthList []InternetBandwidth

type IntrusionPreventionAction

type IntrusionPreventionAction string
const (
	IntrusionPreventionActionDropAndLog IntrusionPreventionAction = "IntrusionPreventionActionDropAndLog"
	IntrusionPreventionActionLog        IntrusionPreventionAction = "IntrusionPreventionActionLog"
	IntrusionPreventionActionNothing    IntrusionPreventionAction = "IntrusionPreventionActionNothing"
)

type IntrusionPreventionConfig

type IntrusionPreventionConfig struct {
	Enabled             bool                      `json:"enabled"`
	High                IntrusionPreventionAction `json:"high"`
	Medium              IntrusionPreventionAction `json:"medium"`
	Low                 IntrusionPreventionAction `json:"low"`
	UpdateCheckInterval OptionalLong              `json:"updateCheckInterval"`
	BlackLists          BlackListList             `json:"blackLists"`
	Ports               NamedValueList            `json:"ports"`
}

type IntrusionPreventionInfo

type IntrusionPreventionInfo struct {
	LastUpdateCheck TimeSpan                        `json:"lastUpdateCheck"`
	DatabaseVersion string                          `json:"databaseVersion"`
	Phase           IntrusionPreventionUpdatePhases `json:"phase"`
	ErrorMessage    string                          `json:"errorMessage"`
}

type IntrusionPreventionUpdatePhases

type IntrusionPreventionUpdatePhases string
const (
	IntrusionPreventionUpdateOk       IntrusionPreventionUpdatePhases = "IntrusionPreventionUpdateOk"
	IntrusionPreventionUpdateError    IntrusionPreventionUpdatePhases = "IntrusionPreventionUpdateError"
	IntrusionPreventionUpdateProgress IntrusionPreventionUpdatePhases = "IntrusionPreventionUpdateProgress"
)

type Ip6Address

type Ip6Address string

type Ip6AddressList

type Ip6AddressList []Ip6Address

type Ip6AddressMask

type Ip6AddressMask struct {
	Ip           Ip6Address `json:"ip"`
	PrefixLength int        `json:"prefixLength"`
}

type Ip6AddressMaskList

type Ip6AddressMaskList []Ip6AddressMask

type IpAddress

type IpAddress string

type IpAddressList

type IpAddressList []IpAddress

type IpAddressMask

type IpAddressMask struct {
	Ip         IpAddress `json:"ip"` // can't name it ipAddress :-(
	SubnetMask IpAddress `json:"subnetMask"`
}

type IpAddressMaskList

type IpAddressMaskList []IpAddressMask

type IpCollisionList

type IpCollisionList []KIdList

type IpListList

type IpListList []IpAddressList

type IpService

type IpService struct {
	Id          KId         `json:"id"` // never updated in store
	Status      StoreStatus `json:"status"`
	Name        string      `json:"name"`        // unique name for the service, max 23 chars
	Description string      `json:"description"` // brief description of the service, max 63 chars, can be empty
	Protocol    int         `json:"protocol"`    // ICMP 1, TCP - 6, UDP - 17, other - 128, TCP_UDP - 129
	Group       bool        `json:"group"`
	/*@{ TCP, UDP, TCP_UDP */
	SrcPort PortCondition `json:"srcPort"` // port(s) on client-side
	DstPort PortCondition `json:"dstPort"` // port(s) on server-side
	/*@}*/
	/*@{ TCP, UDP */
	Inspector string `json:"inspector"` // name of Protocol Inspector, @see InspectorManager
	/*@}*/
	/*@{ other */
	ProtoNumber int `json:"protoNumber"` // 1-255
	/*@}*/
	/*@{ ICMP */
	IcmpTypes StringList `json:"icmpTypes"` // "any" or list of numbers
	/*@}*/
	/*@{ group */
	Members IdReferenceList `json:"members"` // for group = true list of member IpService ids

}

IpService - basic structure for Service's properties

type IpServiceList

type IpServiceList []IpService

type IpServiceReference

type IpServiceReference struct {
	Id      KId    `json:"id"`
	Name    string `json:"name"`
	IsGroup bool   `json:"isGroup"`
	Invalid bool   `json:"invalid"`
}

IpServiceReference - service reference used in various policies

type IpVersion

type IpVersion string
const (
	IpVersion4   IpVersion = "IpVersion4"
	IpVersion6   IpVersion = "IpVersion6"
	IpVersionAny IpVersion = "IpVersionAny"
)

type IpsecPeerIdConfig

type IpsecPeerIdConfig struct {
	DefaultLocalIdValue string            `json:"defaultLocalIdValue"`
	DefaultCipherIke    string            `json:"defaultCipherIke"`
	DefaultCipherEsp    string            `json:"defaultCipherEsp"`
	CertificateDnValues CertificateDnList `json:"certificateDnValues"` // values for IpsecPeerIdCertDn, based on choosen certificate
}

type ItemName

type ItemName string

ItemName - Item of the Entity; used in restrictions

const (
	Name        ItemName = "Name"        // Entity Name
	Description ItemName = "Description" // Entity Description
	Email       ItemName = "Email"       // Entity Email Address
	FullName    ItemName = "FullName"    // Entity Full Name
	TimeItem    ItemName = "TimeItem"    // Entity Time - it cannot be simply Time because of C++ conflict - see bug 34684 comment #3
	DateItem    ItemName = "DateItem"    // Entity Date - I expect same problem with Date as with Time
	DomainName  ItemName = "DomainName"  // differs from name (eg. cannot contains underscore)
)

type JoinStatus

type JoinStatus string
const (
	JoinStatusConnected    JoinStatus = "JoinStatusConnected"
	JoinStatusDisconnected JoinStatus = "JoinStatusDisconnected"
	JoinStatusError        JoinStatus = "JoinStatusError"
)

type KId

type KId string

KId - global object identification

type KIdList

type KIdList []KId

KIdList - list of global object identifiers

type LanInterfaceConfig

type LanInterfaceConfig struct {
	Id                KId       `json:"id"` // not used on Box
	Ip                IpAddress `json:"ip"`
	SubnetMask        IpAddress `json:"subnetMask"`
	DhcpServerEnabled bool      `json:"dhcpServerEnabled"`
}

type LicenseDetail

type LicenseDetail struct {
	Organization string `json:"organization"` // compulsory
	Person       string `json:"person"`       // compulsory
	Email        string `json:"email"`        // compulsory
	Phone        string `json:"phone"`        // compulsory
	Web          string `json:"web"`
	Country      string `json:"country"` // compulsory
	State        string `json:"state"`   // compulsory for countries such as USA, Canada, Australia etc.
	City         string `json:"city"`    // compulsory
	Street       string `json:"street"`  // compulsory
	Zip          string `json:"zip"`     // compulsory
	Comment      string `json:"comment"`
}

LicenseDetail - @brief Details about the license's owner

type LicenseExpireInfo

type LicenseExpireInfo []ExpireInfo

LicenseExpireInfo - All expiration dates information in license

type LocalizableMessage

type LocalizableMessage struct {
	Message              string     `json:"message"`              // text with placeholders %1, %2, etc., e.g. "User %1 cannot be deleted."
	PositionalParameters StringList `json:"positionalParameters"` // additional strings to replace the placeholders in message (first string replaces %1 etc.)
	Plurality            int        `json:"plurality"`            // count of items, used to distinguish among singular/paucal/plural; 1 for messages with no counted items
}

LocalizableMessage - Message can contain replacement marks: { "User %1 cannot be deleted.", ["jsmith"], 1 }

type LocalizableMessageList

type LocalizableMessageList []LocalizableMessage

type LocalizableMessageParameters

type LocalizableMessageParameters struct {
	PositionalParameters StringList `json:"positionalParameters"` // additional strings to replace the placeholders in message (first string replaces %1 etc.)
	Plurality            int        `json:"plurality"`            // count of items, used to distinguish among singular/paucal/plural; 1 for messages with no counted items
}

LocalizableMessageParameters - This is the parameters structure.

type LogEnabled

type LogEnabled []bool

List of logEnabled values, order: 1. logPackets LogEnabled - 2. logConnections

type LogFileSettings

type LogFileSettings struct {
	Enabled  bool   `json:"enabled"`  // Is logging to file enabled
	FileName string `json:"fileName"` // log file name
}

LogFileSettings - general log settings

type LogItem

type LogItem struct {
	LogName     LogType `json:"logName"`     // name of the log
	HasMessages bool    `json:"hasMessages"` // has the log messages?
}

LogItem - 1 log

type LogRotationSettings

type LogRotationSettings struct {
	Period      RotationPeriod `json:"period"`      // How often does log rotate?
	MaxLogSize  int            `json:"maxLogSize"`  // Maximum log file size [MegaBytes]; Unlimited CAN be used
	RotateCount int            `json:"rotateCount"` // How many rotated files can be kept at most?; Unlimited CANNOT be used
}

LogRotationSettings - log rotation settings

type LogRow

type LogRow struct {
	Content   string         `json:"content"`   // 1 data row
	Highlight HighlightColor `json:"highlight"` // appropriate highlight color
}

LogRow - row of the log

type LogRowList

type LogRowList []LogRow

type LogSet

type LogSet []LogItem

LogSet - List of valid logs

type LogSettings

type LogSettings struct {
	General  LogFileSettings     `json:"general"`  // general log settings
	Rotation LogRotationSettings `json:"rotation"` // log rotation settings
	Syslog   SyslogSettings      `json:"syslog"`   // syslog settings
}

LogSettings - Log file and output settings for 1 log

type LogType

type LogType string

Global limits: 1. maximum of returned lines at once is 50000 2. maximal line length is 1024 (it does not include date, time, ID in the beginning of log line) Type of the log valid Connect names: config, debug, error, mail, security, spam, warning LogType - valid Control names: alert, config, connection, debug, dial, error, filter, http, security, sslvpn, warning, web

type LogicalOperator

type LogicalOperator string

LogicalOperator - Compound Operator

const (
	Or  LogicalOperator = "Or"
	And LogicalOperator = "And"
)

type LoginType

type LoginType string
const (
	LoginRegular      LoginType = "LoginRegular"
	LoginAutomatic    LoginType = "LoginAutomatic"
	LoginReactivation LoginType = "LoginReactivation"
)

type MacAccessItem

type MacAccessItem struct {
	MacAddress  string `json:"macAddress"`
	Description string `json:"description"`
}

type MacAccessList

type MacAccessList []MacAccessItem

type MacFilterActionType

type MacFilterActionType string

MacFilterActionType - Mac Filter part

const (
	MacFilterDeny  MacFilterActionType = "MacFilterDeny"
	MacFilterAllow MacFilterActionType = "MacFilterAllow"
)

type MacFilterConfig

type MacFilterConfig struct {
	Enabled         bool                `json:"enabled"`
	Interfaces      IdReferenceList     `json:"interfaces"`
	MacFilterAction MacFilterActionType `json:"macFilterAction"`
	MacAccessItems  MacAccessList       `json:"macAccessItems"`
	AllowReserved   bool                `json:"allowReserved"`
}

type ManipulationError

type ManipulationError struct {
	Id           KId                `json:"id"` // entity KId, can be user, group, alias, ML...
	ErrorMessage LocalizableMessage `json:"errorMessage"`
}

ManipulationError - error structure to be used when manipulating with globally addressable list items

type ManipulationErrorList

type ManipulationErrorList []ManipulationError

type MiscSettingsConfig

type MiscSettingsConfig struct {
	AntiSpoofing AntiSpoofingConfig `json:"antiSpoofing"`
	// [Deprecated]
	ConnectionLimit ConnectionLimit `json:"connectionLimit"` // @deprecated use ConnLimit instead
	Upnp            UpnpConfig      `json:"upnp"`
	Ipv6            IPv6Config      `json:"ipv6"`
	DhcpScopes      DhcpScopes      `json:"dhcpScopes"`
}

type MppeType

type MppeType string
const (
	MppeDisabled   MppeType = "MppeDisabled"
	MppeEnabled    MppeType = "MppeEnabled"
	Mppe128Enabled MppeType = "Mppe128Enabled"
)

type NamedMultiValue

type NamedMultiValue struct {
	Name  string     `json:"name"` // Name-multivalue pair
	Value StringList `json:"value"`
}

NamedMultiValue - Note: all fields must be assigned if used in set methods

type NamedMultiValueList

type NamedMultiValueList []NamedMultiValue

NamedMultiValueList - List of name-multivalue pairs

type NamedValue

type NamedValue struct {
	Name  string `json:"name"` // Name-value pair
	Value string `json:"value"`
}

NamedValue - Note: all fields must be assigned if used in set methods

type NamedValueList

type NamedValueList []NamedValue

NamedValueList - List of name-value pairs

type NatBalancing

type NatBalancing string

NatBalancing - Balancing mode of source address NAT

const (
	BalancingPerHost       NatBalancing = "BalancingPerHost"
	BalancingPerConnection NatBalancing = "BalancingPerConnection"
)

type Notification

type Notification struct {
	Type     NotificationType     `json:"type"`
	Severity NotificationSeverity `json:"severity"`
	Value    string               `json:"value"`
	Code     int                  `json:"code"`
}

type NotificationList

type NotificationList []Notification

type NotificationSeverity

type NotificationSeverity string
const (
	NotificationWarning NotificationSeverity = "NotificationWarning"
	NotificationError   NotificationSeverity = "NotificationError"
)

type NotificationType

type NotificationType string
const (
	NotificationUpdate                NotificationType = "NotificationUpdate"
	NotificationDump                  NotificationType = "NotificationDump"
	NotificationLowMemory             NotificationType = "NotificationLowMemory"
	NotificationDomains               NotificationType = "NotificationDomains"
	NotificationSubWillExpire         NotificationType = "NotificationSubWillExpire"
	NotificationSubExpired            NotificationType = "NotificationSubExpired"
	NotificationLicWillExpire         NotificationType = "NotificationLicWillExpire"
	NotificationLicExpired            NotificationType = "NotificationLicExpired"
	NotificationBackupLine            NotificationType = "NotificationBackupLine"
	NotificationInterfaceSpeed        NotificationType = "NotificationInterfaceSpeed"
	NotificationSmtp                  NotificationType = "NotificationSmtp"
	NotificationLlbLine               NotificationType = "NotificationLlbLine"
	NotificationLlb                   NotificationType = "NotificationLlb"
	NotificationConnectionOnDemand    NotificationType = "NotificationConnectionOnDemand"
	NotificationConnectionFailover    NotificationType = "NotificationConnectionFailover"
	NotificationConnectionBalancing   NotificationType = "NotificationConnectionBalancing"
	NotificationConnectionPersistent  NotificationType = "NotificationConnectionPersistent"
	NotificationCertificateError      NotificationType = "NotificationCertificateError"
	NotificationCertificateWillExpire NotificationType = "NotificationCertificateWillExpire"
	NotificationCertificateExpired    NotificationType = "NotificationCertificateExpired"
	NotificationCaWillExpire          NotificationType = "NotificationCaWillExpire"
	NotificationCaExpired             NotificationType = "NotificationCaExpired"
	NotificationBackupFailed          NotificationType = "NotificationBackupFailed"
	NotificationPacketDump            NotificationType = "NotificationPacketDump"
	NotificationUnknown               NotificationType = "NotificationUnknown"
)

type NotificationTypeList

type NotificationTypeList []NotificationType

type NtpUpdatePhase

type NtpUpdatePhase string
const (
	NtpUpdateDisabled NtpUpdatePhase = "NtpUpdateDisabled"
	NtpUpdateOk       NtpUpdatePhase = "NtpUpdateOk"
	NtpUpdateError    NtpUpdatePhase = "NtpUpdateError"
	NtpUpdateProgress NtpUpdatePhase = "NtpUpdateProgress"
)

type NtpUpdateStatus

type NtpUpdateStatus struct {
	Phase        NtpUpdatePhase `json:"phase"`
	ErrorMessage string         `json:"errorMessage"`
}

type OptionalEntity

type OptionalEntity struct {
	Enabled bool   `json:"enabled"`
	Id      KId    `json:"id"` // global identifier
	Name    string `json:"name"`
}

OptionalEntity - Note: all fields must be assigned if used in set methods

type OptionalIdReference

type OptionalIdReference struct {
	Enabled bool        `json:"enabled"`
	Value   IdReference `json:"value"`
}

type OptionalIpAddress

type OptionalIpAddress OptionalString

type OptionalIpAddressList

type OptionalIpAddressList OptionalStringList

type OptionalLong

type OptionalLong struct {
	Enabled bool `json:"enabled"`
	Value   int  `json:"value"`
}

OptionalLong - Note: all fields must be assigned if used in set methods

type OptionalString

type OptionalString struct {
	Enabled bool   `json:"enabled"`
	Value   string `json:"value"`
}

OptionalString - Note: all fields must be assigned if used in set methods

type OptionalStringList

type OptionalStringList struct {
	Enabled bool       `json:"enabled"`
	Value   StringList `json:"value"`
}

type OsCodeType

type OsCodeType string
const (
	OsWindows OsCodeType = "OsWindows"
	OsLinux   OsCodeType = "OsLinux"
	OsMacos   OsCodeType = "OsMacos"
	OsUnknown OsCodeType = "OsUnknown"
)

type P2pEliminatorConfig

type P2pEliminatorConfig struct {
	Ports                string  `json:"ports"`
	ConnectionCount      int     `json:"connectionCount"`
	TrustedServiceIdList KIdList `json:"trustedServiceIdList"`
}

P2pEliminatorConfig - must be included after BandwidthLimiter

type PacketDumpStatus

type PacketDumpStatus struct {
	SizeKb  int  `json:"sizeKb"`
	Running bool `json:"running"`
	Exists  bool `json:"exists"` // dump file exists on disk
}

type ParentProxyConfig

type ParentProxyConfig struct {
	Enabled     bool              `json:"enabled"`
	Server      string            `json:"server"`
	Port        int               `json:"port"`
	AuthEnabled bool              `json:"authEnabled"`
	Credentials CredentialsConfig `json:"credentials"`
}

type Password

type Password struct {
	Value string `json:"value"`
	IsSet bool   `json:"isSet"`
}

type PercentHistogram

type PercentHistogram []float64

PercentHistogram - 0-100%, sample count and rate depends on requested type and is the same as in ActiveHost histogram

type PortAssignmentType

type PortAssignmentType string
const (
	PortAssignmentSwitch     PortAssignmentType = "PortAssignmentSwitch"
	PortAssignmentStandalone PortAssignmentType = "PortAssignmentStandalone"
	PortAssignmentUnassigned PortAssignmentType = "PortAssignmentUnassigned"
)

type PortComparator

type PortComparator string

PortComparator - names based on WAM's CompareOperator

const (
	Any         PortComparator = "Any"         // port not specified
	Equal       PortComparator = "Equal"       // '=' - equal to
	LessThan    PortComparator = "LessThan"    // '<' - lower than
	GreaterThan PortComparator = "GreaterThan" // '>' - greater than
	Range       PortComparator = "Range"       // from/to values
	List        PortComparator = "List"        // list of values
)

type PortCondition

type PortCondition struct {
	Comparator PortComparator `json:"comparator"` // does the list contains either single port (equal/greater/etc.), range or list of ports
	Ports      PortList       `json:"ports"`
}

PortCondition - Port - used to define condition for ports (i.e. one port, from/to range or greater/less than)

type PortConfig

type PortConfig struct {
	Id                    KId                       `json:"id"`
	Type                  PortType                  `json:"type"`
	Name                  string                    `json:"name"`
	Assignment            PortAssignmentType        `json:"assignment"`
	Vlans                 OptionalString            `json:"vlans"`
	SpeedDuplex           SpeedDuplexType           `json:"speedDuplex"`
	SpeedDuplexMayNotWork SpeedDuplexMayNotWorkList `json:"speedDuplexMayNotWork"`
}

type PortConfigList

type PortConfigList []PortConfig

type PortList

type PortList []int

PortList - List of ports (port must be < 65536)

type PortType

type PortType string
const (
	PortEthernet PortType = "PortEthernet"
	PortWifi     PortType = "PortWifi"
)

type ProductInfo

type ProductInfo struct {
	ProductVersion  string `json:"productVersion"`
	ProductName     string `json:"productName"`
	OperatingSystem string `json:"operatingSystem"`
	LicenseNumber   string `json:"licenseNumber"` // first 11 chars only
}

ProductInfo - Product identification

type ProductInformation

type ProductInformation struct {
	VersionString        string `json:"versionString"`
	OsDescription        string `json:"osDescription"`
	FinalVersion         bool   `json:"finalVersion"`
	BoxEdition           string `json:"boxEdition"`
	BoxName              string `json:"boxName"`
	WifiAvailable        bool   `json:"wifiAvailable"`
	Ip6Available         bool   `json:"ip6Available"`
	LicenseSet           bool   `json:"licenseSet"`
	PasswordSet          bool   `json:"passwordSet"`
	ClientStatisticsSet  bool   `json:"clientStatisticsSet"`
	CentralManagementSet bool   `json:"centralManagementSet"`
}

type ProxyServerConfig

type ProxyServerConfig struct {
	Enabled                bool              `json:"enabled"`
	Port                   int               `json:"port"`
	AllowAllPorts          bool              `json:"allowAllPorts"`
	ParentProxy            ParentProxyConfig `json:"parentProxy"`
	AutomaticScriptDirect  bool              `json:"automaticScriptDirect"`
	AutomaticScriptEnabled bool              `json:"automaticScriptEnabled"`
}

type Quota

type Quota struct {
	Daily        QuotaInterval `json:"daily"`
	Weekly       QuotaInterval `json:"weekly"`
	Monthly      QuotaInterval `json:"monthly"`
	BlockTraffic bool          `json:"blockTraffic"`
	NotifyUser   bool          `json:"notifyUser"`
}

type QuotaInterval

type QuotaInterval struct {
	Enabled bool               `json:"enabled"`
	Type    QuotaType          `json:"type"`
	Limit   ByteValueWithUnits `json:"limit"`
}

type QuotaType

type QuotaType string
const (
	QuotaBoth     QuotaType = "QuotaBoth"
	QuotaDownload QuotaType = "QuotaDownload"
	QuotaUpload   QuotaType = "QuotaUpload"
)

type Radius

type Radius struct {
	Enabled     bool        `json:"enabled"`
	Password    Password    `json:"password"`
	Certificate IdReference `json:"certificate"`
}

type RasConfig

type RasConfig struct {
	Dead              bool              `json:"dead"`
	EntryName         string            `json:"entryName"`
	UseOwnCredentials bool              `json:"useOwnCredentials"`
	Credentials       CredentialsConfig `json:"credentials"`
	Timeout           OptionalLong      `json:"timeout"`
	ConnectTime       OptionalEntity    `json:"connectTime"`
	NoConnectTime     OptionalEntity    `json:"noConnectTime"`
	BdScriptEnabled   bool              `json:"bdScriptEnabled"`
	AdScriptEnabled   bool              `json:"adScriptEnabled"`
	BhScriptEnabled   bool              `json:"bhScriptEnabled"`
	AhScriptEnabled   bool              `json:"ahScriptEnabled"`
	RasType           RasType           `json:"rasType"`
	PppoeIfaceId      string            `json:"pppoeIfaceId"`
	Server            string            `json:"server"`
	PapEnabled        bool              `json:"papEnabled"`
	ChapEnabled       bool              `json:"chapEnabled"`
	MschapEnabled     bool              `json:"mschapEnabled"`
	Mschapv2Enabled   bool              `json:"mschapv2Enabled"`
	Mppe              MppeType          `json:"mppe"`
	MppeStateful      bool              `json:"mppeStateful"`
}

type RasType

type RasType string
const (
	PPPoE RasType = "PPPoE"
	PPTP  RasType = "PPTP"
	L2TP  RasType = "L2TP"
)

type RegDate

type RegDate struct {
	Year  int `json:"year"`  // year
	Month int `json:"month"` // 1-12
	Day   int `json:"day"`   // 1-31 max day is limited by month
}

RegDate - @brief a date structure

type RegStringList

type RegStringList []string

RegStringList - @brief A list of strings

type Registration

type Registration struct {
	Details          LicenseDetail          `json:"details"`          // Information about user
	ExpirationDate   RegDate                `json:"expirationDate"`   // Expiration date
	Subscribers      int                    `json:"subscribers"`      // A count of Subscribers (typically users) of the product
	ShowQuestions    bool                   `json:"showQuestions"`    // Have to show questions?
	RegistrationType int                    `json:"registrationType"` // is it edu/gov registration?
	EduInfo          string                 `json:"eduInfo"`          // information special for EDUcational type of organization
	RegNumbers       RegistrationNumberList `json:"regNumbers"`       // All registration numbers included in registration
	SurveyAnswers    SurveyAnswerList       `json:"surveyAnswers"`    // Survey answers - Answers should be sent in the same order as the questions are displayed.
	Extensions       ExtensionList          `json:"extensions"`       // list of extensions
}

Registration - @see getRegistrationInfo, finishRegistration

type RegistrationFinishType

type RegistrationFinishType string

RegistrationFinishType - Type of registration finish

type RegistrationFullStatus

type RegistrationFullStatus struct {
	RegType     RegistrationType  `json:"regType"`     // The registration type of the current prooduct
	Id          string            `json:"Id"`          // Base or trial ID used for registration
	Company     string            `json:"company"`     // Company name
	Users       int               `json:"users"`       // Users count
	Expirations LicenseExpireInfo `json:"expirations"` // sequence of expire information
}

RegistrationFullStatus - Full status information

type RegistrationNumber

type RegistrationNumber struct {
	Key         string `json:"key"`         // Registration number
	Type        string `json:"type"`        // A type of the reg. number (base id, addon...)
	Description string `json:"description"` // A description of the reg. number.
}

RegistrationNumber - @brief Registration Number info

type RegistrationNumberList

type RegistrationNumberList []RegistrationNumber

RegistrationNumberList - @brief A list of registration numbers related to a registration.

type RegistrationStatus

type RegistrationStatus struct {
	RegType RegistrationType `json:"regType"` // The registration type of the current prooduct
	Id      string           `json:"Id"`      // Base or trial ID used for registration
}

RegistrationStatus - A registration Status of the current product.

type RegistrationType

type RegistrationType string

RegistrationType - A type of the current registration of the product

type ReportConfig

type ReportConfig struct {
	DailyEnabled   bool `json:"dailyEnabled"`
	WeeklyEnabled  bool `json:"weeklyEnabled"`
	MonthlyEnabled bool `json:"monthlyEnabled"`
	OnlineAccess   bool `json:"onlineAccess"`
}

type Restriction

type Restriction struct {
	EntityName string               `json:"entityName"` // was of type Entity
	Tuples     RestrictionTupleList `json:"tuples"`     // Restriction tuples
}

Restriction - Entity name restriction definition

type RestrictionKind

type RestrictionKind string

RestrictionKind - A kind of restriction

const (
	Regex                  RestrictionKind = "Regex"                  // regular expression
	ByteLength             RestrictionKind = "ByteLength"             // maximal length in Bytes
	ForbiddenNameList      RestrictionKind = "ForbiddenNameList"      // list of denied exact names due to filesystem or KMS store
	ForbiddenPrefixList    RestrictionKind = "ForbiddenPrefixList"    // list of denied preffixes due to filesystem or KMS store
	ForbiddenSuffixList    RestrictionKind = "ForbiddenSuffixList"    // list of denied suffixes due to filesystem or KMS store
	ForbiddenCharacterList RestrictionKind = "ForbiddenCharacterList" // list of denied characters
)

type RestrictionList

type RestrictionList []Restriction

RestrictionList - List of restrictions

type RestrictionTuple

type RestrictionTuple struct {
	Name   string          `json:"name"` // was of type kerio::web::ItemName
	Kind   RestrictionKind `json:"kind"`
	Values StringList      `json:"values"`
}

Available entities, entity prefix due to name collision enum Entity { EntityUser, // User Entity EntityAlias, // Alias Entity EntityGroup, // Group Entity EntityMailingList, // Mailing List Entity EntityResource, // Resource Scheduling Entity EntityTimeRange, // Time Range Entity EntityTimeRangeGroup, // Time Range Group Entity EntityIpAddress, // Ip Address Entity EntityIpAddressGroup, // Ip Address Group Entity EntityService, // Service Entity EntityDomain }; RestrictionTuple - Restriction Items

type RestrictionTupleList

type RestrictionTupleList []RestrictionTuple

RestrictionTupleList - Restriction tuple for 1 entity

type ReverseProxyConfig

type ReverseProxyConfig struct {
	Enabled            bool                 `json:"enabled"`
	DefaultCertificate IdReference          `json:"defaultCertificate"`
	Rules              ReverseProxyRuleList `json:"rules"`
}

type ReverseProxyRule

type ReverseProxyRule struct {
	/*@{ server match */
	ServerHostname    string          `json:"serverHostname"`
	ServerHttp        bool            `json:"serverHttp"`           // server on standard HTTP port 80
	HttpsMode         HttpsServerMode `json:"httpsMode;//"`         // server on standard HTTPS port 443
	CustomCertificate IdReference     `json:"customCertificate;//"` // HTTPS server certificate ID
	/*@{ target connection */
	TargetServer string `json:"targetServer;//"` // hostname/IPv4/IPv6 + optionally ":<port>"
	TargetHttps  bool   `json:"targetHttps"`
	/*@{ actions */
	Antivirus bool `json:"antivirus"`
	/*@{ misc */
	Enabled     bool   `json:"enabled"`
	Description string `json:"description"`
	Id          KId    `json:"id"`
}

type ReverseProxyRuleList

type ReverseProxyRuleList []ReverseProxyRule

type RotationPeriod

type RotationPeriod string

RotationPeriod - Period of rotation

const (
	RotateNever   RotationPeriod = "RotateNever"   // don't rotate
	RotateHourly  RotationPeriod = "RotateHourly"  // rotate hourly
	RotateDaily   RotationPeriod = "RotateDaily"   // rotate daily
	RotateWeekly  RotationPeriod = "RotateWeekly"  // rotate weekly
	RotateMonthly RotationPeriod = "RotateMonthly" // rotate monthly
)

type Route

type Route struct {
	Enabled bool      `json:"enabled"` // valid only for RouteStatic
	Name    string    `json:"name"`    // valid only for RouteStatic
	Type    RouteType `json:"type"`    // Type defines Descriptions: RouteSystem: 'System route'
	//               RouteVpn:  'VPN route'
	Network       IpAddress     `json:"network"`
	Mask          IpAddress     `json:"mask"`      // used for IPv4
	PrefixLen     int           `json:"prefixLen"` // used for IPv6
	Gateway       IpAddress     `json:"gateway"`
	InterfaceType InterfaceType `json:"interfaceType"` // @see InterfaceManager, used values: Ethernet, Ras, VpnTunnel, VpnServer
	InterfaceId   IdReference   `json:"interfaceId"`   // invalid - interface is no more in the configuration
	// @note: not used for interfaceType == VpnServer (it means 'VPN Server' in gui)
	Metric int `json:"metric"`
}

type RouteList

type RouteList []Route

type RouteType

type RouteType string
const (
	RouteSystem RouteType = "RouteSystem"
	RouteStatic RouteType = "RouteStatic"
	RouteVpn    RouteType = "RouteVpn"
)

type RouterAdvertisement

type RouterAdvertisement struct {
	Id          KId            `json:"id"`
	Enabled     bool           `json:"enabled"`
	InterfaceId IdReference    `json:"interfaceId"`
	Prefix      Ip6AddressMask `json:"prefix"`
}

type RouterAdvertisementList

type RouterAdvertisementList []RouterAdvertisement

type RouterAdvertisementsConfig

type RouterAdvertisementsConfig struct {
	Enabled bool `json:"enabled"`
}

type RouterAdvertisementsModeType

type RouterAdvertisementsModeType string
const (
	RouterAdvertisementsAutomatic RouterAdvertisementsModeType = "RouterAdvertisementsAutomatic"
	RouterAdvertisementsManual    RouterAdvertisementsModeType = "RouterAdvertisementsManual"
)

type RuleAction

type RuleAction string
const (
	Allow  RuleAction = "Allow"
	Deny   RuleAction = "Deny"
	Drop   RuleAction = "Drop"
	NotSet RuleAction = "NotSet"
)

type RuleConditionType

type RuleConditionType string
const (
	RuleAny              RuleConditionType = "RuleAny"
	RuleSelectedEntities RuleConditionType = "RuleSelectedEntities"
	RuleInvalidCondition RuleConditionType = "RuleInvalidCondition" // nothing
)

type RuleReference

type RuleReference struct {
	Id          string `json:"id"` // gid:sid format ("1:123456") - this is intentionally string, not kerio::web::KId
	Description string `json:"description"`
}

type RuleReferenceList

type RuleReferenceList []RuleReference

type SafeSearchConfig

type SafeSearchConfig struct {
	Enabled        bool              `json:"enabled"`
	UserExceptions UserReferenceList `json:"userExceptions"`
}

SafeSearchConfig - SafeSearch configuration

type ScanRuleConfig

type ScanRuleConfig struct {
	Id          KId          `json:"id"`
	Enabled     bool         `json:"enabled"`
	Type        ScanRuleType `json:"type"`
	Pattern     string       `json:"pattern"`
	Scan        bool         `json:"scan"`
	Description string       `json:"description"`
}

type ScanRuleConfigList

type ScanRuleConfigList []ScanRuleConfig

type ScanRuleType

type ScanRuleType string
const (
	ScanRuleUrl       ScanRuleType = "ScanRuleUrl"
	ScanRuleMime      ScanRuleType = "ScanRuleMime"
	ScanRuleFilename  ScanRuleType = "ScanRuleFilename"
	ScanRuleFileGroup ScanRuleType = "ScanRuleFileGroup"
)

type ScannedProtocols

type ScannedProtocols struct {
	Http bool `json:"http"`
	Ftp  bool `json:"ftp"`
	Smtp bool `json:"smtp"`
	Pop3 bool `json:"pop3"`
}

ScannedProtocols - Product dependent part

type SearchQuery

type SearchQuery struct {
	Fields     StringList       `json:"fields"`     // empty = give me all fields, applicable constants: ADD_USERS, LIST_USERS
	Conditions SubConditionList `json:"conditions"` // empty = without condition
	Combining  LogicalOperator  `json:"combining"`  // the list of conditions can be either combined by 'ORs' or 'ANDs'
	Start      int              `json:"start"`      // how many items to skip before filling a result list (0 means skip none)
	Limit      int              `json:"limit"`      // how many items to put to a result list (if there are enough items); applicable constant: Unlimited
	OrderBy    SortOrderList    `json:"orderBy"`
}

SearchQuery - General Query for Searching Query substitution (quicksearch): SearchQuery doesn't support complex queries, only queries with all AND operators (or all OR operators) are supported. Combination of AND and OR is not allowed. This limitation is for special cases solved by using substitution of complicated query-part by simple condition. Only the quicksearch is currently implemented and only in "Users::get()" method. Behavior of quicksearch in Users::get(): QUICKSEACH = "x" is equal to: (loginName = "x") OR (fullName = "x") QUICKSEACH LIKE "x*" is equal to: (loginName LIKE "x*") OR (fullName LIKE "x*") Query - QUICKSEACH <> "x" is equal to: (loginName <> "x") AND (fullName <> "x")

type SearchStatus

type SearchStatus string

SearchStatus - Status of the Search

const (
	ResultFound    SearchStatus = "ResultFound"    // the seach is finished and the match has been found
	Searching      SearchStatus = "Searching"      // the search still continues, the result is not available so far
	Cancelled      SearchStatus = "Cancelled"      // the search was cancelled by client
	ResultNotFound SearchStatus = "ResultNotFound" // the seach is finished but nothing was found
)

type SecuritySettingsConfig

type SecuritySettingsConfig struct {
	MiscSettings      MiscSettingsConfig `json:"miscSettings"`
	MacFilter         MacFilterConfig    `json:"macFilter"`
	ZeroConfigNetwork ZeroConfigNetwork  `json:"zeroConfigNetwork"`
}

type ServerConnection

type ServerConnection struct {
	Config *Config
	Token  *string
	// contains filtered or unexported fields
}

func (*ServerConnection) AccountingGet

func (s *ServerConnection) AccountingGet() (*AccountingConfig, error)

AccountingGet - Returns Accounting configuration Return

config - Accounting configuration

func (*ServerConnection) AccountingSet

func (s *ServerConnection) AccountingSet(config AccountingConfig) (ErrorList, error)

AccountingSet - Stores Accounting configuration

config - Accounting configuration

func (*ServerConnection) ActiveConnectionsGet

func (s *ServerConnection) ActiveConnectionsGet(query SearchQuery, refresh bool, hostId KId) (ActiveConnectionList, int, error)

ActiveConnectionsGet - Returns Active Connections data

query - filter/sort query
refresh - true in case, that data snapshot have to be refreshed
hostId - return data only for this host id

Return

list - output data
totalItems - all data count

func (*ServerConnection) ActiveConnectionsKill

func (s *ServerConnection) ActiveConnectionsKill(ids KIdList) error

ActiveConnectionsKill - Kills connections specified in ids list

ids - list of connections id

func (*ServerConnection) ActiveHostsGet

func (s *ServerConnection) ActiveHostsGet(query SearchQuery, refresh bool) (ActiveHostList, int, error)

ActiveHostsGet - Returns Active Hosts data

query - filter/sort query
refresh - true in case, that data snapshot have to be refreshed

Return

list - output data
totalItems - all data count

func (*ServerConnection) ActiveHostsGetActivityList

func (s *ServerConnection) ActiveHostsGetActivityList(id KId) (ActivityList, error)

ActiveHostsGetActivityList - Returns Activities for specified host

id - Active Host id returned by get

Return

list - output data

func (*ServerConnection) ActiveHostsGetHistogram

func (s *ServerConnection) ActiveHostsGetHistogram(histogramType HistogramType, id KId) (*Histogram, error)

ActiveHostsGetHistogram - Returns throughput Histogram for specified host

id - Active Host id returned by get

Return

hist - samples of traffic rate for given host

func (*ServerConnection) ActiveHostsGetHistogramInc

func (s *ServerConnection) ActiveHostsGetHistogramInc(histogramIntervalType HistogramIntervalType, id KId, startSampleTime DateTimeStamp) (*Histogram, *DateTimeStamp, error)

ActiveHostsGetHistogramInc - Returns throughput Histogram for specified host

startSampleTime - Specifies starting time for returned data
id - rule or interface id returned in item.id member by get

Return

hist - output data
sampleTime - Returns first time, that is not included in returned data (pass it to the same method again as a lastSampleTime to obtain only new data since last request)

func (*ServerConnection) ActiveHostsLogin

func (s *ServerConnection) ActiveHostsLogin(hostId KId, userName string) error

ActiveHostsLogin - Logs in user for specified host

hostId - internal identifier of a host computer in network
userName - Name of a user to be loged from given host specified by hostId (including domain if needed)

func (*ServerConnection) ActiveHostsLogout

func (s *ServerConnection) ActiveHostsLogout(ids KIdList) error

ActiveHostsLogout - Logout users from specified hosts / empty for all hosts

ids - Active Host ids returned by get or empty for logout all hosts

func (*ServerConnection) AlertsGet

func (s *ServerConnection) AlertsGet(query SearchQuery) (AlertRowList, int, error)

AlertsGet - Returns Alert Messages data

query - paging query (sorting is not possible and it is ignored)

Return

list - output data
totalItems - all data count

func (*ServerConnection) AlertsGetAlertTypes

func (s *ServerConnection) AlertsGetAlertTypes() (AlertTypeList, error)

AlertsGetAlertTypes - Returns list of possible Alerts types Return

types - list of possible Alerts types

func (*ServerConnection) AlertsGetContent

func (s *ServerConnection) AlertsGetContent(id KId) (string, error)

AlertsGetContent - Returns content of given Alert Message as formatted HTML

id - ID of given alert

Return

content - output data

func (*ServerConnection) AlertsGetDefaultLanguage

func (s *ServerConnection) AlertsGetDefaultLanguage() (string, error)

AlertsGetDefaultLanguage - Returns default language for Alert emails Return

lang - default language for Alert emails

func (*ServerConnection) AlertsGetSettings

func (s *ServerConnection) AlertsGetSettings() (AlertSettingList, error)

AlertsGetSettings - Returns list of user defined alert handling Return

config - list of user defined alert handling

func (*ServerConnection) AlertsSetDefaultLanguage

func (s *ServerConnection) AlertsSetDefaultLanguage(lang string) error

AlertsSetDefaultLanguage - Stores default language for Alert emails

lang - default language for Alert emails

func (*ServerConnection) AlertsSetSettings

func (s *ServerConnection) AlertsSetSettings(config AlertSettingList) (ErrorList, error)

AlertsSetSettings - Stores list of user defined alert handling

config - structure with complete alerts settings

Return

errors - list of items that cannot be changed.

func (*ServerConnection) AntiHammeringGet

func (s *ServerConnection) AntiHammeringGet() (*AntiHammeringConfig, error)

AntiHammeringGet -

func (*ServerConnection) AntiHammeringGetBlockedIpCount

func (s *ServerConnection) AntiHammeringGetBlockedIpCount() (int, error)

AntiHammeringGetBlockedIpCount -

func (*ServerConnection) AntiHammeringSet

func (s *ServerConnection) AntiHammeringSet(config AntiHammeringConfig) error

AntiHammeringSet -

func (*ServerConnection) AntiHammeringUnblockAll

func (s *ServerConnection) AntiHammeringUnblockAll() error

AntiHammeringUnblockAll -

func (*ServerConnection) AntivirusGet

func (s *ServerConnection) AntivirusGet() (*AntivirusConfig, error)

AntivirusGet - Get Antivirus Settings Return

config - Antivirus Settings

func (*ServerConnection) AntivirusGetUpdateStatus

func (s *ServerConnection) AntivirusGetUpdateStatus() (*InternalUpdateStatus, error)

AntivirusGetUpdateStatus - Get progress of antivirus updating Return

status - progress of antivirus updating

func (*ServerConnection) AntivirusSet

func (s *ServerConnection) AntivirusSet(config AntivirusConfig) (ErrorList, error)

AntivirusSet - Set Antivirus

config - structure with complete antivirus settings

Return

errors - list of errors

func (*ServerConnection) AntivirusUpdate

func (s *ServerConnection) AntivirusUpdate() error

AntivirusUpdate - Force update of integrated antivirus

func (*ServerConnection) AuthenticationGet

func (s *ServerConnection) AuthenticationGet() (*AuthenticationConfig, error)

AuthenticationGet - Returns Authentication option settings Return

config - configuration values

func (*ServerConnection) AuthenticationGetJoinStatus

func (s *ServerConnection) AuthenticationGetJoinStatus() (*JoinStatus, string, error)

AuthenticationGetJoinStatus - tests if computer is joined to domain Return

status - current status
domainName - a string representation of joined domain.

func (*ServerConnection) AuthenticationGetTotpConfig

func (s *ServerConnection) AuthenticationGetTotpConfig() (*TotpConfig, error)

AuthenticationGetTotpConfig - Returns TotpConfig Return

config - configuration values

func (*ServerConnection) AuthenticationIsJoinServerNeeded

func (s *ServerConnection) AuthenticationIsJoinServerNeeded(domainName string) (bool, error)

AuthenticationIsJoinServerNeeded - tests, if join's param server need to be filled

domainName - domain name (e.g. example.com)

Return

needServer - true - join must have param server.enabled on true and server.value filled

func (*ServerConnection) AuthenticationJoin

func (s *ServerConnection) AuthenticationJoin(hostName string, domainName string, credentials CredentialsConfig, server string) (*LocalizableMessage, *JoinStatus, error)

AuthenticationJoin - joins computer to domain

hostName - name of the computer that will be set to computer and in domain controller
domainName - domain name (e.g. example.com)
credentials - domain account with rights to join the domain
server - server name (e.g. server.example.com) - filled only in case, that joinNeedServer returns true

Return

message - text related to join result
status - current status

func (*ServerConnection) AuthenticationLeave

func (s *ServerConnection) AuthenticationLeave(credentials CredentialsConfig) (*LocalizableMessage, *JoinStatus, error)

AuthenticationLeave - disconnects computer from domain

credentials - domain account with rights to leave from domain

Return

message - text related to leave result
status - current status

func (*ServerConnection) AuthenticationSet

func (s *ServerConnection) AuthenticationSet(config AuthenticationConfig) error

AuthenticationSet - Stores Authentication option settings

config - configuration values

func (*ServerConnection) AuthenticationSetTotpConfig

func (s *ServerConnection) AuthenticationSetTotpConfig(config TotpConfig) error

AuthenticationSetTotpConfig - Stores TotpConfig

config - configuration values

func (*ServerConnection) BandwidthManagementGet

func (s *ServerConnection) BandwidthManagementGet() (*BandwidthManagementConfig, error)

BandwidthManagementGet - Get the list of Bandwidth Management rules Return

config - Bandwidth Management rules

func (*ServerConnection) BandwidthManagementGetBandwidth

func (s *ServerConnection) BandwidthManagementGetBandwidth() (InternetBandwidthList, error)

BandwidthManagementGetBandwidth - Returns list of Internet interfaces and their current usage Return

list - list of interfaces (sorted by name); empty if there are no Internet interfaces

func (*ServerConnection) BandwidthManagementSet

func (s *ServerConnection) BandwidthManagementSet(config BandwidthManagementConfig) (ErrorList, error)

BandwidthManagementSet - Stores the list of Bandwidth Management rules

config - Bandwidth Management rules

Return

errors - list of errors

func (*ServerConnection) BandwidthManagementSetBandwidth

func (s *ServerConnection) BandwidthManagementSetBandwidth(list InternetBandwidthList) (ErrorList, error)

BandwidthManagementSetBandwidth - Stores the list of Bandwidth Management rules

list - list of Bandwidth Management rules

Return

errors - list of errors

func (*ServerConnection) CallRaw

func (s *ServerConnection) CallRaw(method string, params interface{}) ([]byte, error)

func (*ServerConnection) CentralManagementGet

func (s *ServerConnection) CentralManagementGet() (*CentralManagementConfig, error)

CentralManagementGet - Returns configuration Return

config - Contains Structure with Central management settings.

func (*ServerConnection) CentralManagementGetStatus

func (s *ServerConnection) CentralManagementGetStatus() (*CentralManagementStatus, error)

CentralManagementGetStatus - Returns actual state of Central management Return

status - actual state of Central management.

func (*ServerConnection) CentralManagementReset

func (s *ServerConnection) CentralManagementReset() error

CentralManagementReset - Runs reset

func (*ServerConnection) CentralManagementSet

func (s *ServerConnection) CentralManagementSet(config CentralManagementConfig) error

CentralManagementSet - Stores configuration

config - Contains Structure with Central management settings.

func (*ServerConnection) CertificatesApply

func (s *ServerConnection) CertificatesApply() (ErrorList, error)

CertificatesApply - write changes cached in manager to configuration Return

errors - list of errors

func (*ServerConnection) CertificatesDetect

func (s *ServerConnection) CertificatesDetect(host string) (*Certificate, error)

CertificatesDetect - Detect certificate of given VPN host.

host - the host certificate of which will be detected

Return

certificate - detected properties

func (*ServerConnection) CertificatesExportCertificateP12

func (s *ServerConnection) CertificatesExportCertificateP12(id KId, password string, includeCa bool) (*Download, error)

CertificatesExportCertificateP12 - Export certificate in PKCS #12 format

id - ID of the certificate or certificate request
password - password, which will be used to encrypt output certificate
includeCa - if true, engine will include whole certificate chain up to highest CA (only if all parents are present)

Return

fileDownload - description of the output file

func (*ServerConnection) CertificatesGenerateEx

func (s *ServerConnection) CertificatesGenerateEx(subject NamedValueList, name string, certificateType CertificateType, period ValidPeriod, subjectAlternativeNameList NamedMultiValueList) (*KId, error)

CertificatesGenerateEx - Generate certificate.

subject - properties specified by user
name - name of the new certificate
period - time properties specified by user, not relevant for CertificateRequest
subjectAlternativeNameList - Lists of subject alternative names in certificate. Key is similar to openSSL subj. alt. name type (see http://www.openssl.org/docs/apps/x509v3_config.html)

Return

id - ID of generated certificate

func (*ServerConnection) CertificatesImportCertificateP12

func (s *ServerConnection) CertificatesImportCertificateP12(fileId string, name string, certificateType CertificateType, password string) (*KId, error)

CertificatesImportCertificateP12 - Import certificate in PKCS #12 format

fileId - id of uploaded file
name - name of the new certificate
password - password needed to decode certificate

Return

id - ID of generated certificate

func (*ServerConnection) CertificatesImportCertificateUrl

func (s *ServerConnection) CertificatesImportCertificateUrl(url string) error

CertificatesImportCertificateUrl - Import certificate from url

url - url, where will be certificate downloaded from

func (*ServerConnection) CertificatesReset

func (s *ServerConnection) CertificatesReset() error

CertificatesReset - discard changes cached in manager

func (*ServerConnection) CertificatesSetDistrusted

func (s *ServerConnection) CertificatesSetDistrusted(ids KIdList) (ErrorList, error)

CertificatesSetDistrusted - Distrust list of certificate records

ids - list of identifiers of deleted user templates

Return

errors - error message list

func (*ServerConnection) ConfigurationApply

func (s *ServerConnection) ConfigurationApply(interfaces ImportedInterfaceList, id string, fullImport bool) (ErrorList, error)

ConfigurationApply - Applies changes obtained from imported configuration file and users interaction.

interfaces - a list of interfaces from imported configuration with mappings to the currently present interfeces. This mapping should be ignored in fullimport.
id - id of uploaded configuration file. (see spec. for uploader)
fullImport - whether to do a full import (overvrite IP & domain setting with imported values)

Return

errors - list of errors

func (*ServerConnection) ConfigurationBackupBackupNow

func (s *ServerConnection) ConfigurationBackupBackupNow() error

ConfigurationBackupBackupNow - Runs backup

func (*ServerConnection) ConfigurationBackupGet

func (s *ServerConnection) ConfigurationBackupGet() (*ConfigurationBackupConfig, error)

ConfigurationBackupGet - Returns configuration Return

config - Contains Structure with Configuration backup settings.

func (*ServerConnection) ConfigurationBackupGetStatus

func (s *ServerConnection) ConfigurationBackupGetStatus() (*ConfigurationBackupStatus, error)

ConfigurationBackupGetStatus - Returns actual state of Configuration backup status Return

status - a phase of update process.

func (*ServerConnection) ConfigurationBackupSet

func (s *ServerConnection) ConfigurationBackupSet(config ConfigurationBackupConfig) error

ConfigurationBackupSet - Stores configuration

config - Contains Structure with Configuration backup settings.

func (*ServerConnection) ConfigurationExportConfig

func (s *ServerConnection) ConfigurationExportConfig(options ExportOptions) (*Download, error)

ConfigurationExportConfig - Creates backup file and returns id.

options - A set of options which configuration variables/list to store in exported file.

Return

fileDownload - description of the output file

func (*ServerConnection) ConfigurationGetImportInfo

func (s *ServerConnection) ConfigurationGetImportInfo(fileId string) (ErrorList, bool, bool, ImportedInterfaceList, CurrentInterfaceList, error)

ConfigurationGetImportInfo - Returns additiaonal information about imported configuration needed during it's import.

fileId - id of uploaded configuration file. (see spec. for uploader)

Return

errors - list of errors
fullImportPossible - tells whether it is possible to import configuration 1:1 (with IP settings).
needIfaceMapping - tells whether it has to be setup iface mapping in case of fullImportPossible
importedInterfaces - a list of interfaces loaded from the imported configuration file.
currentInterfaces - a list of interfaces available in currently loaded configuration.

func (*ServerConnection) ConnLimitGet

func (s *ServerConnection) ConnLimitGet() (*ConnLimitSettings, error)

ConnLimitGet - Returns Connection Limit configuration Return

config - Connection Limit configuration

func (*ServerConnection) ConnLimitSet

func (s *ServerConnection) ConnLimitSet(config ConnLimitSettings) error

ConnLimitSet - Stores Connection Limit configuration

config - Connection Limit configuration

func (*ServerConnection) ConnectivityAssistantSet

func (s *ServerConnection) ConnectivityAssistantSet(config ConnectivityAssistantConfig, revertTimeout int) (ErrorList, error)

ConnectivityAssistantSet - Sets connectivity configuration from connectivity assistant

config - input configuration
revertTimeout - If client doesn't confirm config to this timeout, configuration is reverted (0 - revert disabled)

Return

errors - list of errors

func (*ServerConnection) ContentFilterClearHttpsCertCache

func (s *ServerConnection) ContentFilterClearHttpsCertCache() error

ContentFilterClearHttpsCertCache - Clears cache of generated certificates for HTTPS inspection.

func (*ServerConnection) ContentFilterGet

func (s *ServerConnection) ContentFilterGet() (ContentRuleList, error)

ContentFilterGet - Return the list of Content rules Return

list - list of rule and it's details

func (*ServerConnection) ContentFilterGetCollisions

func (s *ServerConnection) ContentFilterGetCollisions() (CollisionList, error)

ContentFilterGetCollisions - Return list of overlapped rules Return

list - list of overlapped rules

func (*ServerConnection) ContentFilterGetContentApplicationList

func (s *ServerConnection) ContentFilterGetContentApplicationList() (ContentApplicationList, error)

ContentFilterGetContentApplicationList - Returns the list of webfilter/application categories and applications Return

categories - list of webfilter/application categories and applications

func (*ServerConnection) ContentFilterGetFilenameGroups

func (s *ServerConnection) ContentFilterGetFilenameGroups() (FilenameGroupList, error)

ContentFilterGetFilenameGroups - Returns the list of filename groups Return

groups - list of filename groups

func (*ServerConnection) ContentFilterGetHttpsConfig

func (s *ServerConnection) ContentFilterGetHttpsConfig() (*HttpsConfig, error)

ContentFilterGetHttpsConfig - Returns configuration of HTTPS Filtering Return

config - configuration values

func (*ServerConnection) ContentFilterGetSafeSearchConfig

func (s *ServerConnection) ContentFilterGetSafeSearchConfig() (*SafeSearchConfig, error)

ContentFilterGetSafeSearchConfig - Returns configuration of SafeSearch Return

config - configuration values

func (*ServerConnection) ContentFilterGetUrlCategories

func (s *ServerConnection) ContentFilterGetUrlCategories(url string) (IntegerList, error)

ContentFilterGetUrlCategories - Returns current categorization of given url

url - checked URL

Return

categoryIds - list of categories, to which given URL belongs

func (*ServerConnection) ContentFilterGetUrlFilterConfig

func (s *ServerConnection) ContentFilterGetUrlFilterConfig() (*UrlFilterConfig, error)

ContentFilterGetUrlFilterConfig - Returns configuration of WebFilter Return

config - configuration values

func (*ServerConnection) ContentFilterReportMiscategorizedUrl

func (s *ServerConnection) ContentFilterReportMiscategorizedUrl(url string, categoryIds IntegerList) error

ContentFilterReportMiscategorizedUrl - Reports miscategorized url

url - URL, that is miscategorized
categoryIds - up to 3 suggested categories. Can be empty, if new category is not known

func (*ServerConnection) ContentFilterSet

func (s *ServerConnection) ContentFilterSet(rules ContentRuleList) (ErrorList, error)

ContentFilterSet - Stores the list of Content rules

rules - list of rules and it's details

Return

errors - list of errors occured during method call

func (*ServerConnection) ContentFilterSetHttpsConfig

func (s *ServerConnection) ContentFilterSetHttpsConfig(config HttpsConfig) error

ContentFilterSetHttpsConfig - Stores configuration of HTTPS Filtering

config - configuration values

func (*ServerConnection) ContentFilterSetSafeSearchConfig

func (s *ServerConnection) ContentFilterSetSafeSearchConfig(config SafeSearchConfig) error

ContentFilterSetSafeSearchConfig - Stores configuration of SafeSearch

config - configuration values

func (*ServerConnection) ContentFilterSetUrlFilterConfig

func (s *ServerConnection) ContentFilterSetUrlFilterConfig(config UrlFilterConfig) error

ContentFilterSetUrlFilterConfig - Stores configuration of WebFilter

config - configuration values

func (*ServerConnection) DhcpApply

func (s *ServerConnection) DhcpApply() (ErrorList, error)

DhcpApply - Write changes cached in manager to configuration Return

errors - list of errors

func (*ServerConnection) DhcpCreate

DhcpCreate - add new scope

scopes - details for new scopes. field id is assigned by the manager to temporary value until apply() or reset().

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) DhcpCreateLeases

func (s *ServerConnection) DhcpCreateLeases(leases DhcpLeaseList) (ErrorList, CreateResultList, error)

DhcpCreateLeases - add new reservation

leases - details for new reservations. field id is assigned by the manager to temporary value until apply() or reset().

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) DhcpGet

func (s *ServerConnection) DhcpGet(query SearchQuery) (DhcpScopeList, int, error)

DhcpGet - get the list of scopes

query - conditions and limits

Return

list - list of scopes and it's details
totalItems - count of all scopes on server (before the start/limit applied)

func (*ServerConnection) DhcpGetConfig

func (s *ServerConnection) DhcpGetConfig() (*DhcpConfig, error)

DhcpGetConfig - read Dhcp configuration (not part of persistent manager, returns actual state) Return

config - configuration values

func (*ServerConnection) DhcpGetDeclinedLeases

func (s *ServerConnection) DhcpGetDeclinedLeases(scopeIds KIdList) (int, error)

DhcpGetDeclinedLeases - Returns count of declined leases in all scopes, defined by scopeIDs param

scopeIds - list of scope IDs or empty for all scopes

Return

count - count of declined leases

func (*ServerConnection) DhcpGetInterfaceTemplate

func (s *ServerConnection) DhcpGetInterfaceTemplate(ifaceId KId) (*DhcpScope, error)

DhcpGetInterfaceTemplate - get generated scope information for interface

ifaceId - id of interface, for which the template will be created

Return

details - configuration for given ifaceId - can be passed to create method

func (*ServerConnection) DhcpGetLeases

func (s *ServerConnection) DhcpGetLeases(query SearchQuery, scopeIds KIdList) (DhcpLeaseList, int, error)

DhcpGetLeases - get the list of leases

query - conditions and limits
scopeIds - list of scope Ids, where leases should be included (empty for all scopes)

Return

list - list of leases/reservations and it's details
totalItems - count of all leases/reservations on server (before the start/limit applied)

func (*ServerConnection) DhcpGetMode

func (s *ServerConnection) DhcpGetMode() (*DhcpMode, error)

DhcpGetMode - read Dhcp mode (not part of persistent manager, returns actual state) Return

mode - result

func (*ServerConnection) DhcpGetOptionList

func (s *ServerConnection) DhcpGetOptionList() (DhcpOptionList, error)

DhcpGetOptionList - get list of all options Return

options - list of all options

func (*ServerConnection) DhcpRemove

func (s *ServerConnection) DhcpRemove(scopeIds StringList) (ErrorList, error)

DhcpRemove - remove scope

scopeIds - ids of scopes that should be removed

Return

errors - list of errors

func (*ServerConnection) DhcpRemoveDeclinedLeases

func (s *ServerConnection) DhcpRemoveDeclinedLeases(scopeIds KIdList) error

DhcpRemoveDeclinedLeases - Removes declined leases defined by scopeIDs param from engine

scopeIds - list of scope IDs or empty for all scopes

func (*ServerConnection) DhcpRemoveLeases

func (s *ServerConnection) DhcpRemoveLeases(leaseIds StringList) (ErrorList, error)

DhcpRemoveLeases - remove leases

leaseIds - ids of leases/reservations that should be removed

Return

errors - list of errors

func (*ServerConnection) DhcpReset

func (s *ServerConnection) DhcpReset() error

DhcpReset - discard changes cached in manager

func (*ServerConnection) DhcpSet

func (s *ServerConnection) DhcpSet(scopeIds StringList, details DhcpScope) (ErrorList, error)

DhcpSet - update existing scope

scopeIds - ids of scopes to be updated.
details - details for update. Field "kerio::web::KId" is ignored. All other fields must be filled and they are written to all scopes specified by scopeIds.

Return

errors - list of errors

func (*ServerConnection) DhcpSetConfig

func (s *ServerConnection) DhcpSetConfig(config DhcpConfig) error

DhcpSetConfig - stores Dhcp configuration (not part of persistent manager, changes settings immediately)

config - configuration values

func (*ServerConnection) DhcpSetLeases

func (s *ServerConnection) DhcpSetLeases(leaseIds StringList, details DhcpLease) (ErrorList, error)

DhcpSetLeases - update existing leases

leaseIds - ids of reservations to be updated.
details - details for update. Field "kerio::web::KId" is ignored. All other fields must be filled and they are written to all scopes specified by scopeIds.

Return

errors - list of errors

func (*ServerConnection) DhcpSetMode

func (s *ServerConnection) DhcpSetMode(mode DhcpMode) error

DhcpSetMode - stores Dhcp mode (not part of persistent manager, changes mode immediately)

mode - new value

func (*ServerConnection) DnsClearCache

func (s *ServerConnection) DnsClearCache() error

DnsClearCache - Flushes DNS cache

func (*ServerConnection) DnsGet

func (s *ServerConnection) DnsGet() (*DnsConfig, error)

DnsGet - Returns DNS configuration

func (*ServerConnection) DnsGetHosts

func (s *ServerConnection) DnsGetHosts() (DnsHostList, error)

DnsGetHosts - Returns DNS ip/hosts mapping

func (*ServerConnection) DnsImportHosts

func (s *ServerConnection) DnsImportHosts(fileId string, clean bool) error

DnsImportHosts - Imports DNS hosts records from file (hosts format)

fileId - id of uploaded file
clean - true, if current hosts records should be removed, false, if new records should be appended to current config

func (*ServerConnection) DnsSet

func (s *ServerConnection) DnsSet(config DnsConfig) (ErrorList, error)

DnsSet - Stores DNS configuration

config - A structure containing all the settings of DND that sould be stored.

Return

errors - list of errors

func (*ServerConnection) DnsSetHosts

func (s *ServerConnection) DnsSetHosts(hosts DnsHostList) (ErrorList, error)

DnsSetHosts - Stores DNS ip/hosts mapping

hosts - list of hosts file entries to be stored

Return

errors - list of errors

func (*ServerConnection) DomainsApply

func (s *ServerConnection) DomainsApply() (ErrorList, error)

DomainsApply - Write changes cached in manager to configuration Return

errors - list of errors

func (*ServerConnection) DomainsCreate

func (s *ServerConnection) DomainsCreate(domains DomainList) (ErrorList, CreateResultList, error)

DomainsCreate - Add new domain

domains - details for new domains. field id is assigned by the manager to temporary value until apply() or reset().

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) DomainsGet

func (s *ServerConnection) DomainsGet(query SearchQuery) (DomainList, int, error)

DomainsGet - Obtain list of domains

query - conditions and limits

Return

list - list of domains and it's details
totalItems - count of all domains on server (before the start/limit applied)

func (*ServerConnection) DomainsRemove

func (s *ServerConnection) DomainsRemove(domainIds KIdList) (ErrorList, error)

DomainsRemove - Delete domains

domainIds - ids of domains that should be removed

Return

errors - list of errors

func (*ServerConnection) DomainsReset

func (s *ServerConnection) DomainsReset() error

DomainsReset - discard changes cached in manager

func (*ServerConnection) DomainsSet

func (s *ServerConnection) DomainsSet(domainIds KIdList, pattern Domain) (ErrorList, error)

DomainsSet - Update domains details

domainIds - ids of domains to be updated.
pattern - details for update. Field "kerio::web::KId" is ignored. All other fields except password must be filled and they are written to all domains specified by domainIds.

Return

errors - list of errors

func (*ServerConnection) DomainsTestDomainController

func (s *ServerConnection) DomainsTestDomainController(hostnames StringList, directory DirectoryServiceConfiguration) (ErrorList, error)

DomainsTestDomainController - Test of domain accessibility

hostnames - List of servers, that will be used instead of servers in DirectoryService. Empty string means, that server should be autodetected
directory - domain parameters for connection test

Return

errors - Various error messages related to given data, indexed by values in "hostnames" parameter, contains leading '.'

func (*ServerConnection) DumpsGet

func (s *ServerConnection) DumpsGet() (DumpList, error)

DumpsGet - Obtain list of available crash dumps Return

dumps - list of all available crash dumps

func (*ServerConnection) DumpsGetWithImportance

func (s *ServerConnection) DumpsGetWithImportance() (*DumpListWithImportance, error)

DumpsGetWithImportance - Obtain list of available crash dumps with highest importance Return

dumps - list of all available crash dumps with importance

func (*ServerConnection) DumpsRemove

func (s *ServerConnection) DumpsRemove() error

DumpsRemove - Remove all crash dumps from server disk

func (*ServerConnection) DumpsSend

func (s *ServerConnection) DumpsSend(description string, email string) error

DumpsSend - Upload last available crash dump to Kerio.

description - plain text information to be sent with crash dump
email - contact information to be sent with crash dump

func (*ServerConnection) DynamicDnsGet

func (s *ServerConnection) DynamicDnsGet() (*DynamicDnsConfig, error)

DynamicDnsGet - Returns DynDNS configuration Return

config - configuration values

func (*ServerConnection) DynamicDnsGetProviders

func (s *ServerConnection) DynamicDnsGetProviders() (StringList, error)

DynamicDnsGetProviders - Returns list of supported providers Return

providers - return values

func (*ServerConnection) DynamicDnsGetStatus

func (s *ServerConnection) DynamicDnsGetStatus() (*LocalizableMessage, *DynamicDnsStatus, error)

DynamicDnsGetStatus - Returns status of DynDNS update Return

message - list of errors
status - actual status of DynDNS update

func (*ServerConnection) DynamicDnsSet

func (s *ServerConnection) DynamicDnsSet(config DynamicDnsConfig) error

DynamicDnsSet - Stores DynDNS configuration

config - configuration values

func (*ServerConnection) DynamicDnsUpdate

func (s *ServerConnection) DynamicDnsUpdate() error

DynamicDnsUpdate - Performs synchronous DynDNS update

func (*ServerConnection) FilenameGroupsGet

func (s *ServerConnection) FilenameGroupsGet() (FilenameGroupList, error)

FilenameGroupsGet - Returns the list of filename groups Return

groups - list of filename groups

func (*ServerConnection) ForbiddenWordsApply

func (s *ServerConnection) ForbiddenWordsApply() (ErrorList, error)

ForbiddenWordsApply - Write changes cached in manager to configuration Return

errors - list of errors

func (*ServerConnection) ForbiddenWordsCreate

func (s *ServerConnection) ForbiddenWordsCreate(items ForbiddenWordList) (ErrorList, CreateResultList, error)

ForbiddenWordsCreate - Add new forbidden word

items - details for new words. field id is assigned by the manager to temporary value until apply() or reset().

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) ForbiddenWordsGet

func (s *ServerConnection) ForbiddenWordsGet(query SearchQuery) (ForbiddenWordList, int, error)

ForbiddenWordsGet - Get the list of forbidden words

query - conditions and limits. Included from weblib.

Return

list - list of words and it's details
totalItems - count of all words on server (before the start/limit applied)

func (*ServerConnection) ForbiddenWordsGetConfig

func (s *ServerConnection) ForbiddenWordsGetConfig() (*ForbiddenWordsConfig, error)

ForbiddenWordsGetConfig - Returns the Weight Limit/Enabled Return

config - Complete configuration of Forbidden words module

func (*ServerConnection) ForbiddenWordsRemove

func (s *ServerConnection) ForbiddenWordsRemove(ids StringList) (ErrorList, error)

ForbiddenWordsRemove - Remove forbidden word

ids - ids of words that should be removed

Return

errors - list of errors

func (*ServerConnection) ForbiddenWordsReset

func (s *ServerConnection) ForbiddenWordsReset() error

ForbiddenWordsReset - Discard changes cached in manager

func (*ServerConnection) ForbiddenWordsSet

func (s *ServerConnection) ForbiddenWordsSet(ids StringList, details ForbiddenWord) (ErrorList, error)

ForbiddenWordsSet - Update existing forbidden word

ids - ids of words to be updated.
details - details for update. Field "kerio::web::KId" is ignored. All other fields must be filled and they are written to all words specified by ids.

Return

errors - list of errors

func (*ServerConnection) ForbiddenWordsSetConfig

func (s *ServerConnection) ForbiddenWordsSetConfig(config ForbiddenWordsConfig) error

ForbiddenWordsSetConfig - Stores the Weight Limit/Enabled

config - Complete configuration of Forbidden words module

func (*ServerConnection) HardwareInfoGetBoxSerialNumber

func (s *ServerConnection) HardwareInfoGetBoxSerialNumber() (string, error)

HardwareInfoGetBoxSerialNumber - Return information about serialnumber of hardware box Return

serialNumber - serialnumber of hardware box

func (*ServerConnection) HttpCacheClearCache

func (s *ServerConnection) HttpCacheClearCache() error

HttpCacheClearCache - Removes cache content

func (*ServerConnection) HttpCacheGet

func (s *ServerConnection) HttpCacheGet() (*HttpCacheConfig, error)

HttpCacheGet - Gets Http Cache configuration and status Return

config - current configuration

func (*ServerConnection) HttpCacheGetUrlSpecificTtl

func (s *ServerConnection) HttpCacheGetUrlSpecificTtl() (UrlSpecificTtlList, error)

HttpCacheGetUrlSpecificTtl - Gets list of URL specific TTL Return

list - URL specific TTL list

func (*ServerConnection) HttpCacheSet

func (s *ServerConnection) HttpCacheSet(config HttpCacheConfig) error

HttpCacheSet - Sets Http Cache configuration

config - new configuration

func (*ServerConnection) HttpCacheSetUrlSpecificTtl

func (s *ServerConnection) HttpCacheSetUrlSpecificTtl(list UrlSpecificTtlList) (ErrorList, error)

HttpCacheSetUrlSpecificTtl - Gets list of URL specific TTL

list - URL specific TTL list

Return

errors - list of errors

func (*ServerConnection) InspectorsGet

func (s *ServerConnection) InspectorsGet() (InspectorList, error)

InspectorsGet - Returns available Protocol Inspectors Return

list - list of inspectors and it's details

func (*ServerConnection) InterfacesApply

func (s *ServerConnection) InterfacesApply(revertTimeout int) (ErrorList, error)

InterfacesApply - write changes cached in manager to configuration

revertTimeout how many seconds to wait for confirmation until revert is performed

Return

errors - list of errors

func (*ServerConnection) InterfacesCancelConnectivityTest

func (s *ServerConnection) InterfacesCancelConnectivityTest() error

InterfacesCancelConnectivityTest - Cancels testing of connectivity nad sets status to ConnectivityError

func (*ServerConnection) InterfacesCheckIpCollision

func (s *ServerConnection) InterfacesCheckIpCollision() (IpCollisionList, error)

InterfacesCheckIpCollision - Checks collision of all interfaces IP + VPN Server network Return

collisions - list of ip collision

func (*ServerConnection) InterfacesConnectivityTestStatus

func (s *ServerConnection) InterfacesConnectivityTestStatus() (*ConnectivityStatus, error)

InterfacesConnectivityTestStatus - Returns progress of connectivity test Return

status - actual status

func (*ServerConnection) InterfacesCreate

func (s *ServerConnection) InterfacesCreate(list InterfaceList) (ErrorList, CreateResultList, error)

InterfacesCreate - Creates new interface (Only one interface can be created at a time) - VPN Tunnel or RAS on Ape/Box

list - list of interfaces desired to be created (must contain exactly one item)

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) InterfacesDial

func (s *ServerConnection) InterfacesDial(id KId) error

InterfacesDial - Dial interface. Works only for disconnected RAS. Action is taken immediatelly, without apply.

func (*ServerConnection) InterfacesGet

func (s *ServerConnection) InterfacesGet(query SearchQuery, sortByGroup bool) (InterfaceList, int, error)

InterfacesGet - Obtain list of interfaces. When sortByGroup is true and sorting is 'name', sorting order is 'group', 'type', 'name'

func (*ServerConnection) InterfacesGetConnectivityConfig

func (s *ServerConnection) InterfacesGetConnectivityConfig() (*ConnectivityConfig, error)

InterfacesGetConnectivityConfig - Returns Connectivity config values Return

config - Connectivity config values

func (*ServerConnection) InterfacesGetIpsecPeerIdConfig

func (s *ServerConnection) InterfacesGetIpsecPeerIdConfig() (*IpsecPeerIdConfig, error)

InterfacesGetIpsecPeerIdConfig - Returns (defaults/read-only) values to be displayed on VPN Tunnel IPsec dialog as peer ID config Return

config - values to be displayed on VPN Tunnel IPsec dialog as peer ID config

func (*ServerConnection) InterfacesGetWarnings

func (s *ServerConnection) InterfacesGetWarnings() (NotificationTypeList, error)

InterfacesGetWarnings - Checks Link Load Balancing warnings Return

warnings - list of notification type

func (*ServerConnection) InterfacesHangup

func (s *ServerConnection) InterfacesHangup(id KId) error

InterfacesHangup - Hangup interface. Works only for connected RAS. Action is taken immediatelly, without apply.

id - interface id

func (*ServerConnection) InterfacesRemove

func (s *ServerConnection) InterfacesRemove(ids KIdList) (ErrorList, error)

InterfacesRemove - Delete Interface configuration - VPN Tunnel or RAS on Ape/Box

ids - list of IDs of interfaces to modify

Return

errors - list of errors

func (*ServerConnection) InterfacesReset

func (s *ServerConnection) InterfacesReset() error

InterfacesReset - discard changes cached in manager

func (*ServerConnection) InterfacesSet

func (s *ServerConnection) InterfacesSet(ids KIdList, details Interface) (ErrorList, error)

InterfacesSet - Update interface's details.

ids - list of IDs of interfaces to modify
details - details to set to every interface lister in ids parameter

Return

errors - list of errors

func (*ServerConnection) InterfacesSetConnectivityConfig

func (s *ServerConnection) InterfacesSetConnectivityConfig(config ConnectivityConfig) error

InterfacesSetConnectivityConfig - Stores Connectivity config values

config - Connectivity config values

func (*ServerConnection) InterfacesStartConnectivityTest

func (s *ServerConnection) InterfacesStartConnectivityTest() error

InterfacesStartConnectivityTest - Initiates testing of connectivity

func (*ServerConnection) IntrusionPreventionGet

func (s *ServerConnection) IntrusionPreventionGet() (*IntrusionPreventionConfig, error)

IntrusionPreventionGet - Returns configuration Return

config - complete configuration of Intrusion Prevention system

func (*ServerConnection) IntrusionPreventionGetIgnoredRules

func (s *ServerConnection) IntrusionPreventionGetIgnoredRules() (RuleReferenceList, error)

IntrusionPreventionGetIgnoredRules - Returns list of ignored signatures Return

ignored - List of rules that are excluded from usage in IPS

func (*ServerConnection) IntrusionPreventionGetSignatureDescription

func (s *ServerConnection) IntrusionPreventionGetSignatureDescription(id string) (string, error)

IntrusionPreventionGetSignatureDescription - Returns signature description

func (*ServerConnection) IntrusionPreventionGetUpdateStatus

func (s *ServerConnection) IntrusionPreventionGetUpdateStatus() (*IntrusionPreventionInfo, error)

IntrusionPreventionGetUpdateStatus - Returns actual state of Update Return

status - actual state of Update

func (*ServerConnection) IntrusionPreventionSet

func (s *ServerConnection) IntrusionPreventionSet(config IntrusionPreventionConfig) (ErrorList, error)

IntrusionPreventionSet - Stores configuration

config - complete configuration of Intrusion Prevention system

Return

errors - list of errors

func (*ServerConnection) IntrusionPreventionSetIgnoredRules

func (s *ServerConnection) IntrusionPreventionSetIgnoredRules(ignored RuleReferenceList) (ErrorList, error)

IntrusionPreventionSetIgnoredRules - Sets list of ignored signatures

ignored - List of rules that are excluded from usage in IPS

Return

errors - list of errors

func (*ServerConnection) IntrusionPreventionUpdate

func (s *ServerConnection) IntrusionPreventionUpdate(force bool) error

IntrusionPreventionUpdate - Checks new version of database and updates it

force - checks new version force if true

func (*ServerConnection) IpAddressGroupsApply

func (s *ServerConnection) IpAddressGroupsApply() (ErrorList, error)

IpAddressGroupsApply - Write changes cached in manager to configuration Return

errors - list of errors

func (*ServerConnection) IpAddressGroupsReset

func (s *ServerConnection) IpAddressGroupsReset() error

IpAddressGroupsReset - Discard changes cached in manager

func (*ServerConnection) IpServicesApply

func (s *ServerConnection) IpServicesApply() (ErrorList, error)

IpServicesApply - Write changes cached in manager to configuration Return

errors - list of errors

func (*ServerConnection) IpServicesCreate

func (s *ServerConnection) IpServicesCreate(services IpServiceList) (ErrorList, CreateResultList, error)

IpServicesCreate - Add new services

services - details for new services. field id is assigned by the manager to temporary value until apply() or reset().

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) IpServicesGet

func (s *ServerConnection) IpServicesGet(query SearchQuery) (IpServiceList, int, error)

IpServicesGet - Get the list of services

query - conditions and limits. Included from weblib. Kerio Control engine implementation notes:

Return

list - list of services and it's details
totalItems - count of all services on server (before the start/limit applied)

func (*ServerConnection) IpServicesRemove

func (s *ServerConnection) IpServicesRemove(serviceIds StringList) (ErrorList, error)

IpServicesRemove - Remove services

serviceIds - ids of services that should be removed

Return

errors - list of errors TODO write particular values

func (*ServerConnection) IpServicesReset

func (s *ServerConnection) IpServicesReset() error

IpServicesReset - Discard changes cached in manager

func (*ServerConnection) IpServicesSet

func (s *ServerConnection) IpServicesSet(serviceIds StringList, details IpService) (ErrorList, error)

IpServicesSet - Update existing services

serviceIds - ids of services to be updated.
details - details for update. Field "kerio::web::KId" is ignored. All other fields must be filled and they are written to all services specified by serviceIds.

Return

errors - list of errors

func (*ServerConnection) IpToolsDns

func (s *ServerConnection) IpToolsDns(name string, server string, tool DnsTool, dnsType DnsType) error

IpToolsDns - 1004 Access denied - "Insufficient rights to perform the requested operation."

func (*ServerConnection) IpToolsGetDnsServers

func (s *ServerConnection) IpToolsGetDnsServers() (StringList, error)

IpToolsGetDnsServers - 1004 Access denied - "Insufficient rights to perform the requested operation."

func (*ServerConnection) IpToolsGetStatus

func (s *ServerConnection) IpToolsGetStatus() (*ActiveTool, StringList, error)

IpToolsGetStatus - Get status currently running tool

func (*ServerConnection) IpToolsPing

func (s *ServerConnection) IpToolsPing(target string, ipv IpVersion, infinite bool, packetSize int, allowFragmentation bool) error

IpToolsPing - Ping

func (*ServerConnection) IpToolsStop

func (s *ServerConnection) IpToolsStop() error

IpToolsStop - Interrupt currently running tool

func (*ServerConnection) IpToolsTraceRoute

func (s *ServerConnection) IpToolsTraceRoute(target string, ipv IpVersion, resolveHostnames bool) error

IpToolsTraceRoute - TraceRoute

func (*ServerConnection) IpToolsWhois

func (s *ServerConnection) IpToolsWhois(target string) error

IpToolsWhois - Whois

func (*ServerConnection) LoggerCallStatusFunction

func (s *ServerConnection) LoggerCallStatusFunction(id KId) error

LoggerCallStatusFunction - Calls function from StatusFunctionList referenced by id

id - ID function

func (*ServerConnection) LoggerGetHttpLogType

func (s *ServerConnection) LoggerGetHttpLogType() (*HttpLogType, error)

LoggerGetHttpLogType - Returns actual Http log type Return

logType - actual Http log type

func (*ServerConnection) LoggerGetLogExpression

func (s *ServerConnection) LoggerGetLogExpression() (string, error)

LoggerGetLogExpression - Returns expression for dialog from debug log context menu 'IP Traffic...' Return

expression - expression for dialog from debug log context menu 'IP Traffic...'

func (*ServerConnection) LoggerGetPacketLogFormat

func (s *ServerConnection) LoggerGetPacketLogFormat() (string, error)

LoggerGetPacketLogFormat - Returns format for dialog from debug log context menu 'Packet Log format...' Return

format - format for dialog from debug log context menu 'Packet Log format...'

func (*ServerConnection) LoggerGetStatusFunctionList

func (s *ServerConnection) LoggerGetStatusFunctionList() (StatusFunctionList, error)

LoggerGetStatusFunctionList - Returns list of Functions displayed in debug log context menu 'Show status' Return

functions - list of Functions displayed in debug log context menu 'Show status'

func (*ServerConnection) LoggerLogWrite

func (s *ServerConnection) LoggerLogWrite(logType LogType, message string) error

LoggerLogWrite - Write a message to given log

message - text to be written into log file

func (*ServerConnection) LoggerSetHttpLogType

func (s *ServerConnection) LoggerSetHttpLogType(logType HttpLogType) error

LoggerSetHttpLogType - Stores Http log type

ogType - Http log type

func (*ServerConnection) LoggerSetLogExpression

func (s *ServerConnection) LoggerSetLogExpression(expression string) error

LoggerSetLogExpression - Stores expression from debug log context menu dialog 'IP Traffic...'

expression - expression for dialog from debug log context menu 'IP Traffic...'

func (*ServerConnection) LoggerSetPacketLogFormat

func (s *ServerConnection) LoggerSetPacketLogFormat(format string) error

LoggerSetPacketLogFormat - Stores format from debug log context menu dialog 'Packet Log format...'

format - format for dialog from debug log context menu 'Packet Log format...'

func (*ServerConnection) Login

func (s *ServerConnection) Login(userName string, password string, application *ApiApplication) error

Login - Log in given user. Please note that with a session to one module you cannot use another one (eg. with admin session you cannot use webmail).

userName - login name + domain name (can be omitted if primary/local) of the user to be logged in, e.g. "jdoe" or "jdoe@company.com"
password - password of the user to be logged in
application - client application description

func (*ServerConnection) Logout

func (s *ServerConnection) Logout() error

Logout - Destroys session

func (*ServerConnection) LogsCancelSearch

func (s *ServerConnection) LogsCancelSearch(searchId string) error

LogsCancelSearch - Cancel search on server (useful for large logs).

searchId - identifier from search()

func (*ServerConnection) LogsClear

func (s *ServerConnection) LogsClear(logName LogType) error

LogsClear - Delete all log lines.

logName - unique name of the log

func (*ServerConnection) LogsExportLog

func (s *ServerConnection) LogsExportLog(logName LogType, fromLine int, countLines int, exportFormat ExportFormat) (*Download, error)

LogsExportLog - Exporting a given log.

logName - unique name of the log
fromLine - number of the line to start the search from;
countLines - number of lines to transfer; Unlimited - symbolic name for end of log

Return

fileDownload - file download structure

func (*ServerConnection) LogsExportLogRelative

func (s *ServerConnection) LogsExportLogRelative(logName LogType, fromLine int, countLines int, exportFormat ExportFormat) (*Download, error)

LogsExportLogRelative - Exporting a given log with relative download path.

logName - unique name of the log
fromLine - number of the line to start the search from;
countLines - number of lines to transfer; Unlimited - symbolic name for end of log

Return

fileDownload - file download structure

func (*ServerConnection) LogsGet

func (s *ServerConnection) LogsGet(logName LogType, fromLine int, countLines int) (LogRowList, int, error)

LogsGet - Obtain log data without linebreaks.

logName - unique name of the log
fromLine - number of the line to start from; if (fromLine == Unlimited) then fromline is end of log minus countLines
countLines - number of lines to transfer

Return

viewport - list of log lines; count of lines = min(count, NUMBER_OF_CURRENT LINES - from)
totalItems - current count of all log lines

func (*ServerConnection) LogsGetHighlightRules

func (s *ServerConnection) LogsGetHighlightRules() (*HighlightRules, error)

LogsGetHighlightRules - Obtain a list of sorted highlighting rules. Return

rules - highlight rules

func (*ServerConnection) LogsGetLogSet

func (s *ServerConnection) LogsGetLogSet() (*LogSet, error)

LogsGetLogSet - Retrieve set of valid logs. Return

logSet - list of valid logs

func (*ServerConnection) LogsGetMessages

func (s *ServerConnection) LogsGetMessages() (TreeLeafList, error)

LogsGetMessages - Obtain log message settings; make sense only if LogItem.hasMessages == true. Return

messages - tree of log messages

func (*ServerConnection) LogsGetSearchProgress

func (s *ServerConnection) LogsGetSearchProgress() error

LogsGetSearchProgress - Clears timeout for search() and obtains status of the search.

func (*ServerConnection) LogsGetSettings

func (s *ServerConnection) LogsGetSettings(logName LogType) (*LogSettings, error)

LogsGetSettings - Obtain log settings.

logName - unique name of the log

Return

currentSettings - current valid settings (or undefined data on failure)

func (*ServerConnection) LogsSearch

func (s *ServerConnection) LogsSearch(logName LogType, what string, fromLine int, toLine int, forward bool) (string, error)

LogsSearch - Start searching for a string in a given log; The search exists 1 minute unless prolonged by getSearchProgress.

logName - unique name of the log
what - searched string
fromLine - line to start searching from; fromLine>toLine means search up; Unlimited - symbolic name for end of log
toLine - line to start searching from; fromLine<toLine means search down
forward - direction of the search; true = forward, false = backward

Return

searchId - identifier that can be used for cancelSearch and getSearchProgress

func (*ServerConnection) LogsSetHighlightRules

func (s *ServerConnection) LogsSetHighlightRules(rules HighlightRules) error

LogsSetHighlightRules - Set highlighting rules, rules have to be sorted purposely, the only way to change a rule is to change the whole ruleset.

rules - highlight rules (ordered by priority)

func (*ServerConnection) LogsSetMessages

func (s *ServerConnection) LogsSetMessages(messages TreeLeafList) error

LogsSetMessages - Change log message settings; makes sense only if LogItem.hasMessages == true.

messages - tree of log messages

func (*ServerConnection) LogsSetSettings

func (s *ServerConnection) LogsSetSettings(logName LogType, newSettings LogSettings) error

LogsSetSettings - Change log settings.

logName - unique name of the log
newSettings

func (*ServerConnection) NotificationsClear

func (s *ServerConnection) NotificationsClear(notification Notification) error

NotificationsClear - Clears defined notification for current user

notification - one of the notifications returned by get

func (*ServerConnection) NotificationsGet

func (s *ServerConnection) NotificationsGet(lastNotifications NotificationList, timeout int) (NotificationList, error)

NotificationsGet - Returns list of notifications without filtered (cleared) messages When lastNotifications are the same as current notifications, method waits until timeout occurs and than returns

lastNotifications - notifications returned by last call or empty list
timeout - how long should engine wait for notifications change (in seconds)

Return

notifications - list of notifications

func (*ServerConnection) P2pEliminatorGet

func (s *ServerConnection) P2pEliminatorGet() (*P2pEliminatorConfig, error)

P2pEliminatorGet - Returns the configuration of P2P eliminator. Return

config - structure with configuration of P2P eliminator.

func (*ServerConnection) P2pEliminatorSet

func (s *ServerConnection) P2pEliminatorSet(config P2pEliminatorConfig) (ErrorList, error)

P2pEliminatorSet - Sets the configuration of P2P eliminator.

config - structure with configuration of P2P eliminator.

Return

errors - list of errors

func (*ServerConnection) PacketDumpClear

func (s *ServerConnection) PacketDumpClear() error

PacketDumpClear - Clear dump log

func (*ServerConnection) PacketDumpDownload

func (s *ServerConnection) PacketDumpDownload() (*Download, error)

PacketDumpDownload - Download file with dump log Return

fileDownload - log file information

func (*ServerConnection) PacketDumpGetExpression

func (s *ServerConnection) PacketDumpGetExpression() (string, error)

PacketDumpGetExpression - Returns expression for dialog from debug log context menu 'Dump Expression...' Return

expression - expression for dialog from debug log context menu 'Dump Expression...'

func (*ServerConnection) PacketDumpGetStatus

func (s *ServerConnection) PacketDumpGetStatus() (*PacketDumpStatus, error)

PacketDumpGetStatus - Get status dump handling Return

status - dump process information

func (*ServerConnection) PacketDumpSetExpression

func (s *ServerConnection) PacketDumpSetExpression(expression string) error

PacketDumpSetExpression - Stores expression from debug log context menu dialog 'Dump Expression...'

expression - expression for dialog from debug log context menu 'Dump Expression...'

func (*ServerConnection) PacketDumpStart

func (s *ServerConnection) PacketDumpStart() error

PacketDumpStart - Start dump handling

func (*ServerConnection) PacketDumpStop

func (s *ServerConnection) PacketDumpStop() error

PacketDumpStop - Stop dump handling

func (*ServerConnection) PortsGet

func (s *ServerConnection) PortsGet() (PortConfigList, error)

PortsGet - Returns list of system ports together with assignments note: System version has to support port and switch configuration Return

list - list of ports sorted by port's order of precedence (WiFi last)

func (*ServerConnection) PortsSet

func (s *ServerConnection) PortsSet(ports PortConfigList, revertTimeout int) (ErrorList, error)

PortsSet - Stores configuration for system ports If some of given items has id, that doesn't exist in current configuration, Error is returned Unknown items are not added, no item is deleted note: System version has to support port and switch configuration

ports - list of ports (order is not significant)
revertTimeout - If client doesn't confirm config to this timeout, configuration is reverted (0 - revert disabled)

Return

errors - list of errors

func (*ServerConnection) ProductInfoAcceptUnregisteredTrial

func (s *ServerConnection) ProductInfoAcceptUnregisteredTrial() error

ProductInfoAcceptUnregisteredTrial - Accepts unregistered trial license in engine and causes

func (*ServerConnection) ProductInfoAccountUsage

func (s *ServerConnection) ProductInfoAccountUsage(apiEntity ApiEntity) error

ProductInfoAccountUsage - Accounts usage of ApiEntity for voluntary statistics

apiEntity - which entity was used

func (*ServerConnection) ProductInfoConfigUpdate

func (s *ServerConnection) ProductInfoConfigUpdate() error

ProductInfoConfigUpdate - Performs configuration update

func (*ServerConnection) ProductInfoDisableWarning

func (s *ServerConnection) ProductInfoDisableWarning(warningType WarningType) error

ProductInfoDisableWarning - Disables given warning

warningType - type of warning to disable

func (*ServerConnection) ProductInfoGet

func (s *ServerConnection) ProductInfoGet() (*ProductInformation, error)

ProductInfoGet - Returns information about product Return

productInfo - information about Kerio Server

func (*ServerConnection) ProductInfoGetAcknowledgmentsUrl

func (s *ServerConnection) ProductInfoGetAcknowledgmentsUrl() (string, error)

ProductInfoGetAcknowledgmentsUrl - Gets url of Acknowledgments file Return

url - requested url

func (*ServerConnection) ProductInfoGetClientStatistics

func (s *ServerConnection) ProductInfoGetClientStatistics() (bool, error)

ProductInfoGetClientStatistics - Returns settings of Client statistics (Enabled/Disabled) Return

setting - Client statistics enabled/disabled

func (*ServerConnection) ProductInfoGetSupportInfo

func (s *ServerConnection) ProductInfoGetSupportInfo() (*Download, error)

ProductInfoGetSupportInfo - Generates support info file and returns url for download Return

fileDownload - info file url for download

func (*ServerConnection) ProductInfoGetSystemHostname

func (s *ServerConnection) ProductInfoGetSystemHostname() (string, error)

ProductInfoGetSystemHostname - Returns WinRoute server name Return

hostname - WinRoute server name

func (*ServerConnection) ProductInfoGetUptime

func (s *ServerConnection) ProductInfoGetUptime() (int, error)

ProductInfoGetUptime - Returns engine uptime in seconds Return

uptime - engine uptime

func (*ServerConnection) ProductInfoGetUsedDevicesCount

func (s *ServerConnection) ProductInfoGetUsedDevicesCount() (int, int, error)

ProductInfoGetUsedDevicesCount - Returns number of used devices and accounts Return

 devices - number devices
	accounts - number accounts

func (*ServerConnection) ProductInfoGetWarnings

func (s *ServerConnection) ProductInfoGetWarnings() (WarningInfoList, error)

ProductInfoGetWarnings - Gets warning list Return

warnings - list of warnings

func (*ServerConnection) ProductInfoSetClientStatistics

func (s *ServerConnection) ProductInfoSetClientStatistics(setting bool) error

ProductInfoSetClientStatistics - Stores settings of Client statistics (Enabled/Disabled)

setting - Client statistics enabled/disabled

func (*ServerConnection) ProductInfoSetStatisticsData

func (s *ServerConnection) ProductInfoSetStatisticsData(data StatisticsData) error

ProductInfoSetStatisticsData - Stores voluntary statistics obtained on clinet side by javascript.

func (*ServerConnection) ProductInfoUploadLicense

func (s *ServerConnection) ProductInfoUploadLicense(fileId string) error

ProductInfoUploadLicense - Handles license import

func (*ServerConnection) ProductRegistrationFinish

func (s *ServerConnection) ProductRegistrationFinish(token string, baseId string, registrationInfo Registration, finishType RegistrationFinishType) error

ProductRegistrationFinish - The Method finishes registration and installs the valid licenseKey.

token - ID of wizard's session
baseId - Base ID of registration
registrationInfo - Registration data retrieved from server by getRegistrationInfo() and modified by user.
finishType - how to finish the registration? Create a new one, modyfy an existing or just download an existing license?

func (*ServerConnection) ProductRegistrationGet

func (s *ServerConnection) ProductRegistrationGet(token string, securityCode string, baseId string) (*Registration, bool, bool, error)

ProductRegistrationGet - Retrieves existing registration data from the server.

token - ID of wizard's session
securityCode - a code number from the security immage
baseId - license ID

Return

registrationInfo - the registration data related to the license ID
newRegistration - flag indicates whether the registration has already existed.
trial - trial ID registered on web, do not display registrationInfo and finish immediatelly

func (*ServerConnection) ProductRegistrationGetFullStatus

func (s *ServerConnection) ProductRegistrationGetFullStatus() (*RegistrationFullStatus, error)

ProductRegistrationGetFullStatus - @see RegistrationFullStatus Return

status - A current registration status of the product.

func (*ServerConnection) ProductRegistrationGetStatus

func (s *ServerConnection) ProductRegistrationGetStatus() (*RegistrationStatus, error)

ProductRegistrationGetStatus - @see RegistrationStatus Return

status - Current registration status of the product.

func (*ServerConnection) ProductRegistrationStart

func (s *ServerConnection) ProductRegistrationStart(langId string) (string, string, bool, error)

ProductRegistrationStart - Starts registration process. Methods connect to a server and obtain an identification token and a security image.

langId - language id

Return

token - ID of wizard's session
image - URL of the image with the security code
showImage - show captcha image in wizard if true

func (*ServerConnection) ProductRegistrationVerifyNumber

func (s *ServerConnection) ProductRegistrationVerifyNumber(token string, baseId string, regNumbersToVerify RegStringList) (ErrorList, RegistrationNumberList, bool, int, *RegDate, error)

ProductRegistrationVerifyNumber - an uncomplete registration.

token - ID of wizard's session
baseId - Registration's baseId
regNumbersToVerify - a list of numbers to be verified

Return

errors - description of an error in case of failure
regNumberInfo - information related to given registration key(s)
allowFinish - if false, the number is OK, but the registration cannot be finished without adding some other numbers.
users - the count of users connected to the license
expirationDate - licence expiration date

func (*ServerConnection) ProxyServerGet

func (s *ServerConnection) ProxyServerGet() (*ProxyServerConfig, error)

ProxyServerGet - Gets Proxy server configuration Return

config - current configuration

func (*ServerConnection) ProxyServerSet

func (s *ServerConnection) ProxyServerSet(config ProxyServerConfig) error

ProxyServerSet - Sets Proxy server configuration

config - new configuration

func (*ServerConnection) ReverseProxyGet

func (s *ServerConnection) ReverseProxyGet() (*ReverseProxyConfig, error)

ReverseProxyGet - Get ReverseProxy config Return

config - reverse proxy config (enabled, default cert.)

func (*ServerConnection) ReverseProxySet

func (s *ServerConnection) ReverseProxySet(config ReverseProxyConfig) (ErrorList, error)

ReverseProxySet - Set ReverseProxy config

config - reverse proxy config (enabled, default cert.)

Return

errors - list of errors TODO Write particular values

func (*ServerConnection) RouterAdvertisementsGet

func (s *ServerConnection) RouterAdvertisementsGet() (RouterAdvertisementList, error)

RouterAdvertisementsGet - Returns list of Router Advertisement entries Return

list - list of entries

func (*ServerConnection) RouterAdvertisementsGetConfig

func (s *ServerConnection) RouterAdvertisementsGetConfig() (*RouterAdvertisementsConfig, error)

RouterAdvertisementsGetConfig - Read Router Advertisements configuration Return

config - configuration values

func (*ServerConnection) RouterAdvertisementsGetMode

func (s *ServerConnection) RouterAdvertisementsGetMode() (*RouterAdvertisementsModeType, error)

RouterAdvertisementsGetMode - Read Router Advertisements mode Return

mode - result

func (*ServerConnection) RouterAdvertisementsSet

func (s *ServerConnection) RouterAdvertisementsSet(advertisements RouterAdvertisementList) (ErrorList, error)

RouterAdvertisementsSet - Stores Router Advertisement entries Only 37 prefixes is allowed for one Interface, others will be ignored and error will be returned. Prefixes has to be unique for all interfaces.

advertisements - list of advertisment configurations (prefixes) to be stored and advertised

Return

errors - list of errors

func (*ServerConnection) RouterAdvertisementsSetConfig

func (s *ServerConnection) RouterAdvertisementsSetConfig(config RouterAdvertisementsConfig) error

RouterAdvertisementsSetConfig - Stores Router Advertisements configuration

config - configuration values

func (*ServerConnection) RouterAdvertisementsSetMode

func (s *ServerConnection) RouterAdvertisementsSetMode(mode RouterAdvertisementsModeType) error

RouterAdvertisementsSetMode - Stores Router Advertisements mode

mode - new value

func (*ServerConnection) RoutingTableGet

func (s *ServerConnection) RoutingTableGet() (RouteList, error)

RoutingTableGet - Gets routing table from system. Return

routes - a list of routes currently stroed and used by system.

func (*ServerConnection) RoutingTableGetStaticRoutes

func (s *ServerConnection) RoutingTableGetStaticRoutes() (RouteList, error)

RoutingTableGetStaticRoutes - Gets static routes. Return

routes - a list of routes currently stroed and used by Control.

func (*ServerConnection) RoutingTableSetStaticRoutes

func (s *ServerConnection) RoutingTableSetStaticRoutes(routes RouteList) (ErrorList, error)

RoutingTableSetStaticRoutes - Set static routes

routes - A list of routes that should be stored in configuration.

Return

errors - list of errors

func (*ServerConnection) SecuritySettingsGet

func (s *ServerConnection) SecuritySettingsGet() (*SecuritySettingsConfig, error)

SecuritySettingsGet - Returns actual values for Security Settings configuration in WebAdmin Return

config - structure containig security settings such as macfilter action, name, mac list and belonging interfaces.

func (*ServerConnection) SecuritySettingsSet

func (s *ServerConnection) SecuritySettingsSet(config SecuritySettingsConfig) (ErrorList, error)

SecuritySettingsSet - Stores Security Settings configuration

config - structure containing security settings to be stored such as mac-filter action, name, mac list and belonging interfaces.

Return

errors - list of errors

func (*ServerConnection) ServerGetOs

func (s *ServerConnection) ServerGetOs() (*ServerOs, error)

ServerGetOs - Gets engine OS Return

os - engine OS. I would like to enumerate where client depends on engine OS but such list will become obsolete soon

func (*ServerConnection) ServerGetRestrictionList

func (s *ServerConnection) ServerGetRestrictionList() (RestrictionList, error)

ServerGetRestrictionList - Gets list of restrictions Return

restrictions - list of restrictions

func (*ServerConnection) SessionConfirmConfig

func (s *ServerConnection) SessionConfirmConfig(clientTimestampList ClientTimestampList) (bool, error)

SessionConfirmConfig - Confirm the new configuration

clientTimestampList - values obtained by getConfigTimestamp

Return

confirmed - true in case, that cut-off prevention was active and timestamp matched last provided timestamp

func (*ServerConnection) SessionGetConfigTimestamp

func (s *ServerConnection) SessionGetConfigTimestamp() (ClientTimestampList, error)

SessionGetConfigTimestamp - Reloads configuration and returns timestamp of current configuration Return

clientTimestampList - is empty in case, that cut-off prevention is not active

func (*ServerConnection) SessionGetConnectedInterface

func (s *ServerConnection) SessionGetConnectedInterface() (*KId, error)

SessionGetConnectedInterface - Returns id of interface through which is client connected to server Return

id - id of interface or empty in case of localhost

func (*ServerConnection) SessionGetCsrfToken

func (s *ServerConnection) SessionGetCsrfToken() (string, error)

SessionGetCsrfToken - Retrieves an unique session ID intended to be used for CSRF protection in web forms. This ID is different from the session cookie but also remains the same during the session lifetime.

func (*ServerConnection) SessionGetLoginType

func (s *ServerConnection) SessionGetLoginType() (*LoginType, error)

SessionGetLoginType - Returns type of login, that has to be performed Return

loginType - type of login

func (*ServerConnection) SessionGetSessionVariable

func (s *ServerConnection) SessionGetSessionVariable(name string) (string, error)

SessionGetSessionVariable - Returns clients defined variable stored in configuration for logged user Return

value - clients defined variable stored in configuration for logged user

func (*ServerConnection) SessionGetUserName

func (s *ServerConnection) SessionGetUserName() (string, error)

SessionGetUserName - Retrieves name os logged user Return

name - name os logged user

func (*ServerConnection) SessionReset

func (s *ServerConnection) SessionReset() error

SessionReset - Reset all persistent objects (managers) in session

func (*ServerConnection) SessionSetSessionVariable

func (s *ServerConnection) SessionSetSessionVariable(name string, value string) error

SessionSetSessionVariable - Stores clients defined variable to configuration for logged user

	name - name of variable
 value - value of variable

func (*ServerConnection) SharedDefinitionsGetVersions

func (s *ServerConnection) SharedDefinitionsGetVersions() (SharedDefinitionInfoList, error)

SharedDefinitionsGetVersions - Gets appliance report to MyKerio what shared definitions it supports and what versions of shared definitions are stored in appliance Return list - list of appliance report

func (*ServerConnection) SharedDefinitionsSetVersions

func (s *ServerConnection) SharedDefinitionsSetVersions(list SharedDefinitionInfoList) error

SharedDefinitionsSetVersions - Sets appliance report to MyKerio what shared definitions it supports and what versions of shared definitions are stored in appliance

list - list of appliance report

func (*ServerConnection) SmtpRelayGet

func (s *ServerConnection) SmtpRelayGet() (*SmtpRelayConfig, error)

SmtpRelayGet - Returns SMTP Relay configuration Return

config - SMTP Relay configuration

func (*ServerConnection) SmtpRelayGetStatus

func (s *ServerConnection) SmtpRelayGetStatus() (ErrorList, error)

SmtpRelayGetStatus - Returns result of last test call Return

errors - list of errors

func (*ServerConnection) SmtpRelaySet

func (s *ServerConnection) SmtpRelaySet(config SmtpRelayConfig) error

SmtpRelaySet - Stores SMTP Relay configuration

config - SMTP Relay configuration

func (*ServerConnection) SmtpRelayTest

func (s *ServerConnection) SmtpRelayTest(config SmtpRelayConfig, address string) (ErrorList, error)

SmtpRelayTest - Sends email and returns errors, empty errors' means OK

config - configuration structure of smtp relay module
address - email address where to send testing message. Recipient.

Return

errors - list of errors

func (*ServerConnection) SnmpGet

func (s *ServerConnection) SnmpGet() (*SnmpSettings, error)

SnmpGet - Returns SNMP configuration Return

settings - A structure containing all the settings of SNMP that are stored.

func (*ServerConnection) SnmpSet

func (s *ServerConnection) SnmpSet(settings SnmpSettings) error

SnmpSet - Stores SNMP configuration

settings - A structure containing all the settings of SNMP that sould be stored.

func (*ServerConnection) StarReportsGet

func (s *ServerConnection) StarReportsGet() (StarReportList, *ReportConfig, error)

StarReportsGet - Returns list of StaR reports entries Return

list - list of entries
allUsers - Structure telling whether to send individual reports to each person reularly and wheter to allow them to see their report online.

func (*ServerConnection) StarReportsSend

func (s *ServerConnection) StarReportsSend(reports StarReportList, language string) (ErrorList, error)

StarReportsSend - Immediately enqueues StaR report for send

reports - list of addressees and types of the report
language - language of the report

Return

errors - list of errors

func (*ServerConnection) StarReportsSet

func (s *ServerConnection) StarReportsSet(reports StarReportList, allUsers ReportConfig) (ErrorList, error)

StarReportsSet - Stores StaR reports entries

reports - list of report configurations to be send regularly.
allUsers - Structure telling whether to send individual reports to each person reularly and wheter to allow them to see their reposrt online.

Return

errors - list of errors

func (*ServerConnection) StorageGet

func (s *ServerConnection) StorageGet() (StorageDataList, error)

StorageGet - Returns list of data present on storage. Return

data - list of data present on storage.

func (*ServerConnection) StorageRemove

func (s *ServerConnection) StorageRemove(storageDataType StorageDataType) error

StorageRemove - Delete data specified by type from storage.

storageDataType - data specified by type from storage.

func (*ServerConnection) SystemConfigGet

func (s *ServerConnection) SystemConfigGet() (*SystemConfiguration, error)

SystemConfigGet - Returns actual values for System configuration in WebAdmin Return

config - actual values for System configuration in WebAdmin

func (*ServerConnection) SystemConfigGetDateTime

func (s *ServerConnection) SystemConfigGetDateTime() (*DateTimeConfig, error)

SystemConfigGetDateTime - Returns Date and Time for System configuration. Return

config - Returns Date and Time for System configuration.

func (*ServerConnection) SystemConfigGetNtpStatus

func (s *ServerConnection) SystemConfigGetNtpStatus() (*NtpUpdateStatus, error)

SystemConfigGetNtpStatus - Returns Status of NTP client process. Return

status - Status of NTP client process.

func (*ServerConnection) SystemConfigGetTimeZones

func (s *ServerConnection) SystemConfigGetTimeZones(currentDate Date) (TimeZoneConfigList, error)

SystemConfigGetTimeZones - Returns the list of known timezones.

currentDate - Client actual time to serve as an input for timezone and DST detection.

Return

timeZones - list of known timezones.

func (*ServerConnection) SystemConfigSet

func (s *ServerConnection) SystemConfigSet(config SystemConfiguration) error

SystemConfigSet - Stores System configuration

config - contains system setting to be stored.

func (*ServerConnection) SystemConfigSetDateTime

func (s *ServerConnection) SystemConfigSetDateTime(config DateTimeConfig) error

SystemConfigSetDateTime - Stores Date and Time for System configuration.

config - structure of system date and time settings

func (*ServerConnection) SystemConfigSetTimeFromNtp

func (s *ServerConnection) SystemConfigSetTimeFromNtp() error

SystemConfigSetTimeFromNtp - Starts NTP client based on configured values.

func (*ServerConnection) SystemHealthGet

func (s *ServerConnection) SystemHealthGet(histogramType HistogramType) (*SystemHealthData, error)

SystemHealthGet - Gets state of the operating system the product is running on.

func (*ServerConnection) SystemHealthGetInc

func (s *ServerConnection) SystemHealthGetInc(histogramIntervalType HistogramIntervalType, startSampleTime DateTimeStamp) (*SystemHealthData, *DateTimeStamp, error)

SystemHealthGetInc - Gets state of the operating system the product in time interval

func (*ServerConnection) SystemTasksGetSsh

func (s *ServerConnection) SystemTasksGetSsh() (bool, error)

SystemTasksGetSsh - Returns SSH status Return

running - SSH is running

func (*ServerConnection) SystemTasksReboot

func (s *ServerConnection) SystemTasksReboot() error

SystemTasksReboot - Performs system reboot

func (*ServerConnection) SystemTasksSetSsh

func (s *ServerConnection) SystemTasksSetSsh(enable bool) error

SystemTasksSetSsh - Sets SSH setting

enable - true - enable SSH, false - disable SSH

func (*ServerConnection) SystemTasksShutdown

func (s *ServerConnection) SystemTasksShutdown() error

SystemTasksShutdown - Performs system shutdown

func (*ServerConnection) TechnicalSupportAddSystemInfoToTicket

func (s *ServerConnection) TechnicalSupportAddSystemInfoToTicket(ticketId string, email string) error

TechnicalSupportAddSystemInfoToTicket - Add system info to the ticket

ticketId (in string) tickedId of target ticket
email (in string) email of the customer

func (*ServerConnection) TechnicalSupportGetInfo

func (s *ServerConnection) TechnicalSupportGetInfo() (*UserInfo, *ProductInfo, *SystemInfo, bool, error)

TechnicalSupportGetInfo - Get information from running product Return

userInfo (out UserInfo) User information
productInfo (out ProductInfo) Product information
systemInfo (out SystemInfo) System information
isUploadServerAvailable (out boolean) Is possible to upload attachment ?

func (*ServerConnection) TimeRangesApply

func (s *ServerConnection) TimeRangesApply() (ErrorList, error)

TimeRangesApply - Write changes cached in manager to configuration Return

errors - list of errors

func (*ServerConnection) TimeRangesReset

func (s *ServerConnection) TimeRangesReset() error

TimeRangesReset - Discard changes cached in manager

func (*ServerConnection) TotpTotpState

func (s *ServerConnection) TotpTotpState() (*TotpState, error)

TotpTotpState - checks 2 step verification state Return

state -

func (*ServerConnection) TotpTotpVerify

func (s *ServerConnection) TotpTotpVerify(code int, remember bool) error

TotpTotpVerify - Performs 2 step verification

code -
remember -

func (*ServerConnection) TrafficPolicyFilterRules

func (s *ServerConnection) TrafficPolicyFilterRules(condition TrafficPolicyFilter) (KIdList, error)

TrafficPolicyFilterRules - Return all rules, that matches given criteria in time, when this method was called.

condition - Filter parameters. Empty parameter (0 for numbers) in condition means 'any'.

func (*ServerConnection) TrafficPolicyGet

func (s *ServerConnection) TrafficPolicyGet() (TrafficRuleList, int, error)

TrafficPolicyGet - Get the list of Traffic Policy rules Return

list - list of Traffic Policy rules
totalItems - count of all rules in Traffic Policy

func (*ServerConnection) TrafficPolicyGetCollisions

func (s *ServerConnection) TrafficPolicyGetCollisions() (CollisionList, error)

TrafficPolicyGetCollisions - Return list of overlapped rules

func (*ServerConnection) TrafficPolicyGetDefaultRule

func (s *ServerConnection) TrafficPolicyGetDefaultRule() (*TrafficRule, error)

TrafficPolicyGetDefaultRule - Get properties of default rule Return

rule - properties of default rule

func (*ServerConnection) TrafficPolicyNormalizeTrafficEntity

func (s *ServerConnection) TrafficPolicyNormalizeTrafficEntity(input TrafficEntity) (ErrorList, *TrafficEntity, error)

TrafficPolicyNormalizeTrafficEntity - Normalize TrafficEntity

input - TrafficEntity

func (*ServerConnection) TrafficPolicySet

func (s *ServerConnection) TrafficPolicySet(rules TrafficRuleList, defaultRule TrafficRule) (ErrorList, error)

TrafficPolicySet - Stores the list of Traffic Policy rules

rules - list of Traffic Policy rules
defaultRule - properties of default rule

Return

errors - list of errors

func (*ServerConnection) TrafficStatisticsGet

func (s *ServerConnection) TrafficStatisticsGet(query SearchQuery, refresh bool) (TrafficStatisticList, int, error)

TrafficStatisticsGet - Returns Rule Statistics data

query - filter/sort query
refresh - true in case, that data snapshot have to be refreshed

Return

list - output data
totalItems - all data count

func (*ServerConnection) TrafficStatisticsGetHistogram

func (s *ServerConnection) TrafficStatisticsGetHistogram(histogramType HistogramType, id KId) (*Histogram, error)

TrafficStatisticsGetHistogram - Returns throughput Histogram for specified rule or interface

id - rule or interface id returned in item.id member by get

Return

hist - output data

func (*ServerConnection) TrafficStatisticsGetHistogramInc

func (s *ServerConnection) TrafficStatisticsGetHistogramInc(histogramIntervalType HistogramIntervalType, id KId, startSampleTime DateTimeStamp) (*Histogram, *DateTimeStamp, error)

TrafficStatisticsGetHistogramInc - Returns throughput Histogram for specified rule or interface

startSampleTime - Specifies starting time for returned d
id - rule or interface id returned in item.id member by get

Return

hist - output data
sampleTime - Returns first time, that is not included in returned data (pass it to the same method again as a lastSampleTime to obtain only new data since last request)

func (*ServerConnection) TrafficStatisticsRemove

func (s *ServerConnection) TrafficStatisticsRemove(ids KIdList) error

TrafficStatisticsRemove - Deletes rule traffic counters

ids - Ids of statistics items to be removed.

func (*ServerConnection) UnitySignOnGet

func (s *ServerConnection) UnitySignOnGet() (*SignOn, error)

UnitySignOnGet - Obtain Kerio Unity Sign On settings Return

settings - Sign On settings

func (*ServerConnection) UnitySignOnSet

func (s *ServerConnection) UnitySignOnSet(settings SignOn) error

UnitySignOnSet - Set Kerio Unity Sign On settings

settings - Sign On settings

func (*ServerConnection) UnitySignOnTestConnection

func (s *ServerConnection) UnitySignOnTestConnection(hostNames StringList, credentials Credentials) (ErrorList, error)

UnitySignOnTestConnection - Test connection to Kerio Unity Sign On server

hostNames - directory server (primary and secondary if any)
credentials - authentication information

Return

errors - error messages list; If no error is listed, connection is successful

func (*ServerConnection) UpdateCheckerCancelDownload

func (s *ServerConnection) UpdateCheckerCancelDownload() error

UpdateCheckerCancelDownload - Stops Downloading METHODS ONLY FOR LINUX VERSION

func (*ServerConnection) UpdateCheckerCheck

func (s *ServerConnection) UpdateCheckerCheck(checkVersionType CheckVersionType) error

UpdateCheckerCheck - Checks for a new version

func (*ServerConnection) UpdateCheckerDownload

func (s *ServerConnection) UpdateCheckerDownload(checkVersionType CheckVersionType) error

UpdateCheckerDownload - Starts Downloading METHODS ONLY FOR LINUX VERSION

checkVersionType -

func (*ServerConnection) UpdateCheckerGet

func (s *ServerConnection) UpdateCheckerGet() (*UpdateCheckerConfig, error)

UpdateCheckerGet - Returns configuration Return

config - Contains Structure with update checker's settings.

func (*ServerConnection) UpdateCheckerGetProgressStatus

func (s *ServerConnection) UpdateCheckerGetProgressStatus() (int, error)

UpdateCheckerGetProgressStatus - Returns percentage progress for Status Downloading METHODS ONLY FOR LINUX VERSION Return

percentage - Returns percentage progress for Status Downloading

func (*ServerConnection) UpdateCheckerGetStatus

func (s *ServerConnection) UpdateCheckerGetStatus() (*UpdateCheckerInfo, error)

UpdateCheckerGetStatus - Returns actual state of Update checker Return

status - a phase of update process.

func (*ServerConnection) UpdateCheckerPerformCustomUpgrade

func (s *ServerConnection) UpdateCheckerPerformCustomUpgrade(id KId) error

UpdateCheckerPerformCustomUpgrade - Processes newly uploaded image for upgrade. Ids according to spec 390. In case of return true, it reboots machine (after 2s delay) METHODS ONLY FOR LINUX VERSION

func (*ServerConnection) UpdateCheckerPerformUpgrade

func (s *ServerConnection) UpdateCheckerPerformUpgrade() error

UpdateCheckerPerformUpgrade - Runs upgrade In case of return true, it reboots machine (after 2s delay) METHODS ONLY FOR LINUX VERSION

func (*ServerConnection) UpdateCheckerSet

func (s *ServerConnection) UpdateCheckerSet(config UpdateCheckerConfig) error

UpdateCheckerSet - Stores configuration

config - Contains Structure with update checker's settings to be stored &a pplied.

func (*ServerConnection) UpdateCheckerUploadImage

func (s *ServerConnection) UpdateCheckerUploadImage(fileId string) (*KId, error)

UpdateCheckerUploadImage - Converts fileId to id, that will be passed into performCustomUpgrade. METHODS ONLY FOR LINUX VERSION

fileId - according to spec 390.

Return

id - an id obtained from fileId (same values);

func (*ServerConnection) UrlGroupsApply

func (s *ServerConnection) UrlGroupsApply() (ErrorList, error)

UrlGroupsApply - Write changes cached in manager to configuration Return

errors - list of errors

func (*ServerConnection) UrlGroupsCreate

func (s *ServerConnection) UrlGroupsCreate(groups UrlEntryList) (ErrorList, CreateResultList, error)

UrlGroupsCreate - Add new groups

groups - details for new groups. field id is assigned by the manager to temporary value until apply() or reset().

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) UrlGroupsGet

func (s *ServerConnection) UrlGroupsGet(query SearchQuery) (UrlEntryList, int, error)

UrlGroupsGet - Get the list of Url groups

query - conditions and limits. Included from weblib. Kerio Control engine implementation notes:

Return

list - list of groups and it's details
totalItems - count of all groups on server (before the start/limit applied)

func (*ServerConnection) UrlGroupsGetGroupList

func (s *ServerConnection) UrlGroupsGetGroupList() (UrlGroupList, error)

UrlGroupsGetGroupList - Get the list of groups, sorted in asc order

func (*ServerConnection) UrlGroupsRemove

func (s *ServerConnection) UrlGroupsRemove(groupIds StringList) (ErrorList, error)

UrlGroupsRemove - Remove groups

groupIds - ids of groups that should be removed

Return

errors - list of errors TODO write particular errors

func (*ServerConnection) UrlGroupsReset

func (s *ServerConnection) UrlGroupsReset() error

UrlGroupsReset - Discard changes cached in manager

func (*ServerConnection) UrlGroupsSet

func (s *ServerConnection) UrlGroupsSet(groupIds StringList, details UrlEntry) (ErrorList, error)

UrlGroupsSet - Update existing groups

groupIds - ids of groups to be updated.
details - details for update. Field "kerio::web::KId" is ignored. All other fields must be filled and they are written to all groups specified by groupIds.

Return

errors - list of errors

func (*ServerConnection) UserGroupsCreate

func (s *ServerConnection) UserGroupsCreate(groups UserGroupList, domainId KId) (ErrorList, CreateResultList, error)

UserGroupsCreate - Add new group

groups - details for new groups. field id is assigned by the manager to temporary value until apply() or reset().
domainId - id of domain - specifies domain, where groups will be created (only local is supported)

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) UserGroupsGet

func (s *ServerConnection) UserGroupsGet(query SearchQuery, domainId KId) (UserGroupList, int, error)

UserGroupsGet - Obtain list of groups in given domain

query - conditions and limits
domainId - id of domain - only groups from this domain will be listed

Return

list - list of groups and it's details
totalItems - count of all groups on server (before the start/limit applied)

func (*ServerConnection) UserGroupsRemove

func (s *ServerConnection) UserGroupsRemove(groupIds StringList, domainId KId) (ErrorList, error)

UserGroupsRemove - Delete groups

groupIds - ids of groups that should be removed
domainId - id of domain - specifies domain, where groups will be removed (only local is supported)

Return

errors - list of errors

func (*ServerConnection) UserGroupsSet

func (s *ServerConnection) UserGroupsSet(groupIds StringList, details UserGroup, domainId KId) (ErrorList, error)

UserGroupsSet - Update groups' details

groupIds - ids of groups to be updated.
details - details for update. Field "kerio::web::KId" is ignored. All other values have to be present
domainId - id of domain - groups from this domain will be updated

Return

errors - list of errors

func (*ServerConnection) UserStatisticsGet

func (s *ServerConnection) UserStatisticsGet(query SearchQuery, refresh bool) (UserStatisticList, int, error)

UserStatisticsGet - Returns User Statistics data

query - filter/sort query
refresh - true in case, that data snapshot have to be refreshed

Return

list - output data
totalItems - all data count

func (*ServerConnection) UserStatisticsRemove

func (s *ServerConnection) UserStatisticsRemove(ids KIdList) error

UserStatisticsRemove - Deletes user traffic counters

ids - list of user ids returned in user member by get

func (*ServerConnection) UserVoiceGetUrl

func (s *ServerConnection) UserVoiceGetUrl() (string, error)

UserVoiceGetUrl - Generate token for logging into user voice web. Return

url - URL to userVoice with single sign on token

func (*ServerConnection) UserVoiceSet

func (s *ServerConnection) UserVoiceSet(settings UserVoiceSettings) error

UserVoiceSet - Set settings of User Voice.

settings - structure with settings

func (*ServerConnection) UsersCheckWarnings

func (s *ServerConnection) UsersCheckWarnings(user User) (ErrorList, error)

UsersCheckWarnings - Checks, if autoLogin and vpnAddress params are unique and returns appropriate warnings if so

user - user data

Return

errors - list of all warnings

func (*ServerConnection) UsersConvertLocalUsers

func (s *ServerConnection) UsersConvertLocalUsers(domainId KId) error

UsersConvertLocalUsers - Replace all conflicting local users with domain users in policies

domainId - id of domain - specifies domain, from which users will be loaded

func (*ServerConnection) UsersCreate

func (s *ServerConnection) UsersCreate(users UserList, domainId KId) (ErrorList, CreateResultList, error)

UsersCreate - Add new user

users - details for new users. field id is assigned by the manager to temporary value until apply() or reset().
domainId - id of domain - specifies domain, where user will be created (only local is supported)

Return

errors - list of errors
result - list of IDs assigned to each item

func (*ServerConnection) UsersGet

func (s *ServerConnection) UsersGet(query SearchQuery, domainId KId) (ErrorList, UserList, int, error)

UsersGet - Obtain list of users in given domain

query - conditions and limits
domainId - id of domain - only users from this domain will be listed

Return

warnings - list of warnings
list - list of users and it's details
totalItems - count of all users on server (before the start/limit applied)

func (*ServerConnection) UsersGetAdUsers

func (s *ServerConnection) UsersGetAdUsers(domainName string, server string, credentials CredentialsConfig, ldapSecure bool) (UserList, error)

UsersGetAdUsers - Returns list of users suitable for import

domainName - name of AD domain
server - AD server
credentials - username and password for user with read privilegies
ldapSecure - use secured connection

Return

users - list of users and details

func (*ServerConnection) UsersGetMySettings

func (s *ServerConnection) UsersGetMySettings() (*UserSettings, error)

UsersGetMySettings - Returns list of user's settings Return

settings - list of all settings

func (*ServerConnection) UsersGetNtUsers

func (s *ServerConnection) UsersGetNtUsers(domainName string) (UserList, error)

UsersGetNtUsers - Returns list of users suitable for import

domainName - name of NT domain

Return

users - list of users and details

func (*ServerConnection) UsersGetSupportedLanguages

func (s *ServerConnection) UsersGetSupportedLanguages() (NamedValueList, error)

UsersGetSupportedLanguages - Gets supported languages, name like "Cestina" in utf8, value in configuration, default value is "detect" Return

languages - list of languages

func (*ServerConnection) UsersRemove

func (s *ServerConnection) UsersRemove(userIds KIdList, domainId KId) (ErrorList, error)

UsersRemove - Delete users

userIds - ids of users that should be removed
domainId - id of domain - specifies domain, where user will be removed (only local is supported)

Return

errors - list of errors

func (*ServerConnection) UsersSet

func (s *ServerConnection) UsersSet(userIds KIdList, details User, domainId KId) (ErrorList, error)

UsersSet - Update users' details

userIds - ids of users to be updated.
details - details for update. Field "kerio::web::KId" is ignored. Only filled details will be stored in users config defined by userIds
domainId - id of domain - users from this domain will be updated

Return

errors - list of errors

func (*ServerConnection) UsersSetMySettings

func (s *ServerConnection) UsersSetMySettings(settings UserSettings) error

UsersSetMySettings - Stores list of user's settings

settings - list of all settings

func (*ServerConnection) VpnClientsGet

func (s *ServerConnection) VpnClientsGet(query SearchQuery, refresh bool) (VpnClientList, int, error)

VpnClientsGet - Returns VPN Clients data

query - filter/sort query
refresh - true in case, that data snapshot have to be refreshed

Return

list - output data
totalItems - all data count

func (*ServerConnection) VpnClientsKill

func (s *ServerConnection) VpnClientsKill(ids KIdList) error

VpnClientsKill - Disconnects clients specified in ids list

ids - IDs list

func (*ServerConnection) WebInterfaceGet

func (s *ServerConnection) WebInterfaceGet() (*WebInterfaceConfig, error)

WebInterfaceGet - Returns actual values for Web Interface and Kerio Clientless SSL-VPN configuration in WebAdmin

func (*ServerConnection) WebInterfaceReset

func (s *ServerConnection) WebInterfaceReset() error

WebInterfaceReset - Discard uploaded images

func (*ServerConnection) WebInterfaceSet

func (s *ServerConnection) WebInterfaceSet(config WebInterfaceConfig, revertTimeout int) error

WebInterfaceSet - Stores configuration

config - structure with settings for webinterface module
revertTimeout - If client doesn't confirm config to this timeout, configuration is reverted (0 - revert disabled)

func (*ServerConnection) WebInterfaceUploadImage

func (s *ServerConnection) WebInterfaceUploadImage(fileId string, isFavicon bool) error

WebInterfaceUploadImage - Uploaded image which will need to be apply/reset

fileId - according to spec 390.
isFavicon - true = the image is favicon, false = the image is product logo

type ServerOs

type ServerOs string
const (
	Windows ServerOs = "Windows"
	Linux   ServerOs = "Linux"
)

type SeverityUnit

type SeverityUnit string

SeverityUnit - Available types of severity

const (
	SeverityEmergency     SeverityUnit = "SeverityEmergency"
	SeverityAlert         SeverityUnit = "SeverityAlert"
	SeverityCritical      SeverityUnit = "SeverityCritical"
	SeverityError         SeverityUnit = "SeverityError"
	SeverityWarning       SeverityUnit = "SeverityWarning"
	SeverityNotice        SeverityUnit = "SeverityNotice"
	SeverityInformational SeverityUnit = "SeverityInformational"
	SeverityDebug         SeverityUnit = "SeverityDebug"
)

type SharedDefinitionInfo

type SharedDefinitionInfo struct {
	Type    SharedDefinitionType `json:"type"`
	Version int                  `json:"version"`
}

SharedDefinitionInfo - @brief bind shared definition type with version

type SharedDefinitionInfoList

type SharedDefinitionInfoList []SharedDefinitionInfo

type SharedDefinitionType

type SharedDefinitionType string

SharedDefinitionType - @brief enumerate types of definitions shared between MyKerio and your appliance

const (
	SharedDefinitionIpAddrGroup SharedDefinitionType = "SharedDefinitionIpAddrGroup"
	SharedDefinitionUrlGroup    SharedDefinitionType = "SharedDefinitionUrlGroup"
	SharedDefinitionTimeRange   SharedDefinitionType = "SharedDefinitionTimeRange"
)

type SignOn

type SignOn struct {
	IsEnabled bool   `json:"isEnabled"`
	HostName  string `json:"hostName"` // Hostname to the Kerio Unity Sign On server. Non default port can be added Eg: example.com:4444
	UserName  string `json:"userName"` // Administrator username
	Password  string `json:"password"` // [WRITE-ONLY] Administrator password
}

type SizeLimit

type SizeLimit struct {
	IsActive bool               `json:"isActive"`
	Limit    ByteValueWithUnits `json:"limit"`
}

SizeLimit - Note: all fields must be assigned if used in set methods

type SmtpRelayConfig

type SmtpRelayConfig struct {
	UseKManager             bool              `json:"useKManager"`
	Server                  string            `json:"server"`
	RequireSecureConnection bool              `json:"requireSecureConnection"`
	AuthenticationRequired  bool              `json:"authenticationRequired"`
	Credentials             CredentialsConfig `json:"credentials"`
	FromAddress             OptionalString    `json:"fromAddress"`
}

type SnmpSettings

type SnmpSettings struct {
	Enabled   bool        `json:"enabled"`
	Location  string      `json:"location"`
	Contact   string      `json:"contact"`
	Version   SnmpVersion `json:"version"`
	Community Password    `json:"community"`
	Username  string      `json:"username"`
	Password  Password    `json:"password"`
}

type SnmpVersion

type SnmpVersion string
const (
	SnmpV2c SnmpVersion = "SnmpV2c"
	SnmpV3  SnmpVersion = "SnmpV3"
)

type SortDirection

type SortDirection string

SortDirection - Sorting Direction

const (
	Asc  SortDirection = "Asc"  // ascending order
	Desc SortDirection = "Desc" // descending order
)

type SortOrder

type SortOrder struct {
	ColumnName    string        `json:"columnName"`
	Direction     SortDirection `json:"direction"`
	CaseSensitive bool          `json:"caseSensitive"`
}

SortOrder - Sorting Order

type SortOrderList

type SortOrderList []SortOrder

SortOrderList - List of Sorting Orders

type SourceCondition

type SourceCondition struct {
	Type     RuleConditionType        `json:"type"`
	Entities SourceConditonEntityList `json:"entities"`
}

type SourceConditonEntity

type SourceConditonEntity struct {
	Type SourceConditonEntityType `json:"type"`
	/*@{ IP address group */
	IpAddressGroup IdReference `json:"ipAddressGroup"`
	/*@}*/
	/*@{ users */
	UserType UserConditionType `json:"userType"` // @see Users.idl, used values: AuthenticatedUsers, SelectedUsers
	User     UserReference     `json:"user"`     // @see UserManager

}

type SourceConditonEntityList

type SourceConditonEntityList []SourceConditonEntity

type SourceConditonEntityType

type SourceConditonEntityType string
const (
	SourceConditonEntityAddressGroup SourceConditonEntityType = "SourceConditonEntityAddressGroup"
	SourceConditonEntityUsers        SourceConditonEntityType = "SourceConditonEntityUsers"
	SourceConditonEntityGuests       SourceConditonEntityType = "SourceConditonEntityGuests"
)

type SourceNatMode

type SourceNatMode string

SourceNatMode - Mode of source address NAT

const (
	NatDefault   SourceNatMode = "NatDefault"
	NatInterface SourceNatMode = "NatInterface"
	NatIpAddress SourceNatMode = "NatIpAddress"
)

type SpeedDuplexMayNotWorkList

type SpeedDuplexMayNotWorkList []SpeedDuplexType

type SpeedDuplexType

type SpeedDuplexType string
const (
	SpeedDuplexAuto     SpeedDuplexType = "SpeedDuplexAuto"
	SpeedDuplexHalf10   SpeedDuplexType = "SpeedDuplexHalf10"
	SpeedDuplexFull10   SpeedDuplexType = "SpeedDuplexFull10"
	SpeedDuplexHalf100  SpeedDuplexType = "SpeedDuplexHalf100"
	SpeedDuplexFull100  SpeedDuplexType = "SpeedDuplexFull100"
	SpeedDuplexFull1000 SpeedDuplexType = "SpeedDuplexFull1000"
)

type SslVpnConfig

type SslVpnConfig struct {
	Enabled     bool        `json:"enabled"`
	Port        int         `json:"port"`
	Certificate IdReference `json:"certificate"`
}

Certificates (Secured Web Interface and SSL-VPN) will be handled by CertificateManager SslVpnConfig - not applicable on Linux

type SslVpnScanningConfig

type SslVpnScanningConfig struct {
	ScanUpload      bool `json:"scanUpload"`
	ScanDownload    bool `json:"scanDownload"`
	AllowNotScanned bool `json:"allowNotScanned"`
}

type StarReport

type StarReport struct {
	Id           KId               `json:"id"`
	Enabled      bool              `json:"enabled"`
	Addressee    Addressee         `json:"addressee"`
	Users        UserReferenceList `json:"users"`
	AllData      bool              `json:"allData"`
	ReportConfig ReportConfig      `json:"reportConfig"`
}

type StarReportList

type StarReportList []StarReport

type StatisticsData

type StatisticsData struct {
	ScreenWidth  int    `json:"screenWidth"`
	ScreenHeight int    `json:"screenHeight"`
	Localization string `json:"localization"`
	LoadTime     int    `json:"loadTime"`
	InitTime     int    `json:"initTime"`
}

type StatusFunction

type StatusFunction struct {
	Id   KId    `json:"id"`
	Name string `json:"name"`
}

type StatusFunctionList

type StatusFunctionList []StatusFunction

type StorageData

type StorageData struct {
	Type StorageDataType `json:"type"`
	Size float64         `json:"size"`
}

type StorageDataList

type StorageDataList []StorageData

type StorageDataType

type StorageDataType string
const (
	StorageDataStar       StorageDataType = "StorageDataStar"
	StorageDataLogs       StorageDataType = "StorageDataLogs"
	StorageDataCrash      StorageDataType = "StorageDataCrash"
	StorageDataPktdump    StorageDataType = "StorageDataPktdump"
	StorageDataUpdate     StorageDataType = "StorageDataUpdate"
	StorageDataQuarantine StorageDataType = "StorageDataQuarantine"
	StorageDataHttpCache  StorageDataType = "StorageDataHttpCache"
)

type StoreStatus

type StoreStatus string

StoreStatus - Status of entry in persistent manager

const (
	StoreStatusClean    StoreStatus = "StoreStatusClean"    // already present in configuration store
	StoreStatusModified StoreStatus = "StoreStatusModified" // update waiting for apply()
	StoreStatusNew      StoreStatus = "StoreStatusNew"      // added to manager but not synced to configuration store
)

type StringList

type StringList []string

StringList - Type for lists of strings.

type SubCondition

type SubCondition struct {
	FieldName  string          `json:"fieldName"`  // left side of condition
	Comparator CompareOperator `json:"comparator"` // middle of condition
	Value      string          `json:"value"`      // right side of condition
}

SubCondition - A Part of a Condition

type SubConditionList

type SubConditionList []SubCondition

SubConditionList - A Complete Condition

type SurveyAnswer

type SurveyAnswer struct {
	QuestionID string `json:"questionID"` // ID of the question
	Answer     string `json:"answer"`     // answer to the question
}

SurveyAnswer - @brief An answer for survey questions

type SurveyAnswerList

type SurveyAnswerList []SurveyAnswer

SurveyAnswerList - @brief a list of answers for survey questions

type SyslogSettings

type SyslogSettings struct {
	Enabled     bool         `json:"enabled"`     // Syslog is [dis|en]abled
	ServerUrl   string       `json:"serverUrl"`   // Path to syslog server
	Facility    FacilityUnit `json:"facility"`    // which facility is message sent from
	Severity    SeverityUnit `json:"severity"`    // read-only; severity level of message
	Application string       `json:"application"` // user defined application name; it is 1*48PRINTUSASCII where PRINTUSASCII = %d33-126.
}

SyslogSettings - syslog settings

type SystemConfiguration

type SystemConfiguration struct {
	Hostname   string         `json:"hostname"`
	NtpServer  OptionalString `json:"ntpServer"`
	TimeZoneId KId            `json:"timeZoneId"`
}

type SystemHealthData

type SystemHealthData struct {
	Cpu         PercentHistogram `json:"cpu"`
	Memory      PercentHistogram `json:"memory"`
	MemoryTotal float64          `json:"memoryTotal"` // memory histogram has to have fixed maximum to this value
	DiskTotal   float64          `json:"diskTotal"`   // total number of bytes on data partition (install dir on windows)
	DiskFree    float64          `json:"diskFree"`
}

type SystemInfo

type SystemInfo struct {
	Files       AdditionalFiles `json:"files"`
	Description string          `json:"description"`
}

type Target

type Target string
const (
	TargetSamepageIo Target = "TargetSamepageIo"
	TargetFtpServer  Target = "TargetFtpServer"
	TargetMyKerio    Target = "TargetMyKerio"
)

type TestResult

type TestResult struct {
	Successful   bool   `json:"successful"`
	ErrorMessage string `json:"errorMessage"`
}

type Time

type Time struct {
	Hour int `json:"hour"` // 0-23
	Min  int `json:"min"`  // 0-59
}

Time - Note: all fields must be assigned if used in set methods

type TimeHMS

type TimeHMS struct {
	Hour int `json:"hour"`
	Min  int `json:"min"`
	Sec  int `json:"sec"`
}

type TimeSpan

type TimeSpan struct {
	IsValid bool `json:"isValid"` // false - time span cannot be computed (no update yet, update is in the future)
	Days    int  `json:"days"`
	Hours   int  `json:"hours"`
	Minutes int  `json:"minutes"`
}

type TimeZoneConfig

type TimeZoneConfig struct {
	Id            KId    `json:"id"`
	Name          string `json:"name"`
	CurrentOffset int    `json:"currentOffset"`
	WinterOffset  int    `json:"winterOffset"`
	SummerOffset  int    `json:"summerOffset"`
}

type TimeZoneConfigList

type TimeZoneConfigList []TimeZoneConfig

type TotpConfig

type TotpConfig struct {
	Required     bool `json:"required"`
	RemoteConfig bool `json:"remoteConfig"`
}

type TotpState

type TotpState string
const (
	TotpDone          TotpState = "TotpDone"
	TotpConfigure     TotpState = "TotpConfigure"
	TotpNotConfigured TotpState = "TotpNotConfigured"
	TotpVerify        TotpState = "TotpVerify"
)

type TrafficCondition

type TrafficCondition struct {
	Type     RuleConditionType `json:"type"`
	Firewall bool              `json:"firewall"`
	Entities TrafficEntityList `json:"entities"`
}

TrafficCondition - Rule's Source or Destination

type TrafficEntity

type TrafficEntity struct {
	Type TrafficEntityType `json:"type"`
	/*@{ host */
	Host string `json:"host"`
	/*@}*/
	/*@{ network, range */
	Addr1 IpAddress `json:"addr1"`
	Addr2 IpAddress `json:"addr2"`
	/*@}*/
	/*@{ IP address group */
	AddressGroup IdReference `json:"addressGroup"`
	/*@}*/
	/*@{ interface */
	InterfaceCondition InterfaceCondition `json:"interfaceCondition"`
	/*@}*/
	/*@{ vpn */
	VpnCondition VpnCondition `json:"vpnCondition"`
	/*@}*/
	/*@{ users */
	UserType UserConditionType `json:"userType"` // @see Users.idl, used values: AuthenticatedUsers, SelectedUsers
	User     UserReference     `json:"user"`     // @see UserManager

}

TrafficEntity - One entity if there is list of entities in rule's Source or Destination

type TrafficEntityList

type TrafficEntityList []TrafficEntity

TrafficEntityList - All entities in rule's Source or Destination

type TrafficEntityType

type TrafficEntityType string

TrafficEntityType - Type of Traffic Entity in TrafficEntityList

const (
	TrafficEntityHost         TrafficEntityType = "TrafficEntityHost"
	TrafficEntityNetwork      TrafficEntityType = "TrafficEntityNetwork"
	TrafficEntityRange        TrafficEntityType = "TrafficEntityRange"
	TrafficEntityAddressGroup TrafficEntityType = "TrafficEntityAddressGroup"
	TrafficEntityPrefix       TrafficEntityType = "TrafficEntityPrefix"
	TrafficEntityInterface    TrafficEntityType = "TrafficEntityInterface"
	TrafficEntityVpn          TrafficEntityType = "TrafficEntityVpn"
	TrafficEntityUsers        TrafficEntityType = "TrafficEntityUsers"
)

type TrafficIpVersion

type TrafficIpVersion string

TrafficIpVersion - IP version

const (
	Ipv4  TrafficIpVersion = "Ipv4"
	Ipv6  TrafficIpVersion = "Ipv6"
	IpAll TrafficIpVersion = "IpAll"
)

type TrafficPolicyFilter

type TrafficPolicyFilter struct {
	SourceIp      IpAddress `json:"sourceIp"`
	DestinationIp IpAddress `json:"destinationIp"`
	Port          int       `json:"port"`
}

type TrafficRule

type TrafficRule struct {
	Id KId `json:"id"`
	/*@{ name */
	Enabled     bool   `json:"enabled"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Color       string `json:"color"`
	/*@{ rule Sourc, Destination */
	Source      TrafficCondition `json:"source"`
	Destination TrafficCondition `json:"destination"`
	/*@{ service */
	Service TrafficService `json:"service"`
	/*@{ IP verison */
	IpVersion TrafficIpVersion `json:"ipVersion"`
	/*@{ action */
	Action       RuleAction   `json:"action"` // @see common; possible values: allow, deny, drop
	LogEnabled   LogEnabled   `json:"logEnabled"`
	GraphEnabled bool         `json:"graphEnabled"`
	Dscp         OptionalLong `json:"dscp"`
	/*@{ NAT IP version */
	NatIpv4Only bool `json:"natIpv4Only"`
	/*@{ source NAT */
	EnableSourceNat        bool          `json:"enableSourceNat"`
	NatMode                SourceNatMode `json:"natMode"`
	AllowReverseConnection bool          `json:"allowReverseConnection"`
	/*@{ properties of NatDefault */
	Balancing NatBalancing `json:"balancing"`
	/*@{ properties of NatInterface */
	NatInterface  IdReference `json:"natInterface"`
	AllowFailover bool        `json:"allowFailover"`
	/*@{ properties of NatIpAddress */
	IpAddress   string `json:"ipAddress"`
	Ipv6Address string `json:"ipv6Address"`
	/*@{ destination NAT */
	EnableDestinationNat bool         `json:"enableDestinationNat"`
	TranslatedHost       string       `json:"translatedHost"`
	TranslatedIpv6Host   string       `json:"translatedIpv6Host"`
	TranslatedPort       OptionalLong `json:"translatedPort"`
	/*@{ valid time */
	ValidTimeRange IdReference `json:"validTimeRange"`
	/*@{ protocol inspector */
	Inspector string   `json:"inspector"` // name of Protocol Inspector, @see InspectorManager + values: default, none
	LastUsed  TimeSpan `json:"lastUsed"`  // last time when connection matched, read-only
}

TrafficRule - One traffic policy rule

type TrafficRuleList

type TrafficRuleList []TrafficRule

TrafficRuleList - All traffic policy rules

type TrafficService

type TrafficService struct {
	Type    RuleConditionType        `json:"type"`
	Entries TrafficServiceEntityList `json:"entries"`
}

TrafficService - Rule's Services properties

type TrafficServiceEntity

type TrafficServiceEntity struct {
	DefinedService bool               `json:"definedService"`
	Service        IpServiceReference `json:"service"`
	Protocol       int                `json:"protocol"` // TCP - 6, UDP - 17 @see IpServiceManager
	Port           PortCondition      `json:"port"`
}

TrafficServiceEntity - One service if there is list of services

type TrafficServiceEntityList

type TrafficServiceEntityList []TrafficServiceEntity

TrafficServiceEntityList - List of services

type TrafficStatistic

type TrafficStatistic struct {
	Id            KId                   `json:"id"`
	Name          string                `json:"name"`
	Type          TrafficStatisticsType `json:"type"`
	ComponentId   KId                   `json:"componentId"`
	InterfaceType InterfaceType         `json:"interfaceType"`
	Data          DataStatistic         `json:"data"`
}

type TrafficStatisticList

type TrafficStatisticList []TrafficStatistic

type TrafficStatisticsType

type TrafficStatisticsType string
const (
	TrafficStatisticsInterface     TrafficStatisticsType = "TrafficStatisticsInterface"
	TrafficStatisticsTrafficRule   TrafficStatisticsType = "TrafficStatisticsTrafficRule"
	TrafficStatisticsBandwidthRule TrafficStatisticsType = "TrafficStatisticsBandwidthRule"
)

type TreeLeaf

type TreeLeaf struct {
	Id          int    `json:"id"`          // leaf identification
	ParentName  string `json:"parentName"`  // name of the group
	Description string `json:"description"` // text after checkbox
	Enabled     bool   `json:"enabled"`     // leaf is [not] enabled
}

TreeLeaf - Leaf item of the tree

type TreeLeafList

type TreeLeafList []TreeLeaf

TreeLeafList - sequence of leaves

type UpdateCheckerConfig

type UpdateCheckerConfig struct {
	Enabled             bool                `json:"enabled"`
	BetaVersion         bool                `json:"betaVersion"`
	Download            bool                `json:"download"`
	AutoUpdateTimeRange OptionalIdReference `json:"autoUpdateTimeRange"`
}

type UpdateCheckerInfo

type UpdateCheckerInfo struct {
	Status             UpdateStatus `json:"status"`
	NewVersion         bool         `json:"newVersion"`
	LastCheckTime      int          `json:"lastCheckTime"`
	LastUpdateCheck    TimeSpan     `json:"lastUpdateCheck"`
	PackageCode        string       `json:"packageCode"`
	Description        string       `json:"description"`
	DownloadUrl        string       `json:"downloadUrl"`
	InfoUrl            string       `json:"infoUrl"`
	UpdateErrorDescr   string       `json:"updateErrorDescr"`
	AutoUpdatePlanned  bool         `json:"autoUpdatePlanned"`
	AutoUpdateDateTime string       `json:"autoUpdateDateTime"`
}

type UpdateStatus

type UpdateStatus string
const (
	UpdateStatusOk          UpdateStatus = "UpdateStatusOk"
	UpdateStatusChecking    UpdateStatus = "UpdateStatusChecking"
	UpdateStatusCheckFailed UpdateStatus = "UpdateStatusCheckFailed"
	/* States only for Linux version */
	UpdateStatusDownloadOk     UpdateStatus = "UpdateStatusDownloadOk"
	UpdateStatusDownloading    UpdateStatus = "UpdateStatusDownloading"
	UpdateStatusDownloadFailed UpdateStatus = "UpdateStatusDownloadFailed"
	UpdateStatusUpgrading      UpdateStatus = "UpdateStatusUpgrading"
	UpdateStatusUpgradeFailed  UpdateStatus = "UpdateStatusUpgradeFailed"
)

type UpnpConfig

type UpnpConfig struct {
	Enabled        bool `json:"enabled"`
	LogPackets     bool `json:"logPackets"`
	LogConnections bool `json:"logConnections"`
}

type UrlEntry

type UrlEntry struct {
	Id          KId          `json:"id"`
	GroupId     KId          `json:"groupId"`
	SharedId    KId          `json:"sharedId"` // read-only; filled when the item is shared in MyKerio
	GroupName   string       `json:"groupName"`
	Description string       `json:"description"`
	Type        UrlEntryType `json:"type"`
	Enabled     bool         `json:"enabled"`
	Status      StoreStatus  `json:"status"`
	/*@{ url */
	Url     string `json:"url"`
	IsRegex bool   `json:"isRegex"`
	/*@}*/
	/*@{ group */
	ChildGroupId   KId    `json:"childGroupId"`
	ChildGroupName string `json:"childGroupName"`
}

type UrlEntryList

type UrlEntryList []UrlEntry

type UrlEntryType

type UrlEntryType string
const (
	Url           UrlEntryType = "Url"
	UrlChildGroup UrlEntryType = "UrlChildGroup"
)

type UrlFilterConfig

type UrlFilterConfig struct {
	WhiteList                    UrlWhiteList    `json:"whiteList"`
	Status                       UrlFilterStatus `json:"status"`
	ActivationErrorDescr         string          `json:"activationErrorDescr"`
	Enabled                      bool            `json:"enabled"`
	StatisticsEnabled            bool            `json:"statisticsEnabled"`
	AllowMiscategorizedReporting bool            `json:"allowMiscategorizedReporting"`
	AppidEnabled                 bool            `json:"appidEnabled"`
}

type UrlFilterStatus

type UrlFilterStatus string
const (
	UrlFilterNotLicensed  UrlFilterStatus = "UrlFilterNotLicensed"  // Whole tab disabled (there is feature section in OUR license file (or Control run in trial))
	UrlFilterNotActivated UrlFilterStatus = "UrlFilterNotActivated" // licensed, but ticket not accepted (activated) by filter
	UrlFilterActivating   UrlFilterStatus = "UrlFilterActivating"   // licensed, but ticket activation in progress
	UrlFilterActivated    UrlFilterStatus = "UrlFilterActivated"    // licensed and ticket accepted (activated) by filter
)

type UrlGroup

type UrlGroup struct {
	Id   KId    `json:"id"`
	Name string `json:"name"`
}

type UrlGroupList

type UrlGroupList []UrlGroup

type UrlSpecificTtl

type UrlSpecificTtl struct {
	Ttl         int    `json:"ttl"` // in hours
	Url         string `json:"url"`
	Description string `json:"description"`
}

type UrlSpecificTtlList

type UrlSpecificTtlList []UrlSpecificTtl

type UrlWhiteList

type UrlWhiteList []UrlWhiteListEntry

type UrlWhiteListEntry

type UrlWhiteListEntry struct {
	Url         string `json:"url"`
	Description string `json:"description"`
}

UrlWhiteListEntry - Web Filter configuration

type User

type User struct {
	Id                KId               `json:"id"`
	Credentials       CredentialsConfig `json:"credentials"`
	FullName          string            `json:"fullName"`
	Description       string            `json:"description"`
	Email             string            `json:"email"`
	AuthType          AuthType          `json:"authType"`
	LocalEnabled      bool              `json:"localEnabled"`
	AdEnabled         bool              `json:"adEnabled"`
	UseTemplate       bool              `json:"useTemplate"`
	Data              UserData          `json:"data"`
	AutoLogin         AutoLogin         `json:"autoLogin"`
	VpnAddress        OptionalIpAddress `json:"vpnAddress"`
	Groups            UserReferenceList `json:"groups"`
	ConflictWithLocal bool              `json:"conflictWithLocal"`
	TotpConfigured    bool              `json:"totpConfigured"`
}

type UserCondition

type UserCondition struct {
	Type  UserConditionType `json:"type"`
	Users UserReferenceList `json:"users"`
}

type UserConditionType

type UserConditionType string
const (
	AnyUser            UserConditionType = "AnyUser"
	AuthenticatedUsers UserConditionType = "AuthenticatedUsers"
	UnrecognizedUsers  UserConditionType = "UnrecognizedUsers"
	SelectedUsers      UserConditionType = "SelectedUsers"
	Nobody             UserConditionType = "Nobody"
)

type UserData

type UserData struct {
	Rights    UserRights `json:"rights"`
	Quota     Quota      `json:"quota"`
	WwwFilter WwwFilter  `json:"wwwFilter"`
	Language  string     `json:"language"`
}

UserData - common user data, used in domain template

type UserFormatType

type UserFormatType string
const (
	UserFormatFL  UserFormatType = "UserFormatFL"
	UserFormatFLU UserFormatType = "UserFormatFLU"
	UserFormatFLD UserFormatType = "UserFormatFLD"
	UserFormatLF  UserFormatType = "UserFormatLF"
	UserFormatLFU UserFormatType = "UserFormatLFU"
	UserFormatLFD UserFormatType = "UserFormatLFD"
)

type UserGroup

type UserGroup struct {
	Id          KId               `json:"id"`
	Name        string            `json:"name"`
	Description string            `json:"description"`
	Rights      UserRights        `json:"rights"`
	Members     UserReferenceList `json:"members"`
}

type UserGroupList

type UserGroupList []UserGroup

type UserInfo

type UserInfo struct {
	Name  string `json:"name"`
	Email string `json:"email"`
}

UserInfo - A contact to user

type UserList

type UserList []User

type UserReference

type UserReference struct {
	Id         KId    `json:"id"`
	Name       string `json:"name"`
	IsGroup    bool   `json:"isGroup"`
	DomainName string `json:"domainName"`
}

UserReference - user or group reference, used as "member of group" in user, "have member" in group and in various policies

type UserReferenceList

type UserReferenceList []UserReference

type UserRights

type UserRights struct {
	ReadConfig        bool `json:"readConfig"`
	WriteConfig       bool `json:"writeConfig"`
	OverrideWwwFilter bool `json:"overrideWwwFilter"`
	UnlockRule        bool `json:"unlockRule"`
	DialRasConnection bool `json:"dialRasConnection"`
	ConnectVpn        bool `json:"connectVpn"`
	ConnectSslVpn     bool `json:"connectSslVpn"`
	UseP2p            bool `json:"useP2p"`
}

type UserRoleList

type UserRoleList []UserRoleType

type UserRoleType

type UserRoleType string

UserRoleType - read right, he can't create session, so there is no "none" in the enum

const (
	Auditor   UserRoleType = "Auditor"
	FullAdmin UserRoleType = "FullAdmin"
)

type UserSettings

type UserSettings struct {
	CalculatedLanguage string        `json:"calculatedLanguage"`
	Language           string        `json:"language"`
	DetectedLanguage   string        `json:"detectedLanguage"`
	Roles              UserRoleList  `json:"roles"`
	User               UserReference `json:"user"`
	FullName           string        `json:"fullName"`
	Email              string        `json:"email"`
}

type UserStatistic

type UserStatistic struct {
	Id       KId               `json:"id"`
	UserName string            `json:"userName"`
	Type     UserStatisticType `json:"type"`
	FullName string            `json:"fullName"`
	Quota    int               `json:"quota"`
	Data     DataStatistic     `json:"data"`
}

type UserStatisticList

type UserStatisticList []UserStatistic

type UserStatisticType

type UserStatisticType string
const (
	UserStatisticAll   UserStatisticType = "UserStatisticAll"
	UserStatisticUser  UserStatisticType = "UserStatisticUser"
	UserStatisticOther UserStatisticType = "UserStatisticOther"
	UserStatisticGuest UserStatisticType = "UserStatisticGuest"
)

type UserVoiceSettings

type UserVoiceSettings struct {
	Name  string `json:"name"`
	Email string `json:"email"`
}

UserVoiceSettings - Settings of UserVoice

type ValidPeriod

type ValidPeriod struct {
	ValidFromDate Date      `json:"validFromDate"` // @see SharedStructures.idl shared in lib
	ValidFromTime Time      `json:"validFromTime"` // @see SharedStructures.idl shared in lib
	ValidToDate   Date      `json:"validToDate"`   // @see SharedStructures.idl shared in lib
	ValidToTime   Time      `json:"validToTime"`   // @see SharedStructures.idl shared in lib
	ValidType     ValidType `json:"validType"`
}

ValidPeriod - Certificate Time properties

type ValidType

type ValidType string

ValidType - Certificate Time properties info

const (
	Valid       ValidType = "Valid"
	NotValidYet ValidType = "NotValidYet"
	ExpireSoon  ValidType = "ExpireSoon"
	Expired     ValidType = "Expired"
)

type VpnClientInfo

type VpnClientInfo struct {
	Id        KId            `json:"id"`
	Type      VpnType        `json:"type"`
	UserName  string         `json:"userName"`
	HostName  string         `json:"hostName"`
	Ip        IpAddress      `json:"ip"`
	ClientIp  IpAddress      `json:"clientIp"`
	State     VpnClientState `json:"state"`
	LoginTime int            `json:"loginTime"`
	Version   string         `json:"version"`
	OsCode    OsCodeType     `json:"osCode"`
	OsName    string         `json:"osName"`
}

type VpnClientList

type VpnClientList []VpnClientInfo

type VpnClientState

type VpnClientState string
const (
	VpnClientConnecting     VpnClientState = "VpnClientConnecting"
	VpnClientAuthenticating VpnClientState = "VpnClientAuthenticating"
	VpnClientAuthenticated  VpnClientState = "VpnClientAuthenticated"
	VpnClientConnected      VpnClientState = "VpnClientConnected"
	VpnClientOther          VpnClientState = "VpnClientOther"
)

type VpnCondition

type VpnCondition struct {
	Type    VpnConditionType `json:"type"`
	Tunnel  IdReference      `json:"tunnel"`  // invalid - tunnel is no more in the configuration (nothing)
	Enabled bool             `json:"enabled"` // tunnel is present, but disabled/down
}

VpnCondition - One VPN in rule

type VpnConditionType

type VpnConditionType string

VpnConditionType - Type of VPN in rule

const (
	IncomingClient VpnConditionType = "IncomingClient"
	SelectedTunnel VpnConditionType = "SelectedTunnel"
	AllTunnels     VpnConditionType = "AllTunnels"
)

type VpnRoute

type VpnRoute struct {
	Id          KId       `json:"id"`
	Enabled     bool      `json:"enabled"`
	Description string    `json:"description"`
	Network     IpAddress `json:"network"`
	Mask        IpAddress `json:"mask"`
}

type VpnRouteList

type VpnRouteList []VpnRoute

type VpnServerConfig

type VpnServerConfig struct {
	/*@{ Kerio VPN */
	KerioVpnEnabled     bool        `json:"kerioVpnEnabled"`
	KerioVpnCertificate IdReference `json:"kerioVpnCertificate"`
	Port                int         `json:"port"`
	DefaultRoute        bool        `json:"defaultRoute"`
	/*@}*/
	/*@{ IPsec VPN */
	IpsecVpnEnabled     bool           `json:"ipsecVpnEnabled"`
	Mschapv2Enabled     bool           `json:"mschapv2Enabled"`
	IpsecVpnCertificate IdReference    `json:"ipsecVpnCertificate"`
	CipherIke           string         `json:"cipherIke"` // read-only
	CipherEsp           string         `json:"cipherEsp"` // read-only
	UseCertificate      bool           `json:"useCertificate"`
	Psk                 OptionalString `json:"psk"`
	/*@}*/
	Routes                 VpnRouteList `json:"routes"`
	Network                IpAddress    `json:"network"`
	Mask                   IpAddress    `json:"mask"`
	LocalDns               bool         `json:"localDns"`
	PrimaryDns             IpAddress    `json:"primaryDns"`
	SecondaryDns           IpAddress    `json:"secondaryDns"`
	AutodetectDomainSuffix bool         `json:"autodetectDomainSuffix"`
	DomainSuffix           string       `json:"domainSuffix"`
	LocalWins              bool         `json:"localWins"`
	PrimaryWins            IpAddress    `json:"primaryWins"`
	SecondaryWins          IpAddress    `json:"secondaryWins"`
}

type VpnTunnelConfig

type VpnTunnelConfig struct {
	Type         VpnType        `json:"type"`
	Peer         OptionalString `json:"peer"`        // hostname or ip, passive if disabled
	LocalRoutes  VpnRouteList   `json:"localRoutes"` // IPsec only
	RemoteRoutes VpnRouteList   `json:"remoteRoutes"`
	/*@{ Kerio VPN */
	RemoteFingerprint        string `json:"remoteFingerprint"`
	UseRemoteAutomaticRoutes bool   `json:"useRemoteAutomaticRoutes"`
	UseRemoteCustomRoutes    bool   `json:"useRemoteCustomRoutes"`
	/*@}*/
	/*@{ IPsec VPN */
	Psk                     OptionalString `json:"psk"`         // use certificate if disabled
	Certificate             IdReference    `json:"certificate"` // empty ID for "Remote certificate"
	CipherIke               string         `json:"cipherIke"`   // read-only
	CipherEsp               string         `json:"cipherEsp"`   // read-only
	LocalIdValue            string         `json:"localIdValue"`
	RemoteIdValue           string         `json:"remoteIdValue"`
	UseLocalAutomaticRoutes bool           `json:"useLocalAutomaticRoutes"`
	UseLocalCustomRoutes    bool           `json:"useLocalCustomRoutes"`
}

type VpnType

type VpnType string
const (
	VpnKerio VpnType = "VpnKerio"
	VpnIpsec VpnType = "VpnIpsec"
)

type WanInterfaceConfig

type WanInterfaceConfig struct {
	Id                  KId                `json:"id"` // not used on Box
	Encap               InterfaceEncapType `json:"encap"`
	Mode                InterfaceModeType  `json:"mode"`
	Ip                  IpAddress          `json:"ip"`
	SubnetMask          IpAddress          `json:"subnetMask"`
	GatewayAutodetected bool               `json:"gatewayAutodetected"`
	Gateway             IpAddress          `json:"gateway"`
	DnsAutodetected     bool               `json:"dnsAutodetected"`
	DnsServers          string             `json:"dnsServers"`          // ipaddr;ipaddr
	LoadBalancingWeight OptionalLong       `json:"loadBalancingWeight"` // balancing
	Credentials         CredentialsConfig  `json:"credentials"`         // for Pppoe mode
}

type WanInterfaceConfigList

type WanInterfaceConfigList []WanInterfaceConfig

type WarningInfo

type WarningInfo struct {
	Type         WarningType `json:"type"`
	Suppressable bool        `json:"suppressable"`
	Property     string      `json:"property"`
}

type WarningInfoList

type WarningInfoList []WarningInfo

type WarningType

type WarningType string
const (
	WarnBetaVersion           WarningType = "WarnBetaVersion"
	WarnUpdateFailed          WarningType = "WarnUpdateFailed"
	WarnConfigurationReverted WarningType = "WarnConfigurationReverted"
)

type WarningTypeList

type WarningTypeList []WarningType

type WebInterfaceConfig

type WebInterfaceConfig struct {
	UseSsl           bool            `json:"useSsl"`
	SslConfig        SslVpnConfig    `json:"sslConfig"`
	Hostname         OptionalString  `json:"hostname"`
	DetectedHostname string          `json:"detectedHostname"`
	AdminPath        string          `json:"adminPath"`
	Port             int             `json:"port"`
	SslPort          int             `json:"sslPort"`
	Certificate      IdReference     `json:"certificate"`
	CustomizedBrand  CustomizedBrand `json:"customizedBrand"`
}

type WwwFilter

type WwwFilter struct {
	JavaApplet  bool `json:"javaApplet"`
	EmbedObject bool `json:"embedObject"`
	Script      bool `json:"script"`
	Popup       bool `json:"popup"`
	Referer     bool `json:"referer"`
}

type ZeroConfigItem

type ZeroConfigItem struct {
	Type ZeroConfigItemType `json:"type"`
	Item IdReference        `json:"item"`
}

ZeroConfigItem - One VPN in rule

type ZeroConfigItemType

type ZeroConfigItemType string

ZeroConfigItemType - Zero-config network

const (
	ZeroConfigVpnClients ZeroConfigItemType = "ZeroConfigVpnClients"
	ZeroConfigVpnTunnel  ZeroConfigItemType = "ZeroConfigVpnTunnel"
	ZeroConfigInterface  ZeroConfigItemType = "ZeroConfigInterface"
)

type ZeroConfigList

type ZeroConfigList []ZeroConfigItem

type ZeroConfigNetwork

type ZeroConfigNetwork struct {
	Enabled bool           `json:"enabled"`
	Items   ZeroConfigList `json:"items"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL