connect

package module
v0.2.5 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 Connect API

Go Reference

Overview

Client for Kerio API Connect (JSON-RPC 2.0)

Implemented all Administration API for Kerio Connect methods

Installation

go get github.com/igiant/connect

Example

package main

import (
	"fmt"
	"log"

	"github.com/igiant/connect"
)

func main() {
	config := connect.NewConfig("server_addr")
	conn, err := config.NewConnection()
	if err != nil {
		log.Fatal(err)
	}
	app := &connect.Application{
		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.ServerGetProductInfo()
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf(
		"ProductName: %s\nVersion: %s\nOsName: %s\n",
		info.ProductName,
		info.Version,
		info.OsName,
	)
}

Documentation

RoadMap

  • Add tests and search errors

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ABExtension added in v0.1.2

type ABExtension struct {
	GroupId string `json:"groupId"`
	Label   string `json:"label"`
}

ABExtension - Extension of Apple Address Book

type AboutInfo added in v0.2.0

type AboutInfo struct {
	CurrentUsers    int              `json:"currentUsers"`    // number of created users on domain
	AllowedUsers    MaximumUsers     `json:"allowedUsers"`    // number of allowed users, take stricter limit from max. number for domain, max. number by license
	ServerSoftware  string           `json:"serverSoftware"`  // product name and version string, same as SERVER_SOFTWARE
	Subscription    SubscriptionInfo `json:"subscription"`    // information about subscription
	Copyright       string           `json:"copyright"`       // copyright string
	ProductHomepage string           `json:"productHomepage"` // url to homepage of product
}

AboutInfo - About information

type AccessPolicyConnectionRule added in v0.1.2

type AccessPolicyConnectionRule struct {
	Type    AccessPolicyConnectionRuleType `json:"type"`    // type of rule
	GroupId KId                            `json:"groupId"` // if type of rule is 'ServiceIpAllowed/Denied' there is ID of IP Group
}

type AccessPolicyConnectionRuleType added in v0.1.2

type AccessPolicyConnectionRuleType string
const (
	ServiceAllowed   AccessPolicyConnectionRuleType = "ServiceAllowed"   // service is allowed
	ServiceDenied    AccessPolicyConnectionRuleType = "ServiceDenied"    // service is forbidden
	ServiceIpAllowed AccessPolicyConnectionRuleType = "ServiceIpAllowed" // service is allowed for specific IP group
	ServiceIpDenied  AccessPolicyConnectionRuleType = "ServiceIpDenied"  // service is forbidden for specific IP group
)

type AccessPolicyGroup added in v0.1.2

type AccessPolicyGroup struct {
	Id        KId    `json:"id"`        // [READ-ONLY] [REQUIRED FOR SET] global identification
	Name      string `json:"name"`      // name of policy
	IsDefault bool   `json:"isDefault"` // [READ-ONLY]
}

AccessPolicyGroup - Access policy group details.

type AccessPolicyGroupList added in v0.1.2

type AccessPolicyGroupList []AccessPolicyGroup

AccessPolicyGroupList - List of AccessPolicy.

type AccessPolicyRule added in v0.1.2

type AccessPolicyRule struct {
	Id      KId                        `json:"id"`      // [READ-ONLY] [REQUIRED FOR SET] global identification
	GroupId KId                        `json:"groupId"` // [REQUIRED FOR CREATE] global identification of AccessPolicyGroup
	Service ServiceType                `json:"service"` // type of service
	Rule    AccessPolicyConnectionRule `json:"rule"`    // rule for connections
}

AccessPolicyRule - Access policy rule details.

type AccessPolicyRuleList added in v0.1.2

type AccessPolicyRuleList []AccessPolicyRule

AccessPolicyRuleList - List of AccessPolicyRule.

type ActionAfterDays added in v0.1.0

type ActionAfterDays struct {
	IsEnabled bool `json:"isEnabled"` // is action on/off?
	Days      int  `json:"days"`      // after how many days is an action performed?
}

Message clean out setting Note: all fields must be assigned if used in set methods

type AddResult added in v0.1.2

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 added in v0.1.2

type AddResultList []AddResult

AddResultList - list of add operation results

type AdditionalFiles added in v0.2.0

type AdditionalFiles []string

AdditionalFiles - List of files attached to the ticket

type AdditionalInfo added in v0.1.2

type AdditionalInfo struct {
	IsEnabled bool   `json:"isEnabled"` // Is used
	Text      string `json:"text"`
}

type AddressType added in v0.2.0

type AddressType string
const (
	AllAddresses  AddressType = "AllAddresses"  // all IP addresses for this machine
	Localhost     AddressType = "Localhost"     // localhost - special case
	RealIpAddress AddressType = "RealIpAddress" // a specific address of this machine
)

type Administration

type Administration struct {
	IsEnabled                   bool   `json:"isEnabled"`                   // administration from other that local machine is enabled/disabled
	IsLimited                   bool   `json:"isLimited"`                   // administration is limited
	GroupId                     KId    `json:"groupId"`                     // IP Address Group identifier on which is limit applied
	GroupName                   string `json:"groupName"`                   // [READ-ONLY] IP Address Group name on which is limit applied
	BuiltInAdminEnabled         bool   `json:"builtInAdminEnabled"`         // if is enabled field builtInAdminPassword is required
	BuiltInAdminUsername        string `json:"builtInAdminUsername"`        // [READ-ONLY] user name
	BuiltInAdminPassword        string `json:"builtInAdminPassword"`        // password
	BuiltInAdminPasswordIsEmpty bool   `json:"builtInAdminPasswordIsEmpty"` // [READ-ONLY] password is empty
	BuiltInAdminUsernameCollide bool   `json:"builtInAdminUsernameCollide"` // [READ-ONLY] username colide with user in primary domain
}

Administration - Note: isEnabled, isLimited and groupId fields must be assigned if any of them is used in set methods

type AdvancedOptionsSetting added in v0.1.2

type AdvancedOptionsSetting struct {
	Miscellaneous        MiscellaneousOptions        `json:"miscellaneous"`
	StoreDirectory       StoreDirectoryOptions       `json:"storeDirectory"`
	MasterAuthentication MasterAuthenticationOptions `json:"masterAuthentication"`
	HttpProxy            HttpProxyOptions            `json:"httpProxy"`
	UpdateChecker        UpdateCheckerOptions        `json:"updateChecker"`
	WebMail              WebMailOptions              `json:"webMail"`
	UserQuota            UserQuota                   `json:"userQuota"`
	Fulltext             FulltextSetting             `json:"fulltext"`
	KoffOptions          KoffOptions                 `json:"koffOptions"`
	OperatorOptions      OperatorOptions             `json:"operatorOptions"`
}

type Alert added in v0.2.0

type Alert struct {
	AlertName     AlertName `json:"alertName"`     // Alert Id
	AlertType     TypeAlert `json:"alertType"`     // Alert type
	CurrentValue  string    `json:"currentValue"`  // Current Value
	CriticalValue string    `json:"criticalValue"` // Critical Value
}

Alert - Alert

type AlertList added in v0.2.0

type AlertList []Alert

type AlertName added in v0.2.0

type AlertName string

AlertName - Type of Alert

const (
	LicenseExpired                AlertName = "LicenseExpired"                // License has expired
	LicenseInvalidMinVersion      AlertName = "LicenseInvalidMinVersion"      // Invalid minimal version of a product found
	LicenseInvalidEdition         AlertName = "LicenseInvalidEdition"         // The license was not issued for this edition of the product
	LicenseInvalidUser            AlertName = "LicenseInvalidUser"            // The license was not issued for this user
	LicenseInvalidDomain          AlertName = "LicenseInvalidDomain"          // The license was not issued for this domain
	LicenseInvalidOS              AlertName = "LicenseInvalidOS"              // The license was not issued for this operating system
	LicenseCheckForwardingEnabled AlertName = "LicenseCheckForwardingEnabled" // The license was not alowed forward the message to another host
	LicenseTooManyUsers           AlertName = "LicenseTooManyUsers"           // More users try login to their mailboxes then allowed License.
	StorageSpaceLow               AlertName = "StorageSpaceLow"               // Low space in storage
	SubscriptionExpired           AlertName = "SubscriptionExpired"           // Subscription has expired
	SubscriptionSoonExpire        AlertName = "SubscriptionSoonExpire"        // Subscription soon expire
	LicenseSoonExpire             AlertName = "LicenseSoonExpire"             // License soon expire
	CoredumpFound                 AlertName = "CoredumpFound"                 // Some coredump was found after crash
	MacOSServicesKeepsPorts       AlertName = "MacOSServicesKeepsPorts"       // Apache on Lion server keeps ports (Eg. port 443), which are assigned to our services. See Services.stopMacOSServices()
	RemoteUpgradeFailed           AlertName = "RemoteUpgradeFailed"           // Remote server upgrade failed
	RemoteUpgradeSucceeded        AlertName = "RemoteUpgradeSucceeded"        // Remote server upgrade succeeded
)

type Alias added in v0.0.3

type Alias struct {
	Id          KId        `json:"id"`          // global identification of alias
	DomainId    KId        `json:"domainId"`    // [REQUIRED FOR CREATE] identification in which domain alias exists
	Name        string     `json:"name"`        // [REQUIRED FOR CREATE] [USED BY QUICKSEARCH] left side of alias
	DeliverToId KId        `json:"deliverToId"` // empty if email or contains public folder kid
	DeliverTo   string     `json:"deliverTo"`   // [REQUIRED FOR CREATE] [USED BY QUICKSEARCH] email address or public folder name
	Type        AliasType  `json:"type"`        // type of the alias
	Description string     `json:"description"` // description
	HomeServer  HomeServer `json:"homeServer"`  // [READ-ONLY] Id of alias homeserver if server is in Cluster
}

Alias - Alias details

type AliasList added in v0.0.3

type AliasList []Alias

AliasList - List of aliases

type AliasTarget added in v0.0.3

type AliasTarget struct {
	Id           KId             `json:"id"`           // unique identifier
	Type         AliasTargetType `json:"type"`         // item type discriminator
	Name         string          `json:"name"`         // loginName for the User, name in square brackets for the Group
	FullName     string          `json:"fullName"`     // fullname for the User, empty string for the Group
	Description  string          `json:"description"`  // description of User/Group
	IsEnabled    bool            `json:"isEnabled"`    // is the User/Group enabled?
	ItemSource   DataSource      `json:"itemSource"`   // is the User/Group stored internally or by LDAP?
	EmailAddress string          `json:"emailAddress"` // first email address
	HomeServer   HomeServer      `json:"homeServer"`   // id of users homeserver if server is in Cluster; groups haven't homeserver
}

AliasTarget - Alias target can be a user or group

type AliasTargetList added in v0.0.3

type AliasTargetList []AliasTarget

AliasTargetList - List of alias targets

type AliasTargetType added in v0.2.0

type AliasTargetType string

AliasTargetType - Alias Target discriminator

const (
	TypeUser  AliasTargetType = "TypeUser"  // user
	TypeGroup AliasTargetType = "TypeGroup" // group
)

type AliasType added in v0.2.0

type AliasType string

AliasType - Alias type definition

const (
	TypePublicFolder AliasType = "TypePublicFolder" // messages are delivered to public folder
	TypeEmailAddress AliasType = "TypeEmailAddress" // messages are delivered to email account
)

type AntiHammeringOptions added in v0.2.0

type AntiHammeringOptions struct {
	IsEnabled           bool           `json:"isEnabled"`           // Enable/disable Anti-Hammering
	FailedLoginsToBlock int            `json:"failedLoginsToBlock"` // Count of failed logins within minute to start blocking
	MinutesToBlock      int            `json:"minutesToBlock"`      // Minutes to keep blocking IP
	ExceptionIpGroup    OptionalEntity `json:"exceptionIpGroup"`    // switchable custom white list IP group
}

type AntiSpamSetting added in v0.2.0

type AntiSpamSetting struct {
	IsRatingEnabled           bool                     `json:"isRatingEnabled"`      // is spam filter rating enabled?
	IsRatingRelayEnabled      bool                     `json:"isRatingRelayEnabled"` // is rating of messages sent from trustworthy relay agents enabled?
	TagScore                  int                      `json:"tagScore"`
	BlockScore                int                      `json:"blockScore"`
	SubjectPrefix             OptionalString           `json:"subjectPrefix"`           // SPAM is marked with this prefix
	SendBounce                bool                     `json:"sendBounce"`              // send bounce message to the sender of SPAM?
	QuarantineAddress         OptionalString           `json:"quarantineAddress"`       // forward SPAM to a Quarantine address?
	CustomWhiteList           OptionalEntity           `json:"customWhiteList"`         // switchable custom white list IP group
	CustomBlackList           BlackListSetting         `json:"customBlackList"`         // switchable custom blacklist list IP group
	SendBounceCustom          bool                     `json:"sendBounceCustom"`        // send bounce message to the sender if rejection was done by custom rule(s)?
	QuarantineAddressCustom   OptionalString           `json:"quarantineAddressCustom"` // forward custom rules identified SPAM to a Quarantine address?
	UseSurbl                  bool                     `json:"useSurbl"`                // use Spam URI Realtime Block List database?
	FilterStatus              BayesState               `json:"filterStatus"`            // read only: Bayesian filter status
	LearnedAsSpam             int                      `json:"learnedAsSpam"`           // read only: number of messages that Bayesian filter learned as Spam
	LearnedAsNotSpam          int                      `json:"learnedAsNotSpam"`        // read only: number of messages that Bayesian filter learned as NOT a Spam
	IsCustomSigningKey        bool                     `json:"isCustomSigningKey"`      // Custom signing key is used for DKIM validation
	CallerSetting             CallerId                 `json:"callerSetting"`           // Caller ID setting
	CallerUrl                 string                   `json:"callerUrl"`               // read only: Caller ID URL with detailed info
	SpfSetting                Spf                      `json:"spfSetting"`              // Sender Policy Framework setting
	RepellentSetting          Repellent                `json:"repellentSetting"`
	GreylistingStatus         Greylisting              `json:"greylistingStatus"`
	UseCustomRulesInSmtp      bool                     `json:"useCustomRulesInSmtp"`      //
	IntegratedAntiSpamSetting IntegratedAntiSpamEngine `json:"integratedAntiSpamSetting"` // Kerio Anti-Spam
}

type AntibombingStats added in v0.1.2

type AntibombingStats struct {
	RejectedConnections    string `json:"rejectedConnections"`
	RejectedMessages       string `json:"rejectedMessages"`
	RejectedHarvestAttacks string `json:"rejectedHarvestAttacks"`
}

type AntivirusOption added in v0.2.0

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

AntivirusOption - Note: fields name and content must be assigned if used in set methods

type AntivirusOptionList added in v0.2.0

type AntivirusOptionList []AntivirusOption

type AntivirusPlugin added in v0.2.0

type AntivirusPlugin 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"`
}

AntivirusPlugin - Note: field id must be assigned if used in set methods

type AntivirusPluginList added in v0.2.0

type AntivirusPluginList []AntivirusPlugin

type AntivirusSetting added in v0.2.0

type AntivirusSetting struct {
	UseIntegrated      bool                 `json:"useIntegrated"`      // integrated antivirus is used?
	UseExternal        bool                 `json:"useExternal"`        // 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 massage
	Plugins            AntivirusPluginList  `json:"plugins"`            // list of available antivirus plugins
	SelectedId         string               `json:"selectedId"`         // identifier of currently selected antivirus plugin
	Engine             IntegratedEngine     `json:"engine"`             // integrated engine settings
	VirusReaction      FoundVirusBehavior   `json:"virusReaction"`      // found virus reaction setting
	NotScannedReaction ReactionOnNotScanned `json:"notScannedReaction"` // found corruption or encryption reaction type
}

type AntivirusStats added in v0.1.2

type AntivirusStats struct {
	CheckedAttachments string `json:"checkedAttachments"` // how many checked attachments
	FoundViruses       string `json:"foundViruses"`       // how many found viruses
	ProhibitedTypes    string `json:"prohibitedTypes"`    // how many found prohibited filenames/MIME types
}

type AntivirusStatus added in v0.2.0

type AntivirusStatus string

AntivirusStatus - Are all possible states covered

const (
	AntivirusOk     AntivirusStatus = "AntivirusOk"     // no message is needed
	NoAntivirus     AntivirusStatus = "NoAntivirus"     // neither internal nor external antivirus is active
	InternalFailure AntivirusStatus = "InternalFailure" // problem with internal intivirus
	ExternalFailure AntivirusStatus = "ExternalFailure" // problem with external intivirus
	DoubleFailer    AntivirusStatus = "DoubleFailer"    // both internal and external antivirus has failed
)

type ApiApplication added in v0.1.2

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 ApiVersion added in v0.2.0

type ApiVersion int

ApiVersion - higher or equal number as version 7.3.0 - equal if there's no change in API.

type ArchiveOptions added in v0.1.2

type ArchiveOptions struct {
	Paths                     Directories        `json:"paths"`                     // Paths to store/archive/backup
	IsEnabled                 bool               `json:"isEnabled"`                 // Enable mail archiving
	RemoteArchive             OptionalString     `json:"remoteArchive"`             // Archive to remote email address
	ArchiveToLocalFolder      bool               `json:"archiveToLocalFolder"`      // Archive to local folder
	ArchiveFoldersInterval    DayWeekMonthPeriod `json:"archiveFoldersInterval"`    // Interval used for creating of new archive folders (in days/weeks/months)
	CompressOldArchiveFolders bool               `json:"compressOldArchiveFolders"` // Compress old archive folders
	CompressionStartTime      Time               `json:"compressionStartTime"`      // Time in the day when an archive compression shall start
	ArchiveLocalMessages      bool               `json:"archiveLocalMessages"`      // Local messages (local sender, local recipient)
	ArchiveIncomingMessages   bool               `json:"archiveIncomingMessages"`   // Incoming messages (remote sender, local recipient)
	ArchiveOutgoingMessages   bool               `json:"archiveOutgoingMessages"`   // Outgoing messages (local sender, remote recipient)
	ArchiveRelayedMessages    bool               `json:"archiveRelayedMessages"`    // Relayed messages (remote sender, remote recipient)
	ArchiveBeforeFilter       bool               `json:"archiveBeforeFilter"`       // Archive messages before content filter check (viruses and spams will be stored intact in the archive folders)
	IsXmppEnabled             bool               `json:"isXmppEnabled"`             // Enable archiving for instant messaging
	IsEnabledPerDomain        bool               `json:"isEnabledPerDomain"`        // Enable custom per domain settings
}

type ArchiveSettings added in v0.2.0

type ArchiveSettings struct {
	KeepArchive          bool        `json:"keepArchive"`          // maintain archive
	ArchiveOnlyForLogged bool        `json:"archiveOnlyForLogged"` // the archive is available for logged users only
	ArchiveReaderList    TrusteeList `json:"archiveReaderList"`    // list of archive readers, can be either user or group, meaningful only if onlyForLogged is true
}

ArchiveSettings - How is the archive organized?

type AttachmentAction added in v0.2.0

type AttachmentAction string
const (
	Block  AttachmentAction = "Block"
	Accept AttachmentAction = "Accept"
)

type AttachmentItem added in v0.2.0

type AttachmentItem struct {
	Id          KId              `json:"id"`
	Enabled     bool             `json:"enabled"`     // the rule is in use
	Type        AttachmentType   `json:"type"`        // type of the rule
	Content     string           `json:"content"`     // *,? wildcards are supported
	Action      AttachmentAction `json:"action"`      // what to do if the rule maches
	Description string           `json:"description"` //
}

AttachmentItem - Attachment filter rule item

type AttachmentItemList added in v0.2.0

type AttachmentItemList []AttachmentItem

type AttachmentSetting added in v0.2.0

type AttachmentSetting struct {
	Enabled                bool           `json:"enabled"`                // attachment filter is on/off
	WarnSender             bool           `json:"warnSender"`             // sender will (not) obtain warning message
	ForwardOriginal        OptionalString `json:"forwardOriginal"`        // where to forward original message
	ForwardFiltered        OptionalString `json:"forwardFiltered"`        // where to forward filtered message
	EnableZipContentFilter bool           `json:"enableZipContentFilter"` // checks zip content for prohibited extennsions
}

AttachmentSetting - Attachment filter settings

type AttachmentType added in v0.2.0

type AttachmentType string
const (
	FileName AttachmentType = "FileName"
	MimeType AttachmentType = "MimeType"
)

type AuthResult added in v0.1.2

type AuthResult string

AuthResult - Resut of autentication.

const (
	AuthOK           AuthResult = "AuthOK"           // User was autenticated
	AuthFail         AuthResult = "AuthFail"         // Wrong login name or password.
	AuthUserDisabled AuthResult = "AuthUserDisabled" // User cannot to log in, because his account is disabled.
	AuthLicense      AuthResult = "AuthLicense"      // User cannot log in, because license limit was reached.
	AuthDenied       AuthResult = "AuthDenied"       // User is denied to log in.
	AuthTryLater     AuthResult = "AuthTryLater"     // User cannot to log in at this moment, try later.
)

type AuthTypeList added in v0.1.2

type AuthTypeList []UserAuthType

Type for returning authorization type supported by server

type AuthenticationMethodList added in v0.2.0

type AuthenticationMethodList []OptionalString

type BackupInfo added in v0.1.2

type BackupInfo struct {
	IsCreated bool               `json:"isCreated"` // True, if backup was successfully created
	Created   UtcDateTime        `json:"created"`   // Time when backup started (always in GTM)
	Size      ByteValueWithUnits `json:"size"`      // Compressed size of a backup
}

BackupInfo - [READ-ONLY]

type BackupOptions added in v0.1.2

type BackupOptions struct {
	Paths                    Directories  `json:"paths"`                    // Paths to store/archive/backup, this field is used in both, archive and backup, options
	IsEnabled                bool         `json:"isEnabled"`                // Enable message store and configuration recovery backup
	Status                   BackupStatus `json:"status"`                   // Current backup status
	SplitSizeLimit           int          `json:"splitSizeLimit"`           // Split backup files if size reaches 'splitSizeLimit' (MB)
	RotationLimit            int          `json:"rotationLimit"`            // Keep at most 'rotationLimit' complete backups
	NetworkDiskUserName      string       `json:"networkDiskUserName"`      // If the backup directory is on the network disk, you may need to specify user name
	NetworkDiskPassword      string       `json:"networkDiskPassword"`      // ... and password
	NotificationEmailAddress string       `json:"notificationEmailAddress"` // An email address of person that will be notified when backup is completed or if any problems arise
}

type BackupSchedule added in v0.1.2

type BackupSchedule struct {
	Id          KId        `json:"id"`          // [READ-ONLY]
	IsEnabled   bool       `json:"isEnabled"`   // True if backup schedule is enabled
	Type        BackupType `json:"type"`        // Backup type
	DayType     DayType    `json:"day"`         // Backup schedule day of week
	Time        TimeHMS    `json:"time"`        // Backup schedule start time - days are ignored!
	Description string     `json:"description"` // description of the backup schedule
}

type BackupScheduleList added in v0.1.2

type BackupScheduleList []BackupSchedule

type BackupStatus added in v0.1.2

type BackupStatus struct {
	BackupInProgress bool             `json:"backupInProgress"` // True, if backup is in progress; otherwise, false
	Percents         int              `json:"percents"`         // Backup progress in percents (form 0 to 100)
	LastBackupStatus LastBackupStatus `json:"lastBackupStatus"` // Status of the last backup run
	ElapsedTime      Distance         `json:"elapsedTime"`      // Time from last started backup
	RemainingTime    Distance         `json:"remainingTime"`    // Approximated time to end of current backup
	LastFull         BackupInfo       `json:"lastFull"`         // Information about last full backup
	LastDifferential BackupInfo       `json:"lastDifferential"` // Information about last differential backup
	LastMirror       BackupInfo       `json:"lastMirror"`       // Information about last mirror backup
}

BackupStatus - [READ-ONLY]

type BackupType added in v0.1.2

type BackupType string

type BayesState added in v0.2.0

type BayesState string
const (
	Disabled BayesState = "Disabled" // Bayes database statistics are not provided
	Learning BayesState = "Learning"
	Active   BayesState = "Active"
)

type BlackList added in v0.2.0

type BlackList struct {
	Id          KId          `json:"id"` // global identifier
	Enabled     bool         `json:"enabled"`
	DnsSuffix   string       `json:"dnsSuffix"`
	Description string       `json:"description"`
	Action      BlockOrScore `json:"action"` // what to do if IP address is found on blacklist
	Score       int          `json:"score"`
	AskDirectly bool         `json:"askDirectly"`
}

type BlackListList added in v0.2.0

type BlackListList []BlackList

type BlackListSetting added in v0.2.0

type BlackListSetting struct {
	Enabled bool         `json:"enabled"`
	Id      KId          `json:"id"` // global identifier
	Name    string       `json:"name"`
	Action  BlockOrScore `json:"action"`
	Score   int          `json:"score"`
}

BlackListSetting - Custom setting of blacklist spammer IP addresses

type BlockOrScore added in v0.2.0

type BlockOrScore string
const (
	BlockMessage BlockOrScore = "BlockMessage" // block the message
	ScoreMessage BlockOrScore = "ScoreMessage" // add SPAM score to the message
)

type BuildType added in v0.1.2

type BuildType string
const (
	Alpha BuildType = "Alpha"
	Beta  BuildType = "Beta"
	Rc    BuildType = "Rc"
	Final BuildType = "Final"
	Patch BuildType = "Patch"
)

type ButtonColor added in v0.1.2

type ButtonColor struct {
	IsEnabled       bool   `json:"isEnabled"` // Is used
	TextColor       string `json:"textColor"`
	BackgroundColor string `json:"backgroundColor"`
}

type ByteUnits added in v0.1.2

type ByteUnits string

ByteUnits - Units used for handling large values of bytes. 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 added in v0.1.2

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

ByteValueWithUnits - Stores size of very large values of bytes e.g. for user quota Note: all fields must be assigned if used in set methods

type CallerId added in v0.2.0

type CallerId struct {
	Enabled          bool           `json:"enabled"`
	Action           SpamAction     `json:"action"`
	Score            int            `json:"score"`
	ApplyOnTesting   bool           `json:"applyOnTesting"`
	ExceptionIpGroup OptionalEntity `json:"exceptionIpGroup"` // switchable custom white list IP group
}

type Certificate added in v0.1.2

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 CertificateList added in v0.1.2

type CertificateList []Certificate

type CertificateType added in v0.1.2

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 Chart added in v0.1.2

type Chart struct {
	Classname  string    `json:"classname"`  // A class name of chart
	Name       string    `json:"name"`       // A chart name
	Xtype      string    `json:"xtype"`      // An x scale type
	Ytype      string    `json:"ytype"`      // An y scale type
	ScaleCount int       `json:"scaleCount"` // A count of scales
	Scale      ScaleList `json:"scale"`      // List of scales
}

Chart - Descriptions of charts graph

type ChartData added in v0.1.2

type ChartData struct {
	XName       string             `json:"xName"`       // Name of X axis
	XValues     ChartValueList     `json:"xValues"`     // Values of X axis
	CountValues int                `json:"countValues"` // A count of values in X axis
	CountRows   int                `json:"countRows"`   // A count of rows
	RowNames    ChartRowNamesList  `json:"rowNames"`    // Array of names of rows
	RowValues   ChartRowValuesList `json:"rowValues"`   // Array of values of rows
}

ChartData - Values of charts graph

type ChartList added in v0.1.2

type ChartList []Chart

type ChartRowNamesList added in v0.1.2

type ChartRowNamesList []string

type ChartRowValuesList added in v0.1.2

type ChartRowValuesList []ChartValueList

type ChartValueList added in v0.1.2

type ChartValueList []int

type CleanOut added in v0.1.2

type CleanOut struct {
	IsUsedDomain bool            `json:"isUsedDomain"` // use domain settings
	DeletedItems ActionAfterDays `json:"deletedItems"` // clean Deleted Items folder (maximum: 24855)
	JunkEmail    ActionAfterDays `json:"junkEmail"`    // clean Junk Email folder (maximum: 24855)
	SentItems    ActionAfterDays `json:"sentItems"`    // clean Sent Items folder (maximum: 24855)
	AutoDelete   ActionAfterDays `json:"autoDelete"`   // clean all folders (maximum: 24855)
}

CleanOut - Per-user message retention policy.

type ClusterAuthentication added in v0.2.0

type ClusterAuthentication struct {
	HostName  string `json:"hostName"`
	AdminUser string `json:"adminUser"`
	Password  string `json:"password"`
}

type ClusterConflict added in v0.2.0

type ClusterConflict struct {
	Type       ClusterConflictTarget `json:"type"`
	Name       string                `json:"name"`
	Domain     string                `json:"domain"`
	HomeServer string                `json:"homeServer"`
}

type ClusterConflictList added in v0.2.0

type ClusterConflictList []ClusterConflict

type ClusterConflictTarget added in v0.2.0

type ClusterConflictTarget string

type ClusterDomainStatus added in v0.2.0

type ClusterDomainStatus string

type ClusterError added in v0.2.0

type ClusterError struct {
	Type         ClusterErrorType    `json:"type"`
	ErrorMessage LocalizableMessage  `json:"errorMessage"` // is assigned if type is clError
	ConflictList ClusterConflictList `json:"conflictList"` // List of Resources/Aliases/MLists which are already defined in cluster. The conflictList is empty if type is different from dataConflict.
}

type ClusterErrorType added in v0.2.0

type ClusterErrorType string

type ClusterRole added in v0.2.0

type ClusterRole string

ClusterRole - Role of the server in cluster

type ClusterServer added in v0.2.0

type ClusterServer struct {
	Hostname      string                 `json:"hostname"`
	IsPrimary     bool                   `json:"isPrimary"`
	IsLocal       bool                   `json:"isLocal"`
	Status        ClusterStatus          `json:"status"`
	ErrorMessages LocalizableMessageList `json:"errorMessages"` // is assigned if type is clError
	DomainStatus  ClusterDomainStatus    `json:"domainStatus"`
}

type ClusterServerList added in v0.2.0

type ClusterServerList []ClusterServer

type ClusterStatus added in v0.2.0

type ClusterStatus string

type CompanyContact added in v0.2.0

type CompanyContact struct {
	Id       KId    `json:"id"`
	Name     string `json:"name"` // name of company contact (caption of item in list of contacts)
	Company  string `json:"company"`
	Street   string `json:"street"`
	Locality string `json:"locality"`
	State    string `json:"state"`
	Zip      string `json:"zip"`
	Country  string `json:"country"`
	Url      string `json:"url"`
	Phone    string `json:"phone"`
	Fax      string `json:"fax"`
	DomainId KId    `json:"domainId"` // id of domain associated with company contact
}

type CompanyContactList added in v0.2.0

type CompanyContactList []CompanyContact

CompanyContactList - List of company contacts

type CompareOperator added in v0.1.0

type CompareOperator string

CompareOperator - Simple Query Operator

const (
	Eq          CompareOperator = "Eq"          // '='  - equal
	NotEq       CompareOperator = "NotEq"       // '!=' - not equal
	LessThan    CompareOperator = "LessThan"    // '<'  - lower that
	GreaterThan CompareOperator = "GreaterThan" // '>'  - greater that
	LessEq      CompareOperator = "LessEq"      // '<=' - lower or equal
	GreaterEq   CompareOperator = "GreaterEq"   // '>=' - greater or equal
	Like        CompareOperator = "NotEq"       // contains substring, % is wild character
)

type ConcurrentConnections added in v0.2.0

type ConcurrentConnections struct {
	IsSet bool `json:"isSet"` // is set maximum of concurrent connections?
	Value int  `json:"value"` // maximum of concurrent connections
}

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

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 Connection

type Connection struct {
	Proto       Protocol      `json:"proto"`
	Extension   HttpExtension `json:"extension"`
	IsSecure    bool          `json:"isSecure"`
	Time        string        `json:"time"`
	From        string        `json:"from"`
	User        string        `json:"user"`
	Description string        `json:"description"`
}

type ConnectionList

type ConnectionList []Connection

type CoreDump added in v0.2.0

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

type CreateResult added in v0.0.3

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 added in v0.0.3

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 CustomImage added in v0.1.2

type CustomImage struct {
	IsEnabled bool   `json:"isEnabled"` // Is used
	Url       string `json:"url"`       // [READ ONLY]
	Id        string `json:"id"`        // [WRITE ONCE] Id of uploaded image.
}

type CustomRule added in v0.2.0

type CustomRule struct {
	Id          KId              `json:"id"` // global identifier
	Enabled     bool             `json:"enabled"`
	Kind        CustomRuleKind   `json:"kind"`
	Header      string           `json:"header"`
	Content     string           `json:"content"`
	Description string           `json:"description"`
	Type        CustomRuleType   `json:"type"`
	Action      CustomRuleAction `json:"action"`
	Score       int              `json:"score"`
	LastUsed    DistanceOrNull   `json:"lastUsed"`
}

type CustomRuleAction added in v0.2.0

type CustomRuleAction string
const (
	TreatAsSpam       CustomRuleAction = "TreatAsSpam"
	TreatAsNotSpam    CustomRuleAction = "TreatAsNotSpam"
	IncreaseSpamScore CustomRuleAction = "IncreaseSpamScore"
)

type CustomRuleKind added in v0.2.0

type CustomRuleKind string
const (
	Header CustomRuleKind = "Header"
	Body   CustomRuleKind = "Body"
)

type CustomRuleList added in v0.2.0

type CustomRuleList []CustomRule

type CustomRuleType added in v0.2.0

type CustomRuleType string
const (
	IsEmpty           CustomRuleType = "IsEmpty"
	IsMissing         CustomRuleType = "IsMissing"
	ContainsAddress   CustomRuleType = "ContainsAddress"
	ContainsDomain    CustomRuleType = "ContainsDomain"
	ContainsSubstring CustomRuleType = "ContainsSubstring"
	ContainsBinary    CustomRuleType = "ContainsBinary"
)

type DataSource added in v0.1.2

type DataSource string

source of user data

const (
	DSInternalSource DataSource = "DSInternalSource" // internal source of user data
	DSLDAPSource     DataSource = "DSLDAPSource"     // LDAP source of user data
)

type Date added in v0.1.2

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 DateTimeStamp added in v0.1.2

type DateTimeStamp int

DateTimeStamp - Type for date/time representation

type DateTimeStampList added in v0.1.2

type DateTimeStampList []DateTimeStamp

DateTimeStampList - Type for lists of date/times

type DayList added in v0.2.0

type DayList []DayType

type DayType added in v0.2.0

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

type DayWeekMonthPeriod added in v0.1.2

type DayWeekMonthPeriod string

type DeliveryRule added in v0.2.0

type DeliveryRule struct {
	Id          KId        `json:"id"`          // [READ-ONLY] global identification
	IsEnabled   bool       `json:"isEnabled"`   // says whether rule is enabled
	Description string     `json:"description"` // contains rules description
	Rule        FilterRule `json:"rule"`
}

type DeliveryRuleList added in v0.2.0

type DeliveryRuleList []DeliveryRule

type DeliveryType added in v0.2.0

type DeliveryType string

DeliveryType - Delivery Type

const (
	Online           DeliveryType = "Online"           // deliver online, immediatelly
	OfflineScheduler DeliveryType = "OfflineScheduler" // delivery is started by scheduler
	OfflineEtrn      DeliveryType = "OfflineEtrn"      // delivery is started by ETRN command from remote host
)

type DeployedType added in v0.1.2

type DeployedType string
const (
	DeployedStandalone DeployedType = "DeployedStandalone" // Normal installation
	DeployedCloud      DeployedType = "DeployedCloud"      // Kerio Connect is running in a cloud
	DeployedKerioVA    DeployedType = "DeployedKerioVA"    // Kerio Connect VMWare Virtual Appliance
)

type DeviceStatus added in v0.2.0

type DeviceStatus string

DeviceStatus - Mobile device status.

const (
	OK                   DeviceStatus = "OK"                   // no wipe
	DeviceNotProvisioned DeviceStatus = "DeviceNotProvisioned" // not (fully) provisioned (yet)
	DeviceWipeInitiated  DeviceStatus = "DeviceWipeInitiated"  // wipe process submitted
	DeviceWipeInProgress DeviceStatus = "DeviceWipeInProgress" // wipe process in progress
	DeviceWipeFinished   DeviceStatus = "DeviceWipeFinished"   // wipe process finished
	DeviceConnected      DeviceStatus = "DeviceConnected"
	DeviceDisconnected   DeviceStatus = "DeviceDisconnected"
)

type Directories added in v0.1.0

type Directories struct {
	StorePath   string `json:"storePath"`   // Path to the store directory
	ArchivePath string `json:"archivePath"` // Path to the archive directory
	BackupPath  string `json:"backupPath"`  // Path to the backup directory
}

type Directory added in v0.1.2

type Directory struct {
	Name            string `json:"name"`
	HasSubdirectory bool   `json:"hasSubdirectory"`
}

Information about directory

type DirectoryAccessResult added in v0.1.2

type DirectoryAccessResult string

Except getAboutInfo() all methods are available for non-authenticated users

type DirectoryAuthentication added in v0.2.0

type DirectoryAuthentication struct {
	Username string `json:"username"`
	Password string `json:"password"`
	IsSecure bool   `json:"isSecure"` // is used LDAPS?
}

DirectoryAuthentication - Note: all fields must be assigned if used in set methods (except password)

type DirectoryList added in v0.1.2

type DirectoryList []Directory

List of restrictions

type DirectoryService added in v0.2.0

type DirectoryService struct {
	IsEnabled      bool                    `json:"isEnabled"`      // directory service is in use / isEnabled must be always assigned if used in set methods
	ServiceType    DirectoryServiceType    `json:"serviceType"`    // type of the service
	CustomMapFile  string                  `json:"customMapFile"`  // Custom Generic LDAP only: custom map filename
	Authentication DirectoryAuthentication `json:"authentication"` // authentication information
	Hostname       string                  `json:"hostname"`       // directory service hostname
	BackupHostname string                  `json:"backupHostname"` // directory service backup hostname
	DirectoryName  string                  `json:"directoryName"`  // Active Directory only: Directory name
	LdapSuffix     string                  `json:"ldapSuffix"`     // Apple Directory, Kerio Directory: LDAP Search Suffix
}

DirectoryService - Directory service information

type DirectoryServiceConfiguration added in v0.2.0

type DirectoryServiceConfiguration struct {
	ServiceType    DirectoryServiceType    `json:"serviceType"`    // type of the service
	Authentication DirectoryAuthentication `json:"authentication"` // authentication information
	DirectoryName  string                  `json:"directoryName"`  // Active Directory only: Directory name
	LdapSuffix     string                  `json:"ldapSuffix"`     // Apple Directory, Kerio Directory: LDAP Search Suffix
}

DirectoryServiceConfiguration - Directory service configuration

type DirectoryServiceDeleteMode added in v0.1.2

type DirectoryServiceDeleteMode string

Type of deleting a user

const (
	DSModeDeactivate DirectoryServiceDeleteMode = "DSModeDeactivate" // User is deactivated but not deleted
	DSModeDelete     DirectoryServiceDeleteMode = "DSModeDelete"     // User is deleted
)

type DirectoryServiceType added in v0.2.0

type DirectoryServiceType string
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
	KerioDirectory         DirectoryServiceType = "KerioDirectory"         // Kerio Directory (reserved for future use)
	CustomLDAP             DirectoryServiceType = "CustomLDAP"             // Custom Generic LDAP
)

type Distance added in v0.1.0

type Distance struct {
	Days    int `json:"days"`
	Hours   int `json:"hours"`
	Minutes int `json:"minutes"`
}

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

type DistanceOrNull added in v0.1.0

type DistanceOrNull struct {
	Type     DistanceType `json:"type"`
	TimeSpan Distance     `json:"timeSpan"`
}

type DistanceType added in v0.1.2

type DistanceType string

type DnsResolverStats added in v0.1.2

type DnsResolverStats struct {
	HostnameQueries       string `json:"hostnameQueries"`
	CachedHostnameQueries string `json:"cachedHostnameQueries"`
	MxQueries             string `json:"mxQueries"`
	CachedMxQueries       string `json:"cachedMxQueries"`
}

type Domain

type Domain struct {
	Id                        KId              `json:"id"`                        // [READ-ONLY] global identification of domain
	Name                      string           `json:"name"`                      // [REQUIRED FOR CREATE] [WRITE-ONCE] name
	Description               string           `json:"description"`               // description
	IsPrimary                 bool             `json:"isPrimary"`                 // is this domain primary?
	UserMaxCount              int              `json:"userMaxCount"`              // maximum users per domain, 'unlimited' constant can be used
	PasswordExpirationEnabled bool             `json:"passwordExpirationEnabled"` // is password expiration enabled for this domain?
	PasswordExpirationDays    int              `json:"passwordExpirationDays"`    // password expiration interval
	PasswordHistoryCount      int              `json:"passwordHistoryCount"`      // lenght of password history
	PasswordComplexityEnabled bool             `json:"passwordComplexityEnabled"` // is password complexity enabled for this domain?
	PasswordMinimumLength     int              `json:"passwordMinimumLength"`     // minimum password length for complexity feature
	OutgoingMessageLimit      SizeLimit        `json:"outgoingMessageLimit"`      // outgoing message size limit
	DeletedItems              ActionAfterDays  `json:"deletedItems"`              // clean Deleted Items folder (AC maximum: 24855)
	JunkEmail                 ActionAfterDays  `json:"junkEmail"`                 // clean Junk Email folder (AC maximum: 24855)
	SentItems                 ActionAfterDays  `json:"sentItems"`                 // clean Sent Items folder (AC maximum: 24855)
	AutoDelete                ActionAfterDays  `json:"autoDelete"`                // clean all folders (AC minimun:30, maximum: 24855)
	KeepForRecovery           ActionAfterDays  `json:"keepForRecovery"`           // keep deleted messages for recovery
	AliasList                 StringList       `json:"aliasList"`                 // list of domain alternative names
	ForwardingOptions         Forwarding       `json:"forwardingOptions"`         // forwarding settings
	Service                   DirectoryService `json:"service"`                   // directory service configuration
	DomainFooter              Footer           `json:"domainFooter"`              // domain footer setting
	KerberosRealm             string           `json:"kerberosRealm"`             // Kerberos Realm name
	WinNtName                 string           `json:"winNtName"`                 // Windows NT domain name - available on windows only
	PamRealm                  string           `json:"pamRealm"`                  // PAM Realm name - available on linux only
	IpAddressBind             OptionalString   `json:"ipAddressBind"`             // specific IP address bind
	CheckSpoofedSender        bool             `json:"checkSpoofedSender"`        //
	RenameInfo                DomainRenameInfo `json:"renameInfo"`                // [READ-ONLY] if domain was renamed, contain old and new domain name
	DomainQuota               DomainQuota      `json:"domainQuota"`               // domain's quota settings
	IsDistributed             bool             `json:"isDistributed"`             // [READ-ONLY] if domain is distributed
	IsDkimEnabled             bool             `json:"isDkimEnabled"`             // true if DKIM is used for this domain
	IsLdapManagementAllowed   bool             `json:"isLdapManagementAllowed"`   // [READ-ONLY] true if directory service user/group can be created/deleted
	IsInstantMessagingEnabled bool             `json:"isInstantMessagingEnabled"` // true if Instant Messaging is enabled for this domain
	UseRemoteArchiveAddress   bool             `json:"useRemoteArchiveAddress"`   // if true emails are archived to remoteArchiveAddress
	RemoteArchiveAddress      string           `json:"remoteArchiveAddress"`      // remote archiving address
	ArchiveLocalMessages      bool             `json:"archiveLocalMessages"`      // if true emails from emails are archived to remoteArchiveAddress
	ArchiveIncomingMessages   bool             `json:"archiveIncomingMessages"`   // if true emails are archived to remoteArchiveAddress
	ArchiveOutgoingMessages   bool             `json:"archiveOutgoingMessages"`   // if true emails are archived to remoteArchiveAddress
	ArchiveBeforeFilter       bool             `json:"archiveBeforeFilter"`       // if true emails are archived before content filter check
}

Domain - Domain details

type DomainList

type DomainList []Domain

DomainList - List of domains

type DomainQuota added in v0.2.0

type DomainQuota struct {
	DiskSizeLimit SizeLimit          `json:"diskSizeLimit"` // max. disk usage
	ConsumedSize  ByteValueWithUnits `json:"consumedSize"`  // [READ-ONLY] current disk usage
	Notification  QuotaNotification  `json:"notification"`  // option for notification
	WarningLimit  int                `json:"warningLimit"`  // limit in per cent
	Email         string             `json:"email"`         // if quota is exceeded the notification will be sent to this address
	Blocks        bool               `json:"blocks"`        // if reaching the quota will block creation of a new items
}

type DomainRenameInfo added in v0.2.0

type DomainRenameInfo struct {
	IsRenamed bool   `json:"isRenamed"`
	OldName   string `json:"oldName"`
	NewName   string `json:"newName"`
}

type DomainSetting

type DomainSetting struct {
	Hostname               string `json:"hostname"`               // internet hostname - how this machine introduces itself in SMTP,POP3...
	PublicFoldersPerDomain bool   `json:"publicFoldersPerDomain"` // true=public folders are unique per each domain / false=global for all domains
	ServerId               KId    `json:"serverId"`               // id of server primary used in cluster
}

DomainSetting - Identical settings for all domains

type Download added in v0.1.2

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 DownloadList added in v0.1.2

type DownloadList []Download

type DumpList added in v0.2.0

type DumpList []CoreDump

type EffectiveUserRights added in v0.1.2

type EffectiveUserRights struct {
	UserId               KId  `json:"userId"`               // [READ-ONLY] global identification
	HasDomainRestriction bool `json:"hasDomainRestriction"` // user can send/receive from/to his/her domain only
}

EffectiveUserRights - User effective rights (inherited from groups)

type EffectiveUserRightsList added in v0.1.2

type EffectiveUserRightsList []EffectiveUserRights

EffectiveUserRightsList - List of users effective rights

type EmailAddress added in v0.1.2

type EmailAddress struct {
	Address            string           `json:"address"`
	Name               string           `json:"name"`
	Preferred          bool             `json:"preferred"`
	IsValidCertificate bool             `json:"isValidCertificate"`
	Type               EmailAddressType `json:"type"`
	RefId              KId              `json:"refId"` // Global identification of reference. Valid for types 'RefContact' and 'RefDistributionList'.
	Extension          ABExtension      `json:"extension"`
}

EmailAddress - Structure describing an email address in contact.

type EmailAddressList added in v0.1.2

type EmailAddressList []EmailAddress

EmailAddressList - Sequence of email addresses.

type EmailAddressType added in v0.1.2

type EmailAddressType string

EmailAddressType - Email address type.

const (
	EmailWork   EmailAddressType = "EmailWork"
	EmailHome   EmailAddressType = "EmailHome"
	EmailOther  EmailAddressType = "EmailOther"
	EmailCustom EmailAddressType = "EmailCustom" // no type defined
	// valid for distribution lists only
	RefContact          EmailAddressType = "RefContact"          // Reference to existing conatact
	RefDistributionList EmailAddressType = "RefDistributionList" // Reference to existing distribution list
)

type EmailForwarding added in v0.1.2

type EmailForwarding struct {
	Mode           UserForwardMode      `json:"mode"`
	EmailAddresses UserEmailAddressList `json:"emailAddresses"` // list of email addresses, make sense only for UForwardDeliver
}

EmailForwarding - Settings of email forwarding. Note: all fields must be assigned if used in set methods.

type Entity added in v0.2.0

type Entity string

Entity - Available entities, entity prefix due to name collision

const (
	EntityUser           Entity = "EntityUser"           // User Entity
	EntityAlias          Entity = "EntityAlias"          // Alias Entity
	EntityGroup          Entity = "EntityGroup"          // Group Entity
	EntityMailingList    Entity = "EntityMailingList"    // Mailing List Entity
	EntityResource       Entity = "EntityResource"       // Resource Scheduling Entity
	EntityTimeRange      Entity = "EntityTimeRange"      // Time Range Entity
	EntityTimeRangeGroup Entity = "EntityTimeRangeGroup" // Time Range Group Entity
	EntityIpAddress      Entity = "EntityIpAddress"      // Ip Address Entity
	EntityIpAddressGroup Entity = "EntityIpAddressGroup" // Ip Address Group Entity
	EntityService        Entity = "EntityService"        // Service Entity
	EntityDomain         Entity = "EntityDomain"
)

type EntityDetail added in v0.2.0

type EntityDetail struct {
	Kind Entity `json:"kind"` // which entity is inserting
	Id   KId    `json:"id"`   // entity global identification of updated entity
}

EntityDetail - Detail about entity to be checked. Kind or id must be filled.

type EntityDuplicate added in v0.2.0

type EntityDuplicate struct {
	Kind             Entity `json:"kind"` // which entity was found as first duplicate
	Name             string `json:"name"` // name of duplicate
	CollisionAddress string `json:"collisionAddress"`
	Win              bool   `json:"win"`       // if entity is winner in this collision of mail address
	IsPattern        bool   `json:"isPattern"` // is true if it is the pattern to check (self duplicity)
}

EntityDuplicate - Potential duplicate

type EntityDuplicateList added in v0.2.0

type EntityDuplicateList []EntityDuplicate

type Error added in v0.0.3

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 added in v0.0.3

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 EtrnDownload added in v0.2.0

type EtrnDownload struct {
	Id                    KId    `json:"id"`
	IsActive              bool   `json:"isActive"`
	Server                string `json:"server"`  // server URL
	Domains               string `json:"domains"` // semicolon separated list of domain names
	Description           string `json:"description"`
	RequireAuthentication bool   `json:"requireAuthentication"` // Is authentication required?
	UserName              string `json:"userName"`              // make sense only if authentication is required
	Password              string `json:"password"`              // make sense only if authentication is required
}

type EtrnDownloadList added in v0.2.0

type EtrnDownloadList []EtrnDownload

type EvaluationModeType added in v0.2.0

type EvaluationModeType string

EvaluationModeType - Types of filter's conditions evaluation.

const (
	EmAnyOf EvaluationModeType = "EmAnyOf"
	EmAllOf EvaluationModeType = "EmAllOf"
)

type ExpireInfo added in v0.2.0

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 added in v0.2.0

type ExpireType string

ExpireType - Type of expiration

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

type ExportFormat added in v0.1.2

type ExportFormat string

ExportFormat - File type for log export

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

type Extension added in v0.2.0

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

Extension - @brief Extension information

type ExtensionList added in v0.2.0

type ExtensionList []Extension

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

type FacilityUnit added in v0.1.2

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 FailureAndBounce added in v0.1.2

type FailureAndBounce struct {
	TransientFailures string `json:"transientFailures"` // transient delivery failures
	PermanentFailures string `json:"permanentFailures"` // permanent delivery failures
}

type FileFormatType added in v0.1.2

type FileFormatType string

FileFormatType - Export format type.

const (
	TypeXml FileFormatType = "TypeXml" // Extensible Markup Language
	TypeCsv FileFormatType = "TypeCsv" // Comma Separated Values
)

type FilterAction added in v0.2.0

type FilterAction struct {
	Type       FilterActionType `json:"type"`
	Parameters StringList       `json:"parameters"` // list of parameters (see FilterActionType for more info)
}

FilterAction - meet.

type FilterActionList added in v0.2.0

type FilterActionList []FilterAction

type FilterActionType added in v0.2.0

type FilterActionType string

FilterActionType - to filter action that this type of action requires.

const (
	FaAddHeader     FilterActionType = "FaAddHeader"     // two mandatory parameters: 1. header name, 2. header value (Headers 'Content-*' are forbidden)
	FaSetHeader     FilterActionType = "FaSetHeader"     // two mandatory parameters: 1. header name, 2. header value (Headers 'Content-*' are forbidden)
	FaRemoveHeader  FilterActionType = "FaRemoveHeader"  // one mandatory parameter: 1. header name (Headers 'Content-*' and 'Receive' are forbidden)
	FaAddRecipient  FilterActionType = "FaAddRecipient"  // one mandatory parameter: 1. address
	FaCopyToAddress FilterActionType = "FaCopyToAddress" // one mandatory parameter: 1. address
	FaReject        FilterActionType = "FaReject"        // one mandatory parameter: 1. reason (for mail rejection)
	FaFileInto      FilterActionType = "FaFileInto"      // one mandatory parameter: 1. path to directory where to store mail
	FaRedirect      FilterActionType = "FaRedirect"      // one mandatory parameter: 1. address where to redirect mail
	FaDiscard       FilterActionType = "FaDiscard"       // no parameters required
	FaKeep          FilterActionType = "FaKeep"          // no parameters required
	FaNotify        FilterActionType = "FaNotify"        // three mandatory parameters: 1. address; 2. subject; 3. text of notification
	FaSetReadFlag   FilterActionType = "FaSetReadFlag"   // no parameters required
	FaAutoReply     FilterActionType = "FaAutoReply"     // one mandatory parameter: 1. text of message
	FaStop          FilterActionType = "FaStop"          // no parameters required
)

type FilterComparatorType added in v0.2.0

type FilterComparatorType string

FilterComparatorType - which can be used to test filter's initial conditions.

const (
	CcEqual        FilterComparatorType = "CcEqual"        // tests whether target (ex. sender) is EQUAL to some string
	CcContain      FilterComparatorType = "CcContain"      // tests whether target (ex. sender) CONTAINS to some string
	CcNotContain   FilterComparatorType = "CcNotContain"   // tests whether target (ex. sender) NOT CONTAINS to some string
	CcNotEqual     FilterComparatorType = "CcNotEqual"     // tests whether target (ex. sender) IS NOT to some string
	CcUnder        FilterComparatorType = "CcUnder"        // tests whether size of mail is UNDER some number of Bytes
	CcOver         FilterComparatorType = "CcOver"         // tests whether size of mail is OVER some number of Bytes
	CcNoComparator FilterComparatorType = "CcNoComparator" // marks conditions that do not need any comparator (ex. has attachment, for all messages and is spam)
)

type FilterCondition added in v0.2.0

type FilterCondition struct {
	TestedTarget FilterConditionType  `json:"testedTarget"` // some aspect of message that will be tested using selected comparator and against parameters
	Comparator   FilterComparatorType `json:"comparator"`   // type of target comparator (has to be set correctly, even for CtAttachment and CtAll - CcNoComparator)
	Parameters   StringList           `json:"parameters"`   // zero, one or more values that will be used to compare to target using selected comparator
}

FilterCondition - filter should be applied or not.

type FilterConditionList added in v0.2.0

type FilterConditionList []FilterCondition

type FilterConditionType added in v0.2.0

type FilterConditionType string

FilterConditionType - tested as filter's initial condition.

const (
	CtEnvelopeRecipient FilterConditionType = "CtEnvelopeRecipient" // Recipient from SMTP envelope 'RCPT TO:'
	CtEnvelopeSender    FilterConditionType = "CtEnvelopeSender"    // Sender from SMTP envelope 'MAIL FROM:'
	CtRecipient         FilterConditionType = "CtRecipient"         // content of message headers 'To' and 'Cc'
	CtSender            FilterConditionType = "CtSender"            // content of message header 'Sender'
	CtFrom              FilterConditionType = "CtFrom"              // content of message header 'From'
	CtCc                FilterConditionType = "CtCc"                // content of message header 'Cc'
	CtTo                FilterConditionType = "CtTo"                // content of message header 'To'
	CtSubject           FilterConditionType = "CtSubject"           // messages with certain subject
	CtAttachment        FilterConditionType = "CtAttachment"        // messages that have attachment
	CtSize              FilterConditionType = "CtSize"              // messages with certain size (in Bytes)
	CtSpam              FilterConditionType = "CtSpam"              // messages marked as spam
	CtAll               FilterConditionType = "CtAll"               // all messages
)

type FilterRule added in v0.2.0

type FilterRule struct {
	IsIncomplete   bool                `json:"isIncomplete"`   // if rule is not completed (it does not contain any definition of conditions and actions)
	EvaluationMode EvaluationModeType  `json:"evaluationMode"` // determines evaluation mod of initial conditions
	Conditions     FilterConditionList `json:"conditions"`     // list of rule's initial conditions
	Actions        FilterActionList    `json:"actions"`        // list of rule's actions (performed if initial conditions are meet)
}

type FolderIcon added in v0.2.0

type FolderIcon string

FolderIcon - Folder icon enumeration.

const (
	FIMail     FolderIcon = "FIMail"
	FIContact  FolderIcon = "FIContact"
	FICalendar FolderIcon = "FICalendar"
	FITodo     FolderIcon = "FITodo"
	FIJournal  FolderIcon = "FIJournal"
	FINote     FolderIcon = "FINote"
	FIInbox    FolderIcon = "FIInbox"
	FIDeleted  FolderIcon = "FIDeleted"
)

type FolderInfo

type FolderInfo struct {
	FolderName     string       `json:"folderName"`
	ReferenceCount int          `json:"referenceCount"`
	IndexLoaded    bool         `json:"indexLoaded"`
	Users          UserNameList `json:"users"`
}

type FolderInfoList

type FolderInfoList []FolderInfo
type Footer struct {
	IsUsed         bool   `json:"isUsed"`         // is footer used
	Text           string `json:"text"`           // text that will be appended to every message sent from this domain
	IsHtml         bool   `json:"isHtml"`         // if is value false the text is precessed as plaintext
	IsUsedInDomain bool   `json:"isUsedInDomain"` // footer is used also for e-mails within domain
}

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

type Forwarding added in v0.2.0

type Forwarding struct {
	IsEnabled   bool         `json:"isEnabled"`   // is forwarding enabled?
	Host        string       `json:"host"`        // hostname or IP address to forward
	Port        int          `json:"port"`        // host port
	How         DeliveryType `json:"how"`         // how to deliver
	PreventLoop bool         `json:"preventLoop"` // do not deliver to domain alias (applicable when Domain.aliasList is not empty)
}

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

type ForwardingOptions

type ForwardingOptions struct {
	IsEnabled   bool   `json:"isEnabled"`
	Host        string `json:"host"`
	Port        int    `json:"port"`
	How         string `json:"how"`
	PreventLoop bool   `json:"preventLoop"`
}

type FoundVirusBehavior added in v0.2.0

type FoundVirusBehavior struct {
	Reaction        ReactionOnVirus `json:"reaction"`
	ForwardOriginal OptionalString  `json:"forwardOriginal"` // should be original message forwarded?
	ForwardFiltered OptionalString  `json:"forwardFiltered"` // should be filtered message forwarded?
}

type FulltextRebuildStatus added in v0.1.2

type FulltextRebuildStatus struct {
	Status       FulltextStatus `json:"status"`       // [READ ONLY] state of rebuild process
	UsersLeft    int            `json:"usersLeft"`    // [status IndexRebuilding] - the current number of user re-indexed mailboxes
	MessagesLeft int            `json:"messagesLeft"` // [status IndexMessages] - number of new delivered messages to index
	Size         int            `json:"size"`         // index size or estimate size in status IndexMessages or IndexRebuilding
	FreeSpace    int            `json:"freeSpace"`    // free space in path for index files
}

FulltextRebuildStatus - [READ ONLY] progres of index

type FulltextRebuildingCommand added in v0.1.2

type FulltextRebuildingCommand struct {
	Scope FulltextScope `json:"scope"`
	Id    KId           `json:"id"` // domain id for scope 'IndexDomain' or user id for scope 'IndexUser'
}

type FulltextScope added in v0.1.2

type FulltextScope string

FulltextScope - Scope of reindex

const (
	IndexAll    FulltextScope = "IndexAll"    // all users to reindex
	IndexDomain FulltextScope = "IndexDomain" // only users from domain to reindex
	IndexUser   FulltextScope = "IndexUser"   // only user to reindex
)

type FulltextSetting added in v0.1.2

type FulltextSetting struct {
	Enabled bool   `json:"enabled"` // enabled/disabled
	Path    string `json:"path"`    // path to directory where are indexes
}

type FulltextStatus added in v0.1.2

type FulltextStatus string

FulltextStatus - State of index

const (
	IndexRebuilding    FulltextStatus = "IndexRebuilding"    // reindexing is in progress
	IndexMessages      FulltextStatus = "IndexMessages"      // indexing new delivered messages
	IndexFinished      FulltextStatus = "IndexFinished"      // reindexing is finnished, it also mean "Up To Date"
	IndexDisabled      FulltextStatus = "IndexDisabled"      // indexing is disabled
	IndexError         FulltextStatus = "IndexError"         // some error occured
	IndexErrorLowSpace FulltextStatus = "IndexErrorLowSpace" // available disk space is below Soft Limit
)

type Greylisting added in v0.2.0

type Greylisting struct {
	Enabled bool `json:"enabled"` // is greylisting enabled?
	/// When enabled is set to true, the setAntiSpamSetting method attempts to connect to the greylisting service asynchronously.
	/// When enabled is set to false, connection to the greylisting service is closed.
	CustomWhiteList  OptionalEntity    `json:"customWhiteList"`  // switchable custom whitelist IP group
	Status           GreylistingStatus `json:"status"`           // read only: current status
	MessagesAccepted string            `json:"messagesAccepted"` // read only: messages accepted
	MessagesDelayed  string            `json:"messagesDelayed"`  // read only: messages temoprarily rejected
	MessagesSkipped  string            `json:"messagesSkipped"`  // read only: messages skipped
}

type GreylistingStats added in v0.1.2

type GreylistingStats struct {
	MessagesAccepted string `json:"messagesAccepted"`
	MessagesDelayed  string `json:"messagesDelayed"`
	MessagesSkipped  string `json:"messagesSkipped"`
}

type GreylistingStatus added in v0.2.0

type GreylistingStatus string

GreylistingStatus - State of the Greylisting client.

const (
	GreylistingOff   GreylistingStatus = "GreylistingOff"
	GreylistingOn    GreylistingStatus = "GreylistingOn"
	GreylistingError GreylistingStatus = "GreylistingError" // Greylisting encountered an error. Call Content.testGreylistConnection() for a more detailed error description.
)

type Group added in v0.2.0

type Group struct {
	Id                   KId          `json:"id"`                   // global identification of group
	DomainId             KId          `json:"domainId"`             // identification in which domain group exists
	Name                 string       `json:"name"`                 // group name
	EmailAddresses       StringList   `json:"emailAddresses"`       // group email addresses
	Role                 UserRoleType `json:"role"`                 // access rights list
	HasDomainRestriction bool         `json:"hasDomainRestriction"` // user can send/receive from/to his domain only
	Description          string       `json:"description"`          // description
	ItemSource           DataSource   `json:"itemSource"`           // internal database or mapped from LDAP?
	PublishInGal         bool         `json:"publishInGal"`         // publish user in global address list? - default is true
}

Group - Group details

type GroupLimit added in v0.2.0

type GroupLimit struct {
	IsUsed  bool           `json:"isUsed"`  // is group limit set
	IpGroup IpAddressGroup `json:"ipGroup"` // IP address group
}

type GroupList added in v0.2.0

type GroupList []Group

GroupList - List of groups

type GroupRemovalRequest added in v0.2.0

type GroupRemovalRequest struct {
	GroupId KId                        `json:"groupId"` // ID of group to be removed
	Mode    DirectoryServiceDeleteMode `json:"mode"`    // delete mode
}

type GroupRemovalRequestList added in v0.2.0

type GroupRemovalRequestList []GroupRemovalRequest

type HighlightColor added in v0.1.2

type HighlightColor string

HighlightColor - Highlight color definition in format RRGGBB

type HighlightItem added in v0.1.2

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 added in v0.1.2

type HighlightRules []HighlightItem

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

type HistogramIntervalType added in v0.2.0

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 added in v0.2.0

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 HomeServer added in v0.0.3

type HomeServer struct {
	Id   KId    `json:"id"`   // server's id
	Name string `json:"name"` // server's Internet hostname
}

HomeServer - User's home server in a distributed domain.

type HomeServerList added in v0.2.0

type HomeServerList []HomeServer

type HourOrDay added in v0.2.0

type HourOrDay string
const (
	Hour HourOrDay = "Hour"
	Day  HourOrDay = "Day"
)

type HttpExtension added in v0.2.0

type HttpExtension string
const (
	NoExtension HttpExtension = "NoExtension"
	WebGeneric  HttpExtension = "WebGeneric" // WebMail or WebMail Mini or WebAdmin
	WebDav      HttpExtension = "WebDav"
	CalDav      HttpExtension = "CalDav"
	ActiveSync  HttpExtension = "ActiveSync"
	KocOffline  HttpExtension = "KocOffline"
	KBC         HttpExtension = "KBC" // Kerio Connector for BlackBerry Enterprise Server
	EWS         HttpExtension = "EWS" // Exchange Web Services
)

type HttpProxyOptions added in v0.1.2

type HttpProxyOptions struct {
	IsEnabled              bool   `json:"isEnabled"` // Use HTTP proxy for antivirus updates, Kerio update checker and other web services
	Address                string `json:"address"`
	Port                   int    `json:"port"`
	RequiresAuthentication bool   `json:"requiresAuthentication"` // Proxy requires authentication
	UserName               string `json:"userName"`
	Password               string `json:"password"`
}

type IdEntity added in v0.1.2

type IdEntity struct {
	Id   KId    `json:"id"`   // global identifier of entity
	Name string `json:"name"` // [READ-ONLY] name or description of entity
}

type ImapServerStats added in v0.1.2

type ImapServerStats struct {
	TotalIncomingConnections string `json:"totalIncomingConnections"`
	AuthenticationFailures   string `json:"authenticationFailures"`
}

type ImportServer added in v0.1.2

type ImportServer struct {
	DirectoryType      ServerDirectoryType `json:"directoryType"`
	RemoteDomainName   string              `json:"remoteDomainName"`
	Address            string              `json:"address"` // server IP or FQDN
	LoginName          string              `json:"loginName"`
	Password           string              `json:"password"`
	LdapFilter         string              `json:"ldapFilter"`
	IsSecureConnection bool                `json:"isSecureConnection"`
}

ImportServer - Properties of the server from which users are imported.

type Importee added in v0.1.2

type Importee struct {
	UserItem     User   `json:"userItem"`     // user data
	IsImportable bool   `json:"isImportable"` // [READ-ONLY] user can be imported
	Message      string `json:"message"`      // [READ-ONLY] error message if user is not importable
}

Importee - A user being imported from directory server.

type ImporteeList added in v0.1.2

type ImporteeList []Importee

type IntegerList added in v0.1.2

type IntegerList []int

IntegerList - Type for lists of integers.

type IntegratedAntiSpamEngine added in v0.2.0

type IntegratedAntiSpamEngine struct {
	Enabled       bool                     `json:"enabled"`
	Score         int                      `json:"score"`         // Spam score(default 10)
	NegativeScore int                      `json:"negativeScore"` // Score for legit messages (default 0)
	SubmitSpam    bool                     `json:"submitSpam"`    // Submit spam samples(default on)
	SubmitLegit   bool                     `json:"submitLegit"`   // Submit legit samples(default on)
	Status        IntegratedAntiSpamStatus `json:"status"`        // [READ-ONLY]
	IsLicensed    bool                     `json:"isLicensed"`    // [READ-ONLY] Is license valid and not expired? If false engine is not running no matter on value in enabled.
}

type IntegratedAntiSpamStatus added in v0.2.0

type IntegratedAntiSpamStatus string
const (
	AntiSpamReady          IntegratedAntiSpamStatus = "AntiSpamReady"
	AntiSpamDisabled       IntegratedAntiSpamStatus = "AntiSpamDisabled"
	AntiSpamNotLicenced    IntegratedAntiSpamStatus = "AntiSpamNotLicenced"
	AntiSpamNotInitialized IntegratedAntiSpamStatus = "AntiSpamNotInitialized"
	AntiSpamNotConnected   IntegratedAntiSpamStatus = "AntiSpamNotConnected"
)

type IntegratedAvirUpdateStatus added in v0.2.0

type IntegratedAvirUpdateStatus struct {
	Status  UpdateStatus `json:"status"`  // state of update process
	Percent int          `json:"percent"` // percent of downloaded data
}

type IntegratedEngine added in v0.2.0

type IntegratedEngine struct {
	CheckForUpdates         bool           `json:"checkForUpdates"`   // should we periodically ask for a new version?
	UpdatePeriod            int            `json:"updatePeriod"`      // update checking period in hours
	DatabaseAge             DistanceOrNull `json:"databaseAge"`       // how old is virus database
	LastUpdateCheck         DistanceOrNull `json:"lastUpdateCheck"`   // how long is since last database update check
	DatabaseVersion         string         `json:"databaseVersion"`   // virus database version
	EngineVersion           string         `json:"engineVersion"`     // scanning engine version
	IsPluginAvailable       bool           `json:"isPluginAvailable"` // says if plugins dll is on hardrive
	IsLiveProtectionEnabled bool           `json:"isLiveProtectionEnabled"`
}

type InternetConnection added in v0.2.0

type InternetConnection string
const (
	Permanent      InternetConnection = "Permanent"      // permanent Internet connection
	Triggered      InternetConnection = "Triggered"      // connection is established by scheduler
	TriggeredOnRas InternetConnection = "TriggeredOnRas" // Remote Access Service - Windows only option
)

type InternetSettings added in v0.2.0

type InternetSettings struct {
	Type                 InternetConnection `json:"type"`                 // type of Internet settings connection
	RasLine              string             `json:"rasLine"`              // name of RAS line
	UseSystemCredentials bool               `json:"useSystemCredentials"` // use username and password defined in system
	RasUser              string             `json:"rasUser"`              // RAS username
	RasPassword          string             `json:"rasPassword"`          // write only; password to RAS
	DialOnHigh           bool               `json:"dialOnHigh"`           // enable dial-up on high priority message
}

type IpAddress added in v0.1.2

type IpAddress string

type IpAddressEntry added in v0.2.0

type IpAddressEntry 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           IpAddressGroupType `json:"type"`
	Enabled        bool               `json:"enabled"`
	Status         StoreStatus        `json:"status"`
	Host           string             `json:"host"`  // name, IP or IP prefix
	Addr1          IpAddress          `json:"addr1"` // network/from, e.g. 192.168.0.0
	Addr2          IpAddress          `json:"addr2"` // mask/to, e.g. 255.255.0.0
	ChildGroupId   KId                `json:"childGroupId"`
	ChildGroupName string             `json:"childGroupName"`
}

IpAddressEntry - type + host + (addr1, addr2) + childGroupId

type IpAddressEntryList added in v0.2.0

type IpAddressEntryList []IpAddressEntry

type IpAddressGroup added in v0.2.0

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

type IpAddressGroupList added in v0.2.0

type IpAddressGroupList []IpAddressGroup

type IpAddressGroupType added in v0.2.0

type IpAddressGroupType string

IpAddressGroupType -

const (
	Host        IpAddressGroupType = "Host"
	Network     IpAddressGroupType = "Network"
	Range       IpAddressGroupType = "Range"
	ChildGroup  IpAddressGroupType = "ChildGroup"
	ThisMachine IpAddressGroupType = "ThisMachine"
	IpPrefix    IpAddressGroupType = "IpPrefix"
)

type IpAddressList added in v0.1.2

type IpAddressList []IpAddress

type IpLimit added in v0.2.0

type IpLimit struct {
	MaximumFromIp      ItemCountLimit `json:"maximumFromIp"`      // maximum number of messages per hour from 1 IP address
	MaximumConnections ItemCountLimit `json:"maximumConnections"` // maximum number of concurrent SMTP connections from 1 IP address
	MaximumUnknowns    ItemCountLimit `json:"maximumUnknowns"`    // maximum number of unknown recipients
	IpAddressGroupName string         `json:"ipAddressGroupName"` // output only: name of IP group on which limits are NOT applied
	IpAddressGroupId   KId            `json:"ipAddressGroupId"`   // ID of IP group on which limits are NOT applied
}

type ItemCountLimit added in v0.1.2

type ItemCountLimit struct {
	IsActive bool `json:"isActive"`
	Limit    int  `json:"limit"`
}

ItemCountLimit - Settings of items limit. Note: all fields must be assigned if used in set methods.

type ItemName added in v0.1.2

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 JavaScriptDate added in v0.2.0

type JavaScriptDate string

JavaScriptDate - JavaScript timestamp

type KId added in v0.1.2

type KId string

KId - global object identification

type KIdList added in v0.1.2

type KIdList []KId

KIdList - list of global object identifiers

type KeepForRecovery

type KeepForRecovery struct {
	IsEnabled bool `json:"isEnabled"`
	Days      int  `json:"days"`
}

type KoffOptions added in v0.1.2

type KoffOptions struct {
	UpgradePolicy KoffUpgradePolicy `json:"upgradePolicy"`
}

type KoffUpgradePolicy added in v0.1.2

type KoffUpgradePolicy string
const (
	KoffUPolicyAskVoluntary          KoffUpgradePolicy = "KoffUPolicyAskVoluntary"          // Ask user for each version change and do not allow the update.
	KoffUPolicyAskRequired           KoffUpgradePolicy = "KoffUPolicyAskRequired"           // Ask user for each version change and require the update.
	KoffUPolicyAlwaysSilent          KoffUpgradePolicy = "KoffUPolicyAlwaysSilent"          // Do update for each version change. Update silently when Outlook starts. Ask users when Outlook is running and require update.
	KoffUPolicyOnStartSilent         KoffUpgradePolicy = "KoffUPolicyOnStartSilent"         // default, available in WebAdmin. Do update for each version change. Update silently when Outlook starts. When Outlook is running do nothing and wait for next Outlook start.
	KoffUPolicyOnlyIfNecessaryAsk    KoffUpgradePolicy = "KoffUPolicyOnlyIfNecessaryAsk"    // Update only if necessary. Ask users and require the update.
	KoffUPolicyOnlyIfNecessarySilent KoffUpgradePolicy = "KoffUPolicyOnlyIfNecessarySilent" // available in WebAdmin, Update only if necessary. Update silently when Outlook starts. Ask users when Outlook is running and require update.
)

type LangDescription added in v0.1.2

type LangDescription struct {
	Name      string `json:"name"`      // name of language (national form)
	Code      string `json:"code"`      // code of language; E.g.: "en-gb"
	ShortCode string `json:"shortCode"` // short code of language which is used to identify language file; e.g. "en"
}

type LangDescriptionList added in v0.1.2

type LangDescriptionList []LangDescription

type LastBackupStatus added in v0.1.2

type LastBackupStatus string

type LastLogin added in v0.1.2

type LastLogin struct {
	DateTime DateTimeStamp `json:"dateTime"` // date and time of last login
	Protocol string        `json:"protocol"` // protocol name of last login, example POP3
}

LastLogin - Last login information.

type LdapServerStats added in v0.1.2

type LdapServerStats struct {
	TotalIncomingConnections string `json:"totalIncomingConnections"`
	AuthenticationFailures   string `json:"authenticationFailures"`
	TotalSearchRequests      string `json:"totalSearchRequests"`
}

type LeaveOnServer added in v0.2.0

type LeaveOnServer struct {
	Enabled           bool         `json:"enabled"`
	RemoveAfterPeriod OptionalLong `json:"removeAfterPeriod"`
}

LeaveOnServer - If removeAfterPeriod is enabled, messages are deleted after specified period (in days).

type LicenseDetail added in v0.2.0

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 added in v0.2.0

type LicenseExpireInfo []ExpireInfo

LicenseExpireInfo - All expiration dates information in license

type Listener added in v0.2.0

type Listener struct {
	Type    AddressType `json:"type"`
	Address IpAddress   `json:"address"` // can obtain localizable string "All addresses"
	Port    int         `json:"port"`
}

Listener - Listening entity Note: all fields must be assigned if used in set methods

type ListenerList added in v0.2.0

type ListenerList []Listener

type LocalizableMessage added in v0.1.2

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 added in v0.1.2

type LocalizableMessageList []LocalizableMessage

type LocalizableMessageParameters added in v0.0.3

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 - Message can contain replacement marks: { "User %1 cannot be deleted.", ["jsmith"], 1 }. This is the parameters structure.

type LogFileSettings added in v0.1.2

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 added in v0.1.2

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

LogItem - 1 log

type LogRotationSettings added in v0.1.2

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 added in v0.1.2

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

LogRow - row of the log

type LogRowList added in v0.1.2

type LogRowList []LogRow

type LogSet added in v0.1.2

type LogSet []LogItem

LogSet - List of valid logs

type LogSettings added in v0.1.2

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 added in v0.1.2

type LogType string

LogType - valid Control names: alert, config, connection, debug, dial, error, filter, http, security, sslvpn, warning, web

type LogicalOperator added in v0.1.2

type LogicalOperator string

LogicalOperator - Compound Operator

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

type LoginStats added in v0.1.2

type LoginStats struct {
	Count     int    `json:"count"`
	LastLogin string `json:"lastLogin"`
}

LoginStats - Login statistics - count and timestamp of the last login.

type MLMemberImportee added in v0.2.0

type MLMemberImportee struct {
	Member       UserOrEmail `json:"member"`       // ML member data
	IsImportable bool        `json:"isImportable"` // ML member can be imported
	Message      string      `json:"message"`      // error message if ML member is not importable
}

MLMemberImportee - A ML member being imported from CSV file.

type MLMemberImporteeList added in v0.2.0

type MLMemberImporteeList []MLMemberImportee

type MailboxCount added in v0.1.2

type MailboxCount struct {
	Active int `json:"active"` // the number of active mailboxes on server
	Total  int `json:"total"`  // the number of created users on server
}

type ManipulationError added in v0.1.2

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 added in v0.1.2

type ManipulationErrorList []ManipulationError

type MasterAuthenticationOptions added in v0.1.2

type MasterAuthenticationOptions struct {
	IsEnabled        bool   `json:"isEnabled"`        // Enable master authentication to this server
	GroupRestriction KId    `json:"groupRestriction"` // Allow master authentication only from IP address group
	Password         string `json:"password"`         // [WriteOnly] Master password
}

type MaximumUsers added in v0.2.0

type MaximumUsers struct {
	IsUnlimited  bool          `json:"isUnlimited"`  // is it a special case with no limit for users ?
	AllowedUsers int           `json:"allowedUsers"` // number of allowed users (take minimum of server and domain limit)
	Limit        int           `json:"limit"`        // max. user limit
	LimitType    UserLimitType `json:"limitType"`    // max. user limit type, if domain limit == license limit -> use license
}

MaximumUsers - User limit information

type MessageInProcess added in v0.2.1

type MessageInProcess struct {
	Id          KId                `json:"id"`          // Queue ID
	MessageSize ByteValueWithUnits `json:"messageSize"` // message size in appropriate units
	From        string             `json:"from"`        // sender email address
	To          string             `json:"to"`          // recipient email address
	Status      MessageStatus      `json:"status"`      // message status
	Percentage  int                `json:"percentage"`  // only for processing: completed percentage
	Server      string             `json:"server"`      // server name or IP
	Time        string             `json:"time"`        // time in process
}

MessageInProcess - Message being processed by server

type MessageInProcessList added in v0.2.1

type MessageInProcessList []MessageInProcess

type MessageInQueue added in v0.2.1

type MessageInQueue struct {
	Id           KId                `json:"id"`           // Queue ID
	CreationTime string             `json:"creationTime"` // when the message was created
	NextTry      string             `json:"nextTry"`      // when to try send message
	MessageSize  ByteValueWithUnits `json:"messageSize"`  // message size in appropriate units
	From         string             `json:"from"`         // sender email address
	To           string             `json:"to"`           // recipient email address
	Status       string             `json:"status"`       // message status
	AuthSender   string             `json:"authSender"`   // email address of authenticated sender
	SenderIp     IpAddress          `json:"senderIp"`     // IP address of authenticated sender
}

MessageInQueue - Message waiting in the queue

type MessageInQueueList added in v0.2.1

type MessageInQueueList []MessageInQueue

type MessageStatus added in v0.2.1

type MessageStatus string

type MessageThroughput added in v0.1.2

type MessageThroughput struct {
	Count      string             `json:"count"`      // how many messages
	Volume     ByteValueWithUnits `json:"volume"`     // how much space is occupied by messages
	Recipients string             `json:"recipients"` // how many recipients in messages
}

type MigrationStatus added in v0.2.0

type MigrationStatus struct {
	MigrationStatus    MigrationStatusEnum `json:"migrationStatus"`    // current status of the migration
	ProgressInPercents int                 `json:"progressInPercents"` // number from 0 to 100
	ErrorMessage       string              `json:"errorMessage"`       // If migrationStatus is migError, errorMessage optionaly contains detailed info about error in english
}

MigrationStatus - Status of the migration task and progress of migration in percents.

type MigrationStatusEnum added in v0.2.0

type MigrationStatusEnum string

type MigrationTask added in v0.2.0

type MigrationTask struct {
	Id           KId        `json:"id"`           // id of migration task
	UserId       KId        `json:"userId"`       // id of migrated user
	UserName     string     `json:"userName"`     // name of migrated user
	SourceServer HomeServer `json:"sourceServer"` // source homeserver
	// HomeServer targetServer;   // in current implementation it's always current server -
	Status MigrationStatus `json:"status"` // status of the migration
}

MigrationTask - Whole structure is READ-ONLY

type MigrationTaskList added in v0.2.0

type MigrationTaskList []MigrationTask

MigrationTaskList - List of migration tasks

type MiscellaneousOptions added in v0.1.2

type MiscellaneousOptions struct {
	LogHostNames              bool `json:"logHostNames"`              // Log hostnames for incoming connections
	ShowProgramNameAndVersion bool `json:"showProgramNameAndVersion"` // Show program name and version in network communication for non-authenticated users
	InsertXEnvelopeTo         bool `json:"insertXEnvelopeTo"`         // Insert X-Envelope-To header to locally delivered messages
	EnableTNEFDecoding        bool `json:"enableTNEFDecoding"`        // Enable decoding of TNEF messages (winmail.dat attachments)
	EnableUUEncodedConversion bool `json:"enableUUEncodedConversion"` // Enable conversion of uuencoded messages to MIME
}

type Ml added in v0.2.0

type Ml struct {
	Id                KId                `json:"id"`                // [READ-ONLY] global identification of ML
	DomainId          KId                `json:"domainId"`          // [REQUIRED FOR CREATE] [WRITE-ONCE] identification in which domain ML exists
	Name              string             `json:"name"`              // [REQUIRED FOR CREATE] [WRITE-ONCE] ML name, name@domain is email address
	Description       string             `json:"description"`       // description
	LanguageId        KId                `json:"languageId"`        // language to be spoken withing mailing list
	WelcomeString     string             `json:"welcomeString"`     // string to be sent as welcome of a new memeber
	FooterString      string             `json:"footerString"`      // string to be sent as footer of each contribution
	Subscription      SubscriptionPolicy `json:"subscription"`      // type of ML subscription policy
	Posting           PostingPolicy      `json:"posting"`           // type of ML posting policy
	ReplyTo           MlReplyTo          `json:"replyTo"`           // how should be replied to
	OtherAddress      string             `json:"otherAddress"`      // if replyTo is OtherAddress, it contains email address
	SubjectPrefix     string             `json:"subjectPrefix"`     // prefix for each subject
	HideSenderAddress bool               `json:"hideSenderAddress"` // replace sender's email address by ML address
	AllowEmptySubject bool               `json:"allowEmptySubject"` // allow posting with empty subject
	Archive           ArchiveSettings    `json:"archive"`           // archive settings
	MembersCount      int                `json:"membersCount"`      // [READ-ONLY] Number of members.
	HomeServer        HomeServer         `json:"homeServer"`        // [READ-ONLY] Id of users homeserver if server is in Cluster
}

Ml - Mailing List Structure

type MlList added in v0.2.0

type MlList []Ml

MlList - List of mailing lists

type MlMembership added in v0.2.0

type MlMembership string

MlMembership - Type of Mailing List Membership

const (
	Member    MlMembership = "Member"    // obtains contributions
	Moderator MlMembership = "Moderator" // can manipulate with members but does not obtain contributions
)

type MlPermission added in v0.2.0

type MlPermission string

MlPermission - Mailing List (=ML) Action Access Right Type

const (
	Allowed   MlPermission = "Allowed"   // certain action is allowed
	Moderated MlPermission = "Moderated" // certain action must be approved by moderator
	Denied    MlPermission = "Denied"    // certain action is denied
)

type MlReplyTo added in v0.2.0

type MlReplyTo string

MlReplyTo - ML Addressee Type

const (
	Sender         MlReplyTo = "Sender"         // email address of the sender
	ThisList       MlReplyTo = "ThisList"       // email address of the ML
	OtherAddress   MlReplyTo = "OtherAddress"   // the address of the original sender will be substituted by a user defined email address
	SenderThisList MlReplyTo = "SenderThisList" // Sender + ThisList
)

type MobileDevice added in v0.2.0

type MobileDevice struct {
	ProtocolType        ProtocolType   `json:"protocolType"`
	DeviceId            string         `json:"deviceId"`
	ProtocolVersion     string         `json:"protocolVersion"`     // used ActiveSync protocol version
	RegistrationDate    DateTimeStamp  `json:"registrationDate"`    // date of registration
	RegistrationDateIso UtcDateTime    `json:"registrationDateIso"` // date of registration
	LastSyncDate        DateTimeStamp  `json:"lastSyncDate"`        // date of last synchronization
	LastSyncDateIso     UtcDateTime    `json:"lastSyncDateIso"`     // date of last synchronization
	FolderList          SyncFolderList `json:"folderList"`          // list of synchronized folders
	Status              DeviceStatus   `json:"status"`              // wipe status
	Method              SyncMethod     `json:"method"`              // synchronization method
	RemoteHost          string         `json:"remoteHost"`          // typically IP address of device
	Os                  string         `json:"os"`                  // operating system - eg. Windows Mobile(R) 2003
	Platform            string         `json:"platform"`            // PocketPC
	DeviceIcon          string         `json:"deviceIcon"`          // Device icon Eg. 'pocketpc' or 'unknown'
}

MobileDevice - Mobile device properties.

type MobileDeviceList added in v0.2.0

type MobileDeviceList []MobileDevice

MobileDeviceList - List of mobile devices.

type ModeratorPermission added in v0.2.0

type ModeratorPermission string

ModeratorPermission - Moderator Posting Access Right Type

const (
	PostAllowed             ModeratorPermission = "PostAllowed"             // certain action is allowed
	PostModerated           ModeratorPermission = "PostModerated"           // certain action must be approved by moderator
	PostAccordingMembership ModeratorPermission = "PostAccordingMembership" // certain action is ruled according modarator membership
)

type NamedConstant added in v0.1.2

type NamedConstant struct {
	Name  string `json:"name"`  // constant name
	Value string `json:"value"` // a value of constant
}

A way how to say client that the server has a constant

type NamedConstantList

type NamedConstantList []NamedConstant

type NamedMultiValue added in v0.1.0

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

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

type NamedMultiValueList added in v0.1.2

type NamedMultiValueList []NamedMultiValue

NamedMultiValueList - List of name-multivalue pairs

type NamedValue added in v0.1.0

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 added in v0.1.2

type NamedValueList []NamedValue

NamedValueList - List of name-value pairs

type NotificationType added in v0.1.2

type NotificationType string

type Notifications added in v0.1.2

type Notifications struct {
	Success string `json:"success"` // how many sent success notifications
	Delay   string `json:"delay"`   // how many sent delay notifications
	Failure string `json:"failure"` // how many sent failure notifications
}

type OccupiedStorage added in v0.1.2

type OccupiedStorage struct {
	Total      ByteValueWithUnits `json:"total"`      // total space on disc
	Occupied   ByteValueWithUnits `json:"occupied"`   // occupied space on disc
	Percentage string             `json:"percentage"` // how many per cent is occupied
}

type OperatorOptions added in v0.1.2

type OperatorOptions struct {
	IsEnabled bool   `json:"isEnabled"`
	Address   string `json:"address"`
}

type OptionalEntity added in v0.1.2

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

OptionalEntity - IP Address Group / Time Range / ... that can be switched on/off Note: all fields must be assigned if used in set methods

type OptionalLong added in v0.1.2

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 added in v0.1.2

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

OptionalString - A string that can be switched on/off. String is meaningful only if switched on. Note: all fields must be assigned if used in set methods

type OtherStats added in v0.1.2

type OtherStats struct {
	Largest ByteValueWithUnits `json:"largest"` // the largest messages received by server
	Loops   string             `json:"loops"`   // how many detected message loops
}

type OutgoingMessageLimit

type OutgoingMessageLimit struct {
	IsActive bool `json:"isActive"`
	Limit    struct {
		Value int    `json:"value"`
		Units string `json:"units"`
	} `json:"limit"`
}

type PercentHistogram added in v0.2.0

type PercentHistogram []float64

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

type PersonalContact added in v0.1.2

type PersonalContact struct {
	CommonName           string           `json:"commonName"`
	FirstName            string           `json:"firstName"`
	MiddleName           string           `json:"middleName"`
	SurName              string           `json:"surName"`
	TitleBefore          string           `json:"titleBefore"`
	TitleAfter           string           `json:"titleAfter"`
	NickName             string           `json:"nickName"`
	PhoneNumberWorkVoice string           `json:"phoneNumberWorkVoice"`
	PhoneNumberMobile    string           `json:"phoneNumberMobile"`
	PostalAddressWork    PostalAddress    `json:"postalAddressWork"`
	UrlWork              string           `json:"urlWork"`
	BirthDay             UtcDateTime      `json:"birthDay"`
	Anniversary          UtcDateTime      `json:"anniversary"`
	CompanyName          string           `json:"companyName"`
	DepartmentName       string           `json:"departmentName"`
	Profession           string           `json:"profession"`
	ManagerName          string           `json:"managerName"`
	AssistantName        string           `json:"assistantName"`
	Comment              string           `json:"comment"`
	IMAddress            string           `json:"IMAddress"`
	Photo                PhotoAttachment  `json:"photo"`
	IsReadOnly           bool             `json:"isReadOnly"`
	EmailAddresses       EmailAddressList `json:"emailAddresses"`
}

PersonalContact - Personal Contact detail.

type PersonalContactList added in v0.1.2

type PersonalContactList []PersonalContact

type PhoneNumber added in v0.1.2

type PhoneNumber struct {
	Type      PhoneNumberType `json:"type"`
	Number    string          `json:"number"` // A number - based on the X.500 Telephone Number attribute
	Extension ABExtension     `json:"extension"`
}

PhoneNumber - Structure desribing a contact phone number

type PhoneNumberList added in v0.1.2

type PhoneNumberList []PhoneNumber

type PhoneNumberType added in v0.1.2

type PhoneNumberType string

PhoneNumberType - Type of a contact phone number

const (
	TypeAssistant  PhoneNumberType = "TypeAssistant"
	TypeWorkVoice  PhoneNumberType = "TypeWorkVoice"
	TypeWorkFax    PhoneNumberType = "TypeWorkFax"
	TypeCallback   PhoneNumberType = "TypeCallback"
	TypeCar        PhoneNumberType = "TypeCar"
	TypeCompany    PhoneNumberType = "TypeCompany"
	TypeHomeVoice  PhoneNumberType = "TypeHomeVoice"
	TypeHomeFax    PhoneNumberType = "TypeHomeFax"
	TypeIsdn       PhoneNumberType = "TypeIsdn"
	TypeMobile     PhoneNumberType = "TypeMobile"
	TypeOtherVoice PhoneNumberType = "TypeOtherVoice"
	TypeOtherFax   PhoneNumberType = "TypeOtherFax"
	TypePager      PhoneNumberType = "TypePager"
	TypePrimary    PhoneNumberType = "TypePrimary"
	TypeRadio      PhoneNumberType = "TypeRadio"
	TypeTelex      PhoneNumberType = "TypeTelex"
	TypeTtyTdd     PhoneNumberType = "TypeTtyTdd"
	TypeCustom     PhoneNumberType = "TypeCustom" // no type defined
)

type PhotoAttachment added in v0.1.2

type PhotoAttachment struct {
	Id  string `json:"id"`  // origin ID of attachment or ID from upload response
	Url string `json:"url"` // [READ-ONLY] Relative URL from root of web. Eg.: /webmail/api/download/attachment/ba5767a9-7a70-4c90-a6bf-dc8dd62e259c/14/0-1-0-1/picture.jpg
}

PhotoAttachment - A contact photo. Only JPEG format is supported. Maximum size is 256 kB.

type Pop3Account added in v0.2.0

type Pop3Account struct {
	Id              KId                `json:"id"`
	IsActive        bool               `json:"isActive"`
	Server          string             `json:"server"`   // POP3 server name
	UserName        string             `json:"userName"` // username on POP3 server
	Password        string             `json:"password"` // password appropriate to username
	Description     string             `json:"description"`
	DeliveryAddress string             `json:"deliveryAddress"`
	UseSortingRules bool               `json:"useSortingRules;//"` // If value is true sortType will save otherwise deliveryAddress will save. Default is false.
	SortType        string             `json:"sortType"`
	DropDuplicates  bool               `json:"dropDuplicates"` // drop duplicate messages?
	Mode            SslMode            `json:"mode"`
	Port            int                `json:"port"`
	Authentication  Pop3Authentication `json:"authentication"`
	MessageLimit    ByteValueWithUnits `json:"messageLimit"` // per session download limit - total message size
	MaxCount        int                `json:"maxCount"`     // per session download limit - maximum message count
	LeaveOnServer   LeaveOnServer      `json:"leaveOnServer"`
}

type Pop3AccountList added in v0.2.0

type Pop3AccountList []Pop3Account

type Pop3Authentication added in v0.2.0

type Pop3Authentication string
const (
	PlainPop3 Pop3Authentication = "PlainPop3"
	Apop      Pop3Authentication = "Apop"
)

type Pop3ClientStats added in v0.1.2

type Pop3ClientStats struct {
	ConnectionAttempts     string `json:"connectionAttempts"`
	ConnectionFailures     string `json:"connectionFailures"`
	AuthenticationFailures string `json:"authenticationFailures"`
	TotalDownloads         string `json:"totalDownloads"`
}

type Pop3ServerStats added in v0.1.2

type Pop3ServerStats struct {
	TotalIncomingConnections string `json:"totalIncomingConnections"`
	AuthenticationFailures   string `json:"authenticationFailures"`
	SentMessages             string `json:"sentMessages"`
}

type Pop3Sorting added in v0.2.0

type Pop3Sorting struct {
	Id          KId    `json:"id"`
	IsActive    bool   `json:"isActive"`
	SortAddress string `json:"sortAddress"`
	DeliverTo   string `json:"deliverTo"`
	Description string `json:"description"`
}

type Pop3SortingList added in v0.2.0

type Pop3SortingList []Pop3Sorting

type PostalAddress added in v0.1.2

type PostalAddress struct {
	Preferred       bool              `json:"preferred"`
	Pobox           string            `json:"pobox"`           // the post office box
	ExtendedAddress string            `json:"extendedAddress"` // e.g., apartment or suite number
	Street          string            `json:"street"`          // the street address
	Locality        string            `json:"locality"`        // the locality (e.g., city)
	State           string            `json:"state"`           // the region (e.g., state or province);
	Zip             string            `json:"zip"`             // the postal code
	Country         string            `json:"country"`         // the country name (full name)
	Label           string            `json:"label"`
	Type            PostalAddressType `json:"type"`
	Extension       ABExtension       `json:"extension"`
}

PostalAddress - Structure describing a postal address in contact.

type PostalAddressList added in v0.1.2

type PostalAddressList []PostalAddress

PostalAddressList - A sequence of postal addresses.

type PostalAddressType added in v0.1.2

type PostalAddressType string

PostalAddressType - Type of a postal address

const (
	AddressHome   PostalAddressType = "AddressHome"
	AddressWork   PostalAddressType = "AddressWork"
	AddressOther  PostalAddressType = "AddressOther"
	AddressCustom PostalAddressType = "AddressCustom" // no type defined
)

type PostingPolicy added in v0.2.0

type PostingPolicy struct {
	MemberPosting           MlPermission        `json:"memberPosting"`           // posting policy for ML member(s)
	NonMemberPosting        MlPermission        `json:"nonMemberPosting"`        // posting policy for ML non-member(s)
	ModeratorPosting        ModeratorPermission `json:"moderatorPosting"`        // posting policy for ML moderator(s)
	UserPostingNotification bool                `json:"userPostingNotification"` // notify user that the posting will be reviewed by a moderator
	SendErrorsToModerator   bool                `json:"sendErrorsToModerator"`   // send delivery errors to moderator(s)
}

PostingPolicy - Rules for posting

type PrincipalDescription added in v0.2.0

type PrincipalDescription struct {
	Type        PrincipalType `json:"type"`
	Id          KId           `json:"id"`
	Name        string        `json:"name"`
	DomainName  string        `json:"domainName"`
	FullName    string        `json:"fullName"`
	Description string        `json:"description"`
	IsEnabled   bool          `json:"isEnabled"`
	ItemSource  DataSource    `json:"itemSource"` // internal/LDAP
	HomeServer  HomeServer    `json:"homeServer"` // id of users homeserver if server is in Cluster; groups haven't homeserver
}

PrincipalDescription - Principal descriptor [READ-ONLY]

type PrincipalList added in v0.2.0

type PrincipalList []PrincipalDescription

PrincipalList - List of principals

type PrincipalType added in v0.2.0

type PrincipalType string

PrincipalType - Principal type

const (
	AuthDomainPrincipal PrincipalType = "AuthDomainPrincipal" // represents all users from a specified domain
	AuthUserPrincipal   PrincipalType = "AuthUserPrincipal"   // represents all users from all domains
	AnyonePrincipal     PrincipalType = "AnyonePrincipal"     // represents authorized users from all domains
	UserPrincipal       PrincipalType = "UserPrincipal"       // represents an user
	GroupPrincipal      PrincipalType = "GroupPrincipal"      // represents an group
	NonePrincipal       PrincipalType = "NonePrincipal"       // target is empty
)

type ProductInfo

type ProductInfo struct {
	ProductName  string       `json:"productName"`
	Version      string       `json:"version"`
	BuildNumber  string       `json:"buildNumber"`
	OsName       string       `json:"osName"`
	Os           ServerOs     `json:"os"`
	ReleaseType  BuildType    `json:"releaseType"`
	DeployedType DeployedType `json:"deployedType"`
	UpdateInfo   UpdateInfo   `json:"updateInfo"`
}

type ProductVersion added in v0.2.0

type ProductVersion struct {
	ProductName   string    `json:"productName"`   // e.g. "Kerio Connect"
	Major         int       `json:"major"`         // e.g. 7
	Minor         int       `json:"minor"`         // e.g. 4
	Revision      int       `json:"revision"`      // e.g. 0
	Build         int       `json:"build"`         // e.g. 4528
	Order         int       `json:"order"`         // e.g. 1 for alpha/beta/rc/patch 1
	ReleaseType   BuildType `json:"releaseType"`   // e.g. Patch
	DisplayNumber string    `json:"displayNumber"` // e.g. "7.4.0 patch 1"
}

ProductVersion - Product version, machine- and human-readable.

type Protocol added in v0.2.0

type Protocol string

type ProtocolType added in v0.2.0

type ProtocolType string

type PublicFolder added in v0.0.3

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

type PublicFolderList added in v0.0.3

type PublicFolderList []PublicFolder

type QuotaNotification added in v0.1.2

type QuotaNotification struct {
	Type   NotificationType `json:"type"`
	Period TimeLimit        `json:"period"`
}

type QuotaUsage added in v0.1.2

type QuotaUsage struct {
	Items   int                `json:"items"`
	Storage ByteValueWithUnits `json:"storage"`
}

QuotaUsage - Amount of storage used and items currently stored in user's store.

type QuotaUsageList added in v0.1.2

type QuotaUsageList []QuotaUsage

QuotaUsageList - List of QuotaUsage.

type ReactionOnNotScanned added in v0.2.0

type ReactionOnNotScanned string

ReactionOnNotScanned - What to do with a corrupted or encrypted file

const (
	DeliverWithWarning ReactionOnNotScanned = "DeliverWithWarning" // deliver original message with prepended warning
	SameAsVirus        ReactionOnNotScanned = "SameAsVirus"        // the same reaction as for ReactionOnVirus
)

type ReactionOnVirus added in v0.2.0

type ReactionOnVirus string

ReactionOnVirus - What to do with an infected file

const (
	DiscardMessage ReactionOnVirus = "DiscardMessage" // completely dicard the message
	RemoveVirus    ReactionOnVirus = "RemoveVirus"    // deliver the message but remove malicious code
)

type RegDate added in v0.2.0

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 added in v0.2.0

type RegStringList []string

RegStringList - @brief A list of strings

type Registration added in v0.2.0

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 added in v0.2.0

type RegistrationFinishType string

RegistrationFinishType - Type of registration finish

type RegistrationFullStatus added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

type RegistrationNumberList []RegistrationNumber

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

type RegistrationStatus added in v0.2.0

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 added in v0.2.0

type RegistrationType string

RegistrationType - A type of the current registration of the product

type Relay added in v0.2.0

type Relay struct {
	IsRestricted              bool           `json:"isRestricted"`              // is relay restricted? false == open relay enabled
	IpAddressGroupName        string         `json:"ipAddressGroupName"`        // output only: name of IP group from which open relay is enabled
	IpAddressGroupId          KId            `json:"ipAddressGroupId"`          // ID of IP group from which open relay is enabled
	AuthenticateOutgoing      bool           `json:"authenticateOutgoing"`      // client must authenticate before sending a message
	ForwardPop3authentication ItemCountLimit `json:"forwardPop3authentication"` // client can be authenticated by POP3 before SMTP relay for certain number of minutes
	HideLocalIpInRcv          bool           `json:"hideLocalIpInRcv"`          // hide local IP address in receive headers
}

Relay - SMTP Relay options

type RelayAuthentication added in v0.2.0

type RelayAuthentication struct {
	IsRequired bool               `json:"isRequired"` // is authentication required?
	UserName   string             `json:"userName"`   // a user name for relay server authentication
	Password   string             `json:"password"`   // a password for relay server authentication, it's allowed to send ID of a rule to copy a password
	AuthType   SmtpAuthentication `json:"authType"`   // type of authentication
}

type RelayDeliveryRule added in v0.2.0

type RelayDeliveryRule struct {
	Id             KId                 `json:"id"` // [READ-ONLY] global identification
	IsEnabled      bool                `json:"isEnabled"`
	Description    string              `json:"description"`    // contains rule description
	HostName       string              `json:"hostName"`       // relay server hostname
	Port           int                 `json:"port"`           // relay server port
	Authentication RelayAuthentication `json:"authentication"` // relay server authentication parameters
	Condition      RelayRuleCondition  `json:"condition"`
}

type RelayDeliveryRuleList added in v0.2.0

type RelayDeliveryRuleList []RelayDeliveryRule

type RelayRuleComparatorType added in v0.2.0

type RelayRuleComparatorType string
const (
	RelayCompEqual    RelayRuleComparatorType = "RelayCompEqual"
	RelayCompNotEqual RelayRuleComparatorType = "RelayCompNotEqual"
)

type RelayRuleCondType added in v0.2.0

type RelayRuleCondType string
const (
	RelayCondNone      RelayRuleCondType = "RelayCondNone"      // there is none condition; it's always true
	RelayCondRecipient RelayRuleCondType = "RelayCondRecipient" // recipient from envelope
	RelayCondSender    RelayRuleCondType = "RelayCondSender"    // sender from envelope
)

type RelayRuleCondition added in v0.2.0

type RelayRuleCondition struct {
	Test       RelayRuleCondType       `json:"test"`
	Comparator RelayRuleComparatorType `json:"comparator"`
	Pattern    string                  `json:"pattern"` // patern shoud be type match E.g. *@example.com
}

type RemovalRequest added in v0.1.2

type RemovalRequest struct {
	UserId           KId                        `json:"userId"`           // ID of user to be removed
	Method           UserDeleteFolderMode       `json:"method"`           // removal method
	RemoveReferences bool                       `json:"removeReferences"` // if true all reference to this user is going to be removed as well
	TargetUserId     KId                        `json:"targetUserId"`     // applicable only when moving user's store to another user, use empty string if not moving user's messages to target mailbox
	Mode             DirectoryServiceDeleteMode `json:"mode"`             // delete mode
}

RemovalRequest - User to be removed, what to do with his/her mailbox.

type RemovalRequestList added in v0.1.2

type RemovalRequestList []RemovalRequest

type RenameInfo

type RenameInfo struct {
	IsRenamed bool   `json:"isRenamed"`
	OldName   string `json:"oldName"`
	NewName   string `json:"newName"`
}

type Repellent added in v0.2.0

type Repellent struct {
	Enabled          bool           `json:"enabled"`
	Delay            int            `json:"delay"`
	CustomWhiteList  OptionalEntity `json:"customWhiteList"`  // switchable custom white list IP group
	ReportToSecurity bool           `json:"reportToSecurity"` // do (not) report a spam attack to security log
}

type Resource added in v0.2.0

type Resource struct {
	Id            KId                  `json:"id"`            // [READ-ONLY] global identification of resource
	DomainId      KId                  `json:"domainId"`      // [REQUIRED FOR CREATE] [WRITE-ONCE] identification in which domain resource exists
	Name          string               `json:"name"`          // [REQUIRED FOR CREATE] [WRITE-ONCE] resource name
	Address       string               `json:"address"`       // [READ-ONLY] email of resource
	Description   string               `json:"description"`   // resource description
	Type          ResourceType         `json:"type"`          // type of the resource
	IsEnabled     bool                 `json:"isEnabled"`     // is resource enabled? default == true
	ResourceUsers PrincipalList        `json:"resourceUsers"` // list of groups / users /
	Manager       PrincipalDescription `json:"manager"`       // identification of user who is a manager
	HomeServer    HomeServer           `json:"homeServer"`    // [READ-ONLY] Id of users homeserver if server is in Cluster
}

Resource - Resource details

type ResourceList added in v0.2.0

type ResourceList []Resource

ResourceList - List of resources

type ResourceType added in v0.2.0

type ResourceType string

ResourceType - Export format type

const (
	Room      ResourceType = "Room"      // resource is a room
	Equipment ResourceType = "Equipment" // resource is something else, eg: a car
)

type Restriction added in v0.2.0

type Restriction struct {
	EntityName Entity               `json:"entityName"` // IDL entity name, eg. User
	Tuples     RestrictionTupleList `json:"tuples"`     // Restriction tuples
}

Restriction - Entity name restriction definition

type RestrictionKind added in v0.1.2

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 added in v0.2.0

type RestrictionList []Restriction

RestrictionList - List of restrictions

type RestrictionTuple added in v0.2.0

type RestrictionTuple struct {
	Name   ItemName        `json:"name"`
	Kind   RestrictionKind `json:"kind"`
	Values StringList      `json:"values"`
}

RestrictionTuple - Restriction Items

type RestrictionTupleList added in v0.2.0

type RestrictionTupleList []RestrictionTuple

RestrictionTupleList - Restriction tuple for 1 entity

type ResultTriplet added in v0.1.2

type ResultTriplet struct {
	InputIndex int `json:"inputIndex"`
	ItemsCount int `json:"itemsCount"`
}

ResultTriplet - Result of a mass operation.

type ResultTripletList added in v0.1.2

type ResultTripletList []ResultTriplet

ResultTripletList - List of mass operation results.

type RotationPeriod added in v0.1.2

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 Scale added in v0.1.2

type Scale struct {
	Id         int `json:"id"`
	ScaleTime  int `json:"scaleTime"`  // The time scale
	SampleTime int `json:"sampleTime"` // The sample scale
}

type ScaleList added in v0.1.2

type ScaleList []Scale

type ScheduledAction added in v0.2.0

type ScheduledAction struct {
	Id          KId                   `json:"id"`
	IsActive    bool                  `json:"isActive"` // record is active
	Description string                `json:"description"`
	Condition   TimeCondition         `json:"condition"`
	AllowDialUp bool                  `json:"allowDialUp"` // allow to establish dial-up connection if necessary
	Action      ScheduledActionAction `json:"action"`
}

type ScheduledActionAction added in v0.2.0

type ScheduledActionAction struct {
	SendFromQueue bool `json:"sendFromQueue"` // send messages from outgoing queue
	Pop3Download  bool `json:"pop3Download"`  // download messages from POP3 mailboxes
	SendEtrn      bool `json:"sendEtrn"`      // send ETRN command to invoke mail transfer
}

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

type ScheduledActionList added in v0.2.0

type ScheduledActionList []ScheduledAction

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*") SearchQuery - QUICKSEACH <> "x" is equal to: (loginName <> "x") AND (fullName <> "x")

type SearchStatus added in v0.1.2

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 SecurityPolicyMode added in v0.2.0

type SecurityPolicyMode string
const (
	SPNoRestrictions         SecurityPolicyMode = "SPNoRestrictions"         // No restriction
	SPAuthenticationRequired SecurityPolicyMode = "SPAuthenticationRequired" // Require secure authentication
	SPEncryptionRequired     SecurityPolicyMode = "SPEncryptionRequired"     // Require encrypted connection
)

type SecurityPolicyOptions added in v0.2.0

type SecurityPolicyOptions struct {
	Mode                         SecurityPolicyMode       `json:"mode"`
	AuthenticationExceptionGroup OptionalEntity           `json:"authenticationExceptionGroup"` // Is used if mode == SPAuthenticationRequired
	EncryptionExceptionGroup     OptionalEntity           `json:"encryptionExceptionGroup"`     // Is used if mode == SPEncryptionRequired
	AuthenticationMethods        AuthenticationMethodList `json:"authenticationMethods"`        // List of authentication methods and its status. In any set operation, all methods should be present in list. Methods which are not specified are reset to 'enabled'.
	AllowNtlmForKerberosUsers    bool                     `json:"allowNtlmForKerberosUsers"`    // Allow NTLM authentication for users with Kerberos� authentication (for Active Directory� users)
	EnableLockout                bool                     `json:"enableLockout"`                // Enable/disable account lockout feature
	FailedLoginsToLock           int                      `json:"failedLoginsToLock"`           // Count of failed logins to lock user account
	MinutesToUnlock              int                      `json:"minutesToUnlock"`              // Minutes to unlock locked account
	AntiHammering                AntiHammeringOptions     `json:"antiHammering"`                // Anti-Hammering settings
}

type SenderPolicyOptions added in v0.2.0

type SenderPolicyOptions struct {
	AuthenticationRequired bool           `json:"authenticationRequired"` // Require sender authentication for local domains
	AntiSpoofingEnabled    bool           `json:"antiSpoofingEnabled"`    // Is Antispoofing enabled
	IPWhiteList            OptionalEntity `json:"IPWhiteList"`            // Trusted senders (Not chceked by anti-spoofing)
}

type ServerConnection added in v0.2.0

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

func (*ServerConnection) AccessPolicyCreate added in v0.2.0

func (s *ServerConnection) AccessPolicyCreate(rules AccessPolicyRuleList) (ErrorList, CreateResultList, error)

AccessPolicyCreate - Add new policies.

rules - new policies rules

Return

errors - error message list
result - list of IDs of created rules

func (*ServerConnection) AccessPolicyCreateGroupList added in v0.2.0

func (s *ServerConnection) AccessPolicyCreateGroupList(groups AccessPolicyGroupList) (ErrorList, CreateResultList, error)

AccessPolicyCreateGroupList - Create the list of groups.

groups - list of groups to create

Return

errors - error message list
result - list of IDs of created groups

func (*ServerConnection) AccessPolicyGet added in v0.2.0

func (s *ServerConnection) AccessPolicyGet(query SearchQuery) (AccessPolicyRuleList, int, error)

AccessPolicyGet - Obtain a list of policies.

query - query attributes and limits

Return

	list - policies
 totalItems - number of policies found

func (*ServerConnection) AccessPolicyGetGroupList added in v0.2.0

func (s *ServerConnection) AccessPolicyGetGroupList() (AccessPolicyGroupList, error)

AccessPolicyGetGroupList - Get the list of groups, sorted in ascending order. Return

groups - list of Access policy groups

func (*ServerConnection) AccessPolicyGetServiceList added in v0.2.0

func (s *ServerConnection) AccessPolicyGetServiceList() (ServiceTypeInfoList, error)

AccessPolicyGetServiceList - Get the list of services. Return

services - list of service info

func (*ServerConnection) AccessPolicyRemove added in v0.2.0

func (s *ServerConnection) AccessPolicyRemove(ruleIds KIdList) (ErrorList, error)

AccessPolicyRemove - Remove policies.

ruleIds - list of IDs of policy to be removed

Return

errors - error message list

func (*ServerConnection) AccessPolicyRemoveGroupList added in v0.2.0

func (s *ServerConnection) AccessPolicyRemoveGroupList(groupIds KIdList) (ErrorList, error)

AccessPolicyRemoveGroupList - Remove the list of groups.

groupIds - list of IDs of group policy to be removed

Return

errors - error message list

func (*ServerConnection) AccessPolicySet added in v0.2.0

func (s *ServerConnection) AccessPolicySet(rules AccessPolicyRuleList) (ErrorList, error)

AccessPolicySet - Set policy details.

rules - rules to save

Return

errors - error message list

func (*ServerConnection) AccessPolicySetGroupList added in v0.2.0

func (s *ServerConnection) AccessPolicySetGroupList(groups AccessPolicyGroupList) (ErrorList, error)

AccessPolicySetGroupList - Set the list of groups.

groups - list of group to set

Return

errors - error message list

func (*ServerConnection) AdvancedOptionsCheckUpdates added in v0.2.0

func (s *ServerConnection) AdvancedOptionsCheckUpdates() (*UpdateCheckerOptions, error)

AdvancedOptionsCheckUpdates - Check for updates. Return

options - new version details

func (*ServerConnection) AdvancedOptionsGet added in v0.2.0

func (s *ServerConnection) AdvancedOptionsGet() (*AdvancedOptionsSetting, error)

AdvancedOptionsGet - Obtain Advanced options. Return

options - current advanced options

func (*ServerConnection) AdvancedOptionsGetFulltextStatus added in v0.2.0

func (s *ServerConnection) AdvancedOptionsGetFulltextStatus() (*FulltextRebuildStatus, error)

AdvancedOptionsGetFulltextStatus - Get information about index status. Return

info - structure with information

func (*ServerConnection) AdvancedOptionsSet added in v0.2.0

func (s *ServerConnection) AdvancedOptionsSet(options AdvancedOptionsSetting) error

AdvancedOptionsSet - Set advanced options.

options - options to be updated

func (*ServerConnection) AdvancedOptionsStartRebuildFulltext added in v0.2.0

func (s *ServerConnection) AdvancedOptionsStartRebuildFulltext(parameters FulltextRebuildingCommand) error

AdvancedOptionsStartRebuildFulltext - Launch re-index according parameters.

parameters - parameters for launching re-index

func (*ServerConnection) AliasesCheck added in v0.2.0

func (s *ServerConnection) AliasesCheck(checkString string) (StringList, error)

AliasesCheck - Obtain a list of mail addresses and/or public folders on which given string will be expanded.

checkString - string to be checked

Return

result - list of expansions

func (*ServerConnection) AliasesCreate added in v0.2.0

func (s *ServerConnection) AliasesCreate(aliases AliasList) (ErrorList, CreateResultList, error)

AliasesCreate - Create new aliases

aliases - new alias entities

Return

errors - list of error messages for appropriate new aliases
result - list of IDs of created aliases

func (*ServerConnection) AliasesGet added in v0.2.0

func (s *ServerConnection) AliasesGet(query SearchQuery, domainId KId) (AliasList, int, error)

AliasesGet - Obtain list of aliases.

query - query conditions and limits

Return

	list - aliases
 totalItems - amount of aliases for given search condition, useful when limit is defined in query

func (*ServerConnection) AliasesGetMailPublicFolderList added in v0.2.0

func (s *ServerConnection) AliasesGetMailPublicFolderList(domainId KId) (PublicFolderList, error)

AliasesGetMailPublicFolderList - Obtain a list of mail public folders in the given domain.

domainId - global identification of the domain

Return

publicFolderList - list of public folders

func (*ServerConnection) AliasesGetTargetList added in v0.2.0

func (s *ServerConnection) AliasesGetTargetList(query SearchQuery, domainId KId) (AliasTargetList, int, error)

AliasesGetTargetList - Obtain a list of alias targets.

query - query conditions and limits
domainId - global identification of the domain

Return

	list - alias targets
 totalItems - amount of aliases for given search condition, useful when a limit is defined in the query

func (*ServerConnection) AliasesRemove added in v0.2.0

func (s *ServerConnection) AliasesRemove(aliasIds KIdList) (ErrorList, error)

AliasesRemove - Delete aliases. Return

errors - error message list

func (*ServerConnection) AliasesSet added in v0.2.0

func (s *ServerConnection) AliasesSet(aliasIds KIdList, pattern Alias) (ErrorList, error)

AliasesSet - Set an existing alias.

aliasIds - list of alias global identifier(s)
pattern - pattern to use for new values

Return

errors - error message list

func (*ServerConnection) ArchiveGet added in v0.2.0

func (s *ServerConnection) ArchiveGet() (*ArchiveOptions, error)

ArchiveGet - Obtain archive options. Return

options - current archive options

func (*ServerConnection) ArchiveGetImArchiveFile added in v0.2.0

func (s *ServerConnection) ArchiveGetImArchiveFile(fromDate Date, toDate Date) (*Download, error)

ArchiveGetImArchiveFile - Returns link to IM archive file in given period

func (*ServerConnection) ArchiveGetXmppArchiveFiles added in v0.2.0

func (s *ServerConnection) ArchiveGetXmppArchiveFiles() (DownloadList, error)

ArchiveGetXmppArchiveFiles - Returns links to available Instant Messaging archive files

func (*ServerConnection) ArchiveSet added in v0.2.0

func (s *ServerConnection) ArchiveSet(options ArchiveOptions) error

ArchiveSet - Set archive options.

options - archive options

func (*ServerConnection) BackupGet added in v0.2.0

func (s *ServerConnection) BackupGet() (*BackupOptions, error)

BackupGet - Obtain backup options. Return

options - current backup options

func (*ServerConnection) BackupGetScheduleList added in v0.2.0

func (s *ServerConnection) BackupGetScheduleList(query SearchQuery) (BackupScheduleList, error)

BackupGetScheduleList - Obtain list of backup scheduling.

query - order by, limits

Return

scheduleList

func (*ServerConnection) BackupGetStatus added in v0.2.0

func (s *ServerConnection) BackupGetStatus() (*BackupStatus, error)

BackupGetStatus - Return current backup status. Return

status - backup status

func (*ServerConnection) BackupSet added in v0.2.0

func (s *ServerConnection) BackupSet(options BackupOptions) error

BackupSet - Set backup options.

options - backup options

func (*ServerConnection) BackupSetScheduleList added in v0.2.0

func (s *ServerConnection) BackupSetScheduleList(scheduleList BackupScheduleList) error

BackupSetScheduleList - Set all backup schedules.

scheduleList

func (*ServerConnection) BackupStart added in v0.2.0

func (s *ServerConnection) BackupStart(backupType BackupType) error

BackupStart - Start backup according to current settings.

backupType - backup type

func (*ServerConnection) CallRaw added in v0.2.0

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

func (*ServerConnection) CertificatesExportCertificate added in v0.2.0

func (s *ServerConnection) CertificatesExportCertificate(id KId) (*Download, error)

CertificatesExportCertificate - Export of certificate or certificate request

id - ID of the certificate or certificate request

Return

fileDownload - description of the output file

func (*ServerConnection) CertificatesExportPrivateKey added in v0.2.0

func (s *ServerConnection) CertificatesExportPrivateKey(id KId) (*Download, error)

CertificatesExportPrivateKey - Export of certificate or request privatekey

id - ID of the certificate or certificate request

Return

fileDownload - description of the output file

func (*ServerConnection) CertificatesGenerate added in v0.2.0

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

CertificatesGenerate - Generate certificate.

subject - properties specified by user
name - name of the new certificate
certificateType - type of certificate to be generated, valid input is one of: InactiveCertificate/CertificateRequest/LocalAuthority
period - time properties specified by user, not relevant for CertificateRequest

Return

id - ID of generated certificate

func (*ServerConnection) CertificatesGet added in v0.2.0

func (s *ServerConnection) CertificatesGet(query SearchQuery) (CertificateList, int, error)

CertificatesGet - Obtain a list of certificates

query - conditions and limits. Included from weblib.

Return

	certificates - current list of certificates
 totalItems - count of all services on server (before the start/limit applied)

func (*ServerConnection) CertificatesGetCountryList added in v0.2.0

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

CertificatesGetCountryList - Get a list of countries. Return

countries - list of countries (name and ISO 3166 code)

func (*ServerConnection) CertificatesImportCertificate added in v0.2.0

func (s *ServerConnection) CertificatesImportCertificate(keyId KId, fileId string, name string, certificateType CertificateType) (KId, error)

CertificatesImportCertificate - Import certificate in PEM format

keyId - ID assigned to imported private key, @see importPrivateKey
fileId - id of uploaded file
name - name of the new certificate
certificateType - type of certificate to be imported, valid input is one of: InactiveCertificate/Authority/LocalAuthority

Return

id - ID of generated certificate

func (*ServerConnection) CertificatesImportPrivateKey added in v0.2.0

func (s *ServerConnection) CertificatesImportPrivateKey(fileId string) (KId, bool, error)

CertificatesImportPrivateKey - Import private key. It generates ID, so it can be linked to Certificate content imported later, @see importCertificate

fileId - id of uploaded file

Return

keyId - generated ID for new key
needPassword - true if private key is encrypted with password

func (*ServerConnection) CertificatesRemove added in v0.2.0

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

CertificatesRemove - Remove list of certificate records

ids - list of identifiers of deleted user templates

Return

errors - error message list

func (*ServerConnection) CertificatesSetName added in v0.2.0

func (s *ServerConnection) CertificatesSetName(id KId, name string) error

CertificatesSetName - Renames certificate

id - ID of certificate to rename
name - new name of the certificate

func (*ServerConnection) CertificatesToSource added in v0.2.0

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

CertificatesToSource - Obtain source (plain-text representation) of the certificate

id - global identifier

Return

source - certificate in plain text

func (*ServerConnection) CertificatesUnlockPrivateKey added in v0.2.0

func (s *ServerConnection) CertificatesUnlockPrivateKey(keyId KId, password string) error

CertificatesUnlockPrivateKey - Try to parse imported private key. Need to be called, when @importPrivateKey returns needPassword == true.

keyId - ID assigned to imported private key, @see importPrivateKey
password - certificate password

func (*ServerConnection) CompanyContactsCreate added in v0.2.0

func (s *ServerConnection) CompanyContactsCreate(companyContacts CompanyContactList) (ErrorList, CreateResultList, error)

CompanyContactsCreate - Create new company contacts. Return

errors - error message list
result - particular results for all items

func (*ServerConnection) CompanyContactsGet added in v0.2.0

func (s *ServerConnection) CompanyContactsGet(query SearchQuery) (CompanyContactList, int, error)

CompanyContactsGet - Obtain a list of company contacts.

query - query conditions and limits

Return

	list - list of company contacts
 totalItems - amount of company contacts for given search condition, useful when limit is defined in SearchQuery

func (*ServerConnection) CompanyContactsGetAvailable added in v0.2.0

func (s *ServerConnection) CompanyContactsGetAvailable(domainId KId) (CompanyContactList, error)

CompanyContactsGetAvailable - - Only company contacts for given domain and global company contacts are listed.

domainId - Only company contacts for given domain and global company contacts are listed.

Return

companyContactList - list of user templates

func (*ServerConnection) CompanyContactsRemove added in v0.2.0

func (s *ServerConnection) CompanyContactsRemove(companyContactsIds KIdList) (ErrorList, error)

CompanyContactsRemove - Remove company contacts. Return

errors - error message list

func (*ServerConnection) CompanyContactsSet added in v0.2.0

func (s *ServerConnection) CompanyContactsSet(companyContactsIds KIdList, pattern CompanyContact) (ErrorList, error)

CompanyContactsSet - Set existing company contacts to given pattern.

companyContactsIds - list of the company contacts's global identifier(s)
pattern - pattern to use for new values

Return

errors - error message list

func (*ServerConnection) ConnectCertificateExportCertificate added in v0.2.0

func (s *ServerConnection) ConnectCertificateExportCertificate(id KId) (*Download, error)

ConnectCertificateExportCertificate - Note: "export" is a keyword in C++, so name of the method must be changed: exportCertificate

id - ID of the certificate or certificate request

Return

fileDownload - description of the output file

func (*ServerConnection) ConnectCertificateExportPrivateKey added in v0.2.0

func (s *ServerConnection) ConnectCertificateExportPrivateKey(id KId) (*Download, error)

ConnectCertificateExportPrivateKey - Note: "export" is a keyword in C++, so the name of the method must be changed: exportPrivateKey

id - ID of the certificate or certificate request

Return

fileDownload - description of the output file

func (*ServerConnection) ConnectCertificateGenerate added in v0.2.0

func (s *ServerConnection) ConnectCertificateGenerate(subject NamedValueList, valid int) (*KId, error)

ConnectCertificateGenerate - Generate a self-signed certificate

subject - information about subject
valid - length of the certificate's validity (in years, max value is 10)

Return

id - ID of the new generated certificate

func (*ServerConnection) ConnectCertificateGenerateRequest added in v0.2.0

func (s *ServerConnection) ConnectCertificateGenerateRequest(subject NamedValueList) (*KId, error)

ConnectCertificateGenerateRequest - Generate certificate request

subject - information about subject

Return

id - ID of the new generated certificate request

func (*ServerConnection) ConnectCertificateGet added in v0.2.0

func (s *ServerConnection) ConnectCertificateGet() (CertificateList, error)

ConnectCertificateGet - Obtain a list of certificates Return

certificates - current list of certificates

func (*ServerConnection) ConnectCertificateImportCertificate added in v0.2.0

func (s *ServerConnection) ConnectCertificateImportCertificate(id KId, fileId string, password string) error

ConnectCertificateImportCertificate - Import private key for the new certificate.

id - ID of private key or certificate request which belongs to the certificate
fileId - ID of the uploaded file
password - certificate password, if it is set (use empty string if password is not set)

func (*ServerConnection) ConnectCertificateImportPrivateKey added in v0.2.0

func (s *ServerConnection) ConnectCertificateImportPrivateKey(fileId string) (bool, *KId, error)

ConnectCertificateImportPrivateKey - Import private key for the new certificate.

fileId - ID of the uploaded file

Return

needPassword - true if private key is encrypted with password
id - temporary ID to assign certificate to private key

func (*ServerConnection) ConnectCertificateRemove added in v0.2.0

func (s *ServerConnection) ConnectCertificateRemove(certificateIds KIdList) (ErrorList, error)

ConnectCertificateRemove - Remove list of certificate records Return

errors - error message list

func (*ServerConnection) ConnectCertificateSetActive added in v0.2.0

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

ConnectCertificateSetActive - Set active certificate

id - ID of the new active certificate

func (*ServerConnection) ConnectCertificateToSource added in v0.2.0

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

ConnectCertificateToSource - Obtain source (plain-text representation) of the certificate

id - global identifier

Return

source - certificate in plain text

func (*ServerConnection) ContentAddBlackLists added in v0.2.0

func (s *ServerConnection) ContentAddBlackLists(items BlackListList) (ErrorList, error)

ContentAddBlackLists - Add a blacklist item.

items - array of new items

Return

errors - error message list

func (*ServerConnection) ContentGetAntiSpamSetting added in v0.2.0

func (s *ServerConnection) ContentGetAntiSpamSetting() (*AntiSpamSetting, error)

ContentGetAntiSpamSetting - Get antiSPAM settings. Return

setting - new antivirus filter settings

func (*ServerConnection) ContentGetAntivirusSetting added in v0.2.0

func (s *ServerConnection) ContentGetAntivirusSetting() (*AntivirusSetting, error)

ContentGetAntivirusSetting - Get antivirus filter settings. Return

setting - new antivirus filter settings

func (*ServerConnection) ContentGetAttachmentRules added in v0.2.0

func (s *ServerConnection) ContentGetAttachmentRules() (AttachmentItemList, error)

ContentGetAttachmentRules - Get a list of attachment filter rules. Return

filterRules - attachment filter rules

func (*ServerConnection) ContentGetAttachmentSetting added in v0.2.0

func (s *ServerConnection) ContentGetAttachmentSetting() (*AttachmentSetting, error)

ContentGetAttachmentSetting - Obtain attachment filter settings. Return

setting - current attachment filter settings

func (*ServerConnection) ContentGetAvailableAttachments added in v0.2.0

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

ContentGetAvailableAttachments - When adding a new attachment rule this can be used to find out available values. Return

fileNames - list of available file names
mimeTypes - list of available MIME types

func (*ServerConnection) ContentGetBlackListList added in v0.2.0

func (s *ServerConnection) ContentGetBlackListList() (BlackListList, error)

ContentGetBlackListList - Obtain all blacklist items. Return

list - blacklist items

func (*ServerConnection) ContentGetCustomRuleList added in v0.2.0

func (s *ServerConnection) ContentGetCustomRuleList(query SearchQuery) (CustomRuleList, int, error)

ContentGetCustomRuleList - Obtain all custom rules.

query - condition and limit definition (orderBy is ignored)

Return

	list - custom rules
 totalItems - amount of rules for given search condition, useful when a limit is defined in search query

func (*ServerConnection) ContentRemoveBlackLists added in v0.2.0

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

ContentRemoveBlackLists - Remove blacklist items.

ids - identifier list of blacklists to be deleted

Return

errors - error message list

func (*ServerConnection) ContentRemoveUnusedCustomRules added in v0.2.0

func (s *ServerConnection) ContentRemoveUnusedCustomRules(number int, unit HourOrDay) error

ContentRemoveUnusedCustomRules - Remove custom rules which are not used for a specified time.

number - how many hours/days is the rule unused
unit - which unit is used to measure

func (*ServerConnection) ContentSetAntiSpamSetting added in v0.2.0

func (s *ServerConnection) ContentSetAntiSpamSetting(setting AntiSpamSetting) error

ContentSetAntiSpamSetting - Set antiSPAM filter settings.

setting - new antivirus filter settings

func (*ServerConnection) ContentSetAntivirusSetting added in v0.2.0

func (s *ServerConnection) ContentSetAntivirusSetting(setting AntivirusSetting) (ErrorList, error)

ContentSetAntivirusSetting - Set antivirus filter settings.

setting - new antivirus filter settingss

Return

errors - error message; Value of inputIndex means type of antivirus (integrated = 0 and external = 1).

func (*ServerConnection) ContentSetAttachmentRules added in v0.2.0

func (s *ServerConnection) ContentSetAttachmentRules(filterRules AttachmentItemList) error

ContentSetAttachmentRules - Set list of attachment filter rules.

filterRules - attachment filter rules

func (*ServerConnection) ContentSetAttachmentSetting added in v0.2.0

func (s *ServerConnection) ContentSetAttachmentSetting(setting AttachmentSetting) error

ContentSetAttachmentSetting - Set attachment filter settings.

setting - new attachment filter settings

func (*ServerConnection) ContentSetBlackLists added in v0.2.0

func (s *ServerConnection) ContentSetBlackLists(ids KIdList, pattern BlackList) (ErrorList, error)

ContentSetBlackLists - Set blacklist item.

ids - list of blacklist global identifier(s)
pattern - pattern to use for new values

Return

errors - error message list

func (*ServerConnection) ContentSetCustomRuleList added in v0.2.0

func (s *ServerConnection) ContentSetCustomRuleList(list CustomRuleList) error

ContentSetCustomRuleList - Set custom rules.

list - custom rule records

func (*ServerConnection) ContentTestGreylistConnection added in v0.2.0

func (s *ServerConnection) ContentTestGreylistConnection() error

ContentTestGreylistConnection - Test connection to the greylisting service. Returns nothing if successful.

func (*ServerConnection) ContentTestIntegratedAntiSpamEngine added in v0.2.0

func (s *ServerConnection) ContentTestIntegratedAntiSpamEngine() (*IntegratedAntiSpamStatus, error)

ContentTestIntegratedAntiSpamEngine - Test connection to the anti-spam service. Returns nothing if successful.

func (*ServerConnection) ContentUpdateAntivirusStatus added in v0.2.0

func (s *ServerConnection) ContentUpdateAntivirusStatus() (*IntegratedAvirUpdateStatus, error)

ContentUpdateAntivirusStatus - Get progress of antivirus updating. Return

status - status of the update process

func (*ServerConnection) ContentUpdateIntegratedAntivirus added in v0.2.0

func (s *ServerConnection) ContentUpdateIntegratedAntivirus() error

ContentUpdateIntegratedAntivirus - Force update of the integrated antivirus.

func (*ServerConnection) DeliveryAddEtrnDownloadList added in v0.2.0

func (s *ServerConnection) DeliveryAddEtrnDownloadList(downloads EtrnDownloadList) (ErrorList, error)

DeliveryAddEtrnDownloadList - Add new ETRN downloads.

downloads - new ETRN download records

Return

errors - list of error messages

func (*ServerConnection) DeliveryAddPop3AccountList added in v0.2.0

func (s *ServerConnection) DeliveryAddPop3AccountList(accounts Pop3AccountList) (ErrorList, error)

DeliveryAddPop3AccountList - Add new POP3 accounts.

accounts - new POP3 account records

Return

errors - list of error messages

func (*ServerConnection) DeliveryAddPop3SortingList added in v0.2.0

func (s *ServerConnection) DeliveryAddPop3SortingList(sortings Pop3SortingList) (ErrorList, error)

DeliveryAddPop3SortingList - Add new POP3 sorting rules.

sortings - new POP3 sorting records

Return

errors - list of error messages

func (*ServerConnection) DeliveryAddScheduledActionList added in v0.2.0

func (s *ServerConnection) DeliveryAddScheduledActionList(actions ScheduledActionList) (ErrorList, error)

DeliveryAddScheduledActionList - Add scheduled actions.

actions - new scheduler actions

Return

errors - list of error messages

func (*ServerConnection) DeliveryDownloadEtrn added in v0.2.0

func (s *ServerConnection) DeliveryDownloadEtrn() error

DeliveryDownloadEtrn - Start ETRN downloads.

func (*ServerConnection) DeliveryGetEtrnDownloadList added in v0.2.0

func (s *ServerConnection) DeliveryGetEtrnDownloadList(query SearchQuery) (EtrnDownloadList, int, error)

DeliveryGetEtrnDownloadList - Obtain list of ETRN download items.

query - query conditions and limits

Return

	list - ETRN download records
 totalItems - amount of records for given search condition, useful when a limit is defined in the query

func (*ServerConnection) DeliveryGetEtrnTimeout added in v0.2.0

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

DeliveryGetEtrnTimeout - Get timeout for ETRN reply on dial-up line Return

seconds - number of seconds for ETRN timeout

func (*ServerConnection) DeliveryGetInternetSettings added in v0.2.0

func (s *ServerConnection) DeliveryGetInternetSettings() (*InternetSettings, error)

DeliveryGetInternetSettings - Obtain Internet connection settings. Return

settings - Internet connection settings

func (*ServerConnection) DeliveryGetPop3AccountList added in v0.2.0

func (s *ServerConnection) DeliveryGetPop3AccountList(query SearchQuery) (Pop3AccountList, int, error)

DeliveryGetPop3AccountList - Obtain list of POP3 accounts.

query - query conditions and limits

Return

	list - POP3 accounts
 totalItems - amount of accounts for given search condition, useful when a limit is defined in the query

func (*ServerConnection) DeliveryGetPop3SortingList added in v0.2.0

func (s *ServerConnection) DeliveryGetPop3SortingList(query SearchQuery) (Pop3SortingList, int, error)

DeliveryGetPop3SortingList - Obtain list of POP3 sorting rules

query - query conditions and limits

Return

	list - POP3 sorting records
 totalItems - amount of records for given search condition, useful when a limit is defined in the query

func (*ServerConnection) DeliveryGetRasNames added in v0.2.0

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

DeliveryGetRasNames - Obtain Remote Access Service. Valid information available on Windows only. Return

names - list of available RAS names

func (*ServerConnection) DeliveryGetScheduledActionList added in v0.2.0

func (s *ServerConnection) DeliveryGetScheduledActionList(query SearchQuery) (ScheduledActionList, int, error)

DeliveryGetScheduledActionList - Obtain a list of scheduler actions.

query - query conditions and limits

Return

	list - scheduler actions
 totalItems - amount of actions for given search condition, useful when limit is defined in query

func (*ServerConnection) DeliveryRemoveEtrnDownloadList added in v0.2.0

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

DeliveryRemoveEtrnDownloadList - Remove ETRN download items.

ids - identifier list of ETRN download records to be deleted

Return

errors - error message list

func (*ServerConnection) DeliveryRemovePop3AccountList added in v0.2.0

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

DeliveryRemovePop3AccountList - Remove POP3 accounts.

ids - identifier list of POP3 account records to be deleted

Return

errors - list of error messages

func (*ServerConnection) DeliveryRemovePop3SortingList added in v0.2.0

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

DeliveryRemovePop3SortingList - Remove POP3 sorting rules.

ids - identifier list of POP3 sorting records to be deleted

Return

errors - list of error messages

func (*ServerConnection) DeliveryRemoveScheduledActionList added in v0.2.0

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

DeliveryRemoveScheduledActionList - Remove scheduled actions.

ids - identifier list of scheduler actions to be deleted

Return

errors - error message list

func (*ServerConnection) DeliveryRunPop3Downloads added in v0.2.0

func (s *ServerConnection) DeliveryRunPop3Downloads() error

DeliveryRunPop3Downloads - Proceed all POP3 downloads right now.

func (*ServerConnection) DeliverySetEtrnDownload added in v0.2.0

func (s *ServerConnection) DeliverySetEtrnDownload(downloadId KId, download EtrnDownload) error

DeliverySetEtrnDownload - Set 1 ETRN download item.

downloadId - updated ETRN download identifier
download - new ETRN download record

func (*ServerConnection) DeliverySetEtrnTimeout added in v0.2.0

func (s *ServerConnection) DeliverySetEtrnTimeout(seconds int) error

DeliverySetEtrnTimeout - Set timeout for ETRN reply on dial-up line.

seconds - number of seconds for ETRN timeout

func (*ServerConnection) DeliverySetInternetSettings added in v0.2.0

func (s *ServerConnection) DeliverySetInternetSettings(settings InternetSettings) error

DeliverySetInternetSettings - Set Internet connection settings.

settings - Internet connection settings

func (*ServerConnection) DeliverySetPop3Account added in v0.2.0

func (s *ServerConnection) DeliverySetPop3Account(accountId KId, account Pop3Account) error

DeliverySetPop3Account - Set POP3 account.

accountId - updated POP3 account identifier
account - new POP3 account record

func (*ServerConnection) DeliverySetPop3Sorting added in v0.2.0

func (s *ServerConnection) DeliverySetPop3Sorting(sortingId KId, sorting Pop3Sorting) error

DeliverySetPop3Sorting - Set POP3 sorting rule.

sortingId - updated POP3 sorting identifier
sorting - new POP3 sorting record

func (*ServerConnection) DeliverySetScheduledAction added in v0.2.0

func (s *ServerConnection) DeliverySetScheduledAction(actionId KId, action ScheduledAction) error

DeliverySetScheduledAction - Set a scheduled action.

actionId - updated action identifier
action - new scheduler actions

func (*ServerConnection) DistributedDomainConnect added in v0.2.0

func (s *ServerConnection) DistributedDomainConnect(hostName string, adminUser string, password string) (*ClusterError, error)

DistributedDomainConnect - Connect server to cluster as slave.

hostName - name of the master server
adminUser - username of administrator on the master server
password - administrator's password

Return

result - if ClusterErrorType is not clSuccess, error argument contains additional error info

func (*ServerConnection) DistributedDomainCopy added in v0.2.0

func (s *ServerConnection) DistributedDomainCopy(domainName string) error

DistributedDomainCopy - Copy domain from the master server.

domainName - name of the domain on the master server that you want to copy. Name can be obtained by using method getDomainsFromServer.

func (*ServerConnection) DistributedDomainDisconnect added in v0.2.0

func (s *ServerConnection) DistributedDomainDisconnect() error

DistributedDomainDisconnect - Disconnect server from the cluster.

func (*ServerConnection) DistributedDomainGetDistributable added in v0.2.0

func (s *ServerConnection) DistributedDomainGetDistributable(authentication ClusterAuthentication, connected bool) (StringList, error)

DistributedDomainGetDistributable - Retrieve domains, which can be distributed, from the master server as a standalone server.

connected - true means the caller is connected to cluster
authentication - Structure with a credential. Credential will be used when connected is false.

Return

domainNames - List of domains which can be distributed (they have a directory service set).

func (*ServerConnection) DistributedDomainGetHomeServerList added in v0.2.0

func (s *ServerConnection) DistributedDomainGetHomeServerList() (HomeServerList, error)

DistributedDomainGetHomeServerList - Retrieve information about servers in the cluster. Return

servers - List of all servers in cluster.

func (*ServerConnection) DistributedDomainGetRole added in v0.2.0

func (s *ServerConnection) DistributedDomainGetRole() (*ClusterRole, bool, error)

DistributedDomainGetRole - Return server role in the cluster.

func (*ServerConnection) DistributedDomainGetServerList added in v0.2.0

func (s *ServerConnection) DistributedDomainGetServerList() (ClusterServerList, error)

DistributedDomainGetServerList - Retrieve information about servers in the cluster. Return

servers - List of all servers in cluster.

func (*ServerConnection) DistributedDomainGetStatus added in v0.2.0

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

DistributedDomainGetStatus - Notes: This method fails if caller has not admin rights; This method fails if there is no cluster Return

isInCluster true if server is not standalone
isError status of error in cluster

func (*ServerConnection) DomainsCheckPublicFoldersIntegrity added in v0.2.0

func (s *ServerConnection) DomainsCheckPublicFoldersIntegrity() error

DomainsCheckPublicFoldersIntegrity - If corrupted folder is found, try to fix it.

func (*ServerConnection) DomainsCreate added in v0.2.0

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

DomainsCreate - Create new domains.

domains - new domain entities

Return

errors - error message list
result - particular results for all items

func (*ServerConnection) DomainsGeneratePassword added in v0.2.0

func (s *ServerConnection) DomainsGeneratePassword(domainId KId) (string, error)

DomainsGeneratePassword - Generate password which meets current password policy of a given domain.

domainId - ID of the domain

Return

password - generated password

func (*ServerConnection) DomainsGet added in v0.2.0

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

DomainsGet - Obtain a list of domains.

query - query conditions and limits

Return

	list - domains
 totalItems - amount of domains for given search condition, useful when limit is defined in SearchQuery

func (*ServerConnection) DomainsGetDkimDnsRecord added in v0.2.0

func (s *ServerConnection) DomainsGetDkimDnsRecord(domain string) (string, error)

DomainsGetDkimDnsRecord - Returns DNS TXT record to be added into DNS.

func (*ServerConnection) DomainsGetDomainFooterPlaceholders added in v0.2.0

func (s *ServerConnection) DomainsGetDomainFooterPlaceholders() (NamedConstantList, error)

DomainsGetDomainFooterPlaceholders - Return all supported placeholders for domain footer

func (*ServerConnection) DomainsGetSettings added in v0.2.0

func (s *ServerConnection) DomainsGetSettings() (*DomainSetting, error)

DomainsGetSettings - Get settings common in all domains. Return

setting - domain global setting

func (*ServerConnection) DomainsGetUserCountInfo added in v0.2.0

func (s *ServerConnection) DomainsGetUserCountInfo(domainId KId) (*UserDomainCountInfo, error)

DomainsGetUserCountInfo - Get information about user count and limit for domain. Disabled users are not counted.

domainId - ID of the domain which will be renamed

Return

countInfo - structure with users count and limit

func (*ServerConnection) DomainsRemove added in v0.2.0

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

DomainsRemove - Remove domains.

domainIds - list of global identifiers of domains to be deleted

Return

errors - error message list

func (*ServerConnection) DomainsRename added in v0.2.0

func (s *ServerConnection) DomainsRename(domainId KId, newName string) (*ClusterError, error)

DomainsRename - Start domain renaming process.

domainId - ID of the domain which will be renamed
newName - new domain name

Return

error - error message

func (*ServerConnection) DomainsSaveFooterImage added in v0.2.0

func (s *ServerConnection) DomainsSaveFooterImage(fileId string) (string, error)

DomainsSaveFooterImage - Save a new footer's image.

fileId - id of uploaded file

Return

imgUrl - url to saved image
func (s *ServerConnection) DomainsSaveWebMailLogo(fileId string, domainId KId) (string, error)

DomainsSaveWebMailLogo - Save a new logo.

fileId - ID of the uploaded file
domainId - global domain identifier

Return

logoUrl - path to the saved file

func (*ServerConnection) DomainsSet added in v0.2.0

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

DomainsSet - Set existing domains to given pattern.

domainIds - list of the domain's global identifier(s)
pattern - pattern to use for new values

Return

errors - error message list

func (*ServerConnection) DomainsSetSettings added in v0.2.0

func (s *ServerConnection) DomainsSetSettings(setting DomainSetting) error

DomainsSetSettings - Set settings for all domains.

setting - domain global settings

func (*ServerConnection) DomainsTestDkimDnsStatus added in v0.2.0

func (s *ServerConnection) DomainsTestDkimDnsStatus(hostnames StringList) (ErrorList, error)

DomainsTestDkimDnsStatus - Tests DKIM DNS TXT status for domain list.

hostnames - hostnames checked for DKIM public key in DNS

Return

errors - error message

func (*ServerConnection) DomainsTestDomainController added in v0.2.0

func (s *ServerConnection) DomainsTestDomainController(hostnames StringList, config DirectoryServiceConfiguration, domainId KId) (ErrorList, error)

DomainsTestDomainController - Test connection between Kerio Connect and domain controller.

hostnames - directory server (primary and secondary if any)
config - directory service configuration. If password is empty then it is taken from domain by 'domainId'.
domainId - global domain identifier

Return

errors - error message

func (*ServerConnection) DownloadsRemove added in v0.2.0

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

DownloadsRemove - Remove file prepared to download.

url - url of file prepared to download

func (*ServerConnection) DumpsGet added in v0.2.0

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

DumpsGet - Obtain list of available crash dumps Return

dumps - list of all available crash dumps

func (*ServerConnection) DumpsRemove added in v0.2.0

func (s *ServerConnection) DumpsRemove() error

DumpsRemove - Remove all crash dumps from server disk

func (*ServerConnection) DumpsSend added in v0.2.0

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) GroupsActivate added in v0.2.0

func (s *ServerConnection) GroupsActivate(groupIdList KIdList) (ErrorList, error)

GroupsActivate - Activate groups from a directory service Return

errors - list of error messages for appropriate groups

func (*ServerConnection) GroupsAddMemberList added in v0.2.0

func (s *ServerConnection) GroupsAddMemberList(groupId KId, userList KIdList) (ErrorList, error)

GroupsAddMemberList - Add new member(s) to a group.

groupId - global group identifier
userList - list of global identifiers of users to be added to a group

Return

errors - error message list

func (*ServerConnection) GroupsCreate added in v0.2.0

func (s *ServerConnection) GroupsCreate(groups GroupList) (ErrorList, CreateResultList, error)

GroupsCreate - Create new groups.

groups - new group entities

Return

errors - error message list
result - list of IDs of created groups

func (*ServerConnection) GroupsCreateLdap added in v0.2.0

func (s *ServerConnection) GroupsCreateLdap(groups GroupList) (ErrorList, CreateResultList, error)

GroupsCreateLdap - Create new groups in directory service.

groups - new group entities

Return

errors - error message list
result - list of IDs of created groups

func (*ServerConnection) GroupsGet added in v0.2.0

func (s *ServerConnection) GroupsGet(query SearchQuery, domainId KId) (GroupList, int, error)

GroupsGet - Obtain a list of groups.

query - query conditions and limits

Return

	list - groups
 totalItems - amount of groups for given search condition, useful when limit is defined in SearchQuery

func (*ServerConnection) GroupsRemove added in v0.2.0

func (s *ServerConnection) GroupsRemove(requests GroupRemovalRequestList) (ErrorList, error)

GroupsRemove - Note: it is not necessary to remove members before deleting a group Return

errors - error message list

func (*ServerConnection) GroupsRemoveMemberList added in v0.2.0

func (s *ServerConnection) GroupsRemoveMemberList(groupId KId, userIds KIdList) (ErrorList, error)

GroupsRemoveMemberList - Remove member(s) from a group.

groupId - global group identifier
userIds - list of global identifiers of users to be add to a group

Return

errors - error message list

func (*ServerConnection) GroupsSet added in v0.2.0

func (s *ServerConnection) GroupsSet(groupIds KIdList, pattern Group) (ErrorList, error)

GroupsSet - Create a new group.

groupIds - a list group global identifier(s)
pattern - pattern to use for new values

Return

errors - error message list

func (*ServerConnection) InitCheckHostname added in v0.2.0

func (s *ServerConnection) InitCheckHostname(hostname string) error

InitCheckHostname - Check existence of domain name in the DNS. Existence of DN record with type "A" in appropriate DNS zone.

hostname - fully qualified domain name of the server

func (*ServerConnection) InitCheckMessageStorePath added in v0.2.0

func (s *ServerConnection) InitCheckMessageStorePath(path string) (*DirectoryAccessResult, int, error)

InitCheckMessageStorePath - Check if message store path is correct and can be created in the file system.

path - full path to message store directory

Return

result - result of the check
freeSpace - amount of free space in the directory

func (*ServerConnection) InitCheckMxRecord added in v0.2.0

func (s *ServerConnection) InitCheckMxRecord(domainName string) error

InitCheckMxRecord - Check existence of MX record in the DNS for specified domain.

domainName - fully qualified domain name

func (*ServerConnection) InitCreateAdministratorAccount added in v0.2.0

func (s *ServerConnection) InitCreateAdministratorAccount(loginName string, password string) error

InitCreateAdministratorAccount - Creates the administrator account. This account will be created in primary domain.

loginName - login name for administrator (without domain name)
password - administrator password

func (*ServerConnection) InitCreateDistributableDomain added in v0.2.0

func (s *ServerConnection) InitCreateDistributableDomain(domainName string, authentication ClusterAuthentication) (*ClusterError, error)

InitCreateDistributableDomain - Connect server to cluster as slave and create distributable domain.

domainName - domain which can be distributed (they have a directory service set) and exist on master server.
authentication - Structure with a credential. Credential will be used when connected is false.

Return

result - if ClusterErrorType is not clSuccess, error argument contains additional error info

func (*ServerConnection) InitCreatePrimaryDomain added in v0.2.0

func (s *ServerConnection) InitCreatePrimaryDomain(domainName string) error

InitCreatePrimaryDomain - Creates the primary email domain.

domainName - fully qualified name of the domain

func (*ServerConnection) InitFinish added in v0.2.0

func (s *ServerConnection) InitFinish() error

InitFinish - Finish initial configuration of Kerio Connect.

func (*ServerConnection) InitGetBrowserLanguages added in v0.2.0

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

InitGetBrowserLanguages - Returns a list of user-preferred languages set in browser. Return

calculatedLanguage - a list of 2-character language codes

func (*ServerConnection) InitGetDirs added in v0.2.0

func (s *ServerConnection) InitGetDirs(fullPath string) (DirectoryList, error)

InitGetDirs - Obtain a list of directories in a particular path.

fullPath - directory for listing, if full path is empty logical drives will be listed

Return

dirList - List of directories

func (*ServerConnection) InitGetDistributableDomains added in v0.2.0

func (s *ServerConnection) InitGetDistributableDomains(authentication ClusterAuthentication) (StringList, error)

InitGetDistributableDomains - Retrieve domains, which can be distributed, from the master server as a standalone server.

authentication - Structure with a credential. Credential will be used when connected is false.

Return

domainNames - List of domains which can be distributed (they have a directory service set).

func (*ServerConnection) InitGetEula added in v0.2.0

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

InitGetEula - Obtain EULA. Return

content - plain text of EULA

func (*ServerConnection) InitGetHostname added in v0.2.0

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

InitGetHostname - Returns FQDN (fully qualified domain name) of the server (e.g. mail.companyname.com). Return

hostname - name of the server

func (*ServerConnection) InitGetMessageStorePath added in v0.2.0

func (s *ServerConnection) InitGetMessageStorePath() (string, int, error)

InitGetMessageStorePath - Get current path to message store. Default path is "store" subdirectory in installation directory. Return

path - full path to message store directory
freeSpace - amount of free space in the directory

func (*ServerConnection) InitGetNamedConstantList added in v0.2.0

func (s *ServerConnection) InitGetNamedConstantList() (NamedConstantList, error)

InitGetNamedConstantList - Server side list of constants. Return

constants - list of constants

func (*ServerConnection) InitGetProductInfo added in v0.2.0

func (s *ServerConnection) InitGetProductInfo() (*ProductInfo, error)

InitGetProductInfo - Get basic information about product and its version. Return

info - structure with basic information about product

func (*ServerConnection) InitSetClientStatistics added in v0.2.0

func (s *ServerConnection) InitSetClientStatistics(isEnabled bool) error

InitSetClientStatistics - Set client statistics settings.

isEnabled - flag if statistics are enabled

func (*ServerConnection) InitSetHostname added in v0.2.0

func (s *ServerConnection) InitSetHostname(hostname string) error

InitSetHostname - Set Internet hostname of the server. This name is used for server identification in SMTP, POP3 and similar protocols.

hostname - new fully qualified domain name of the server

func (*ServerConnection) InitSetMessageStorePath added in v0.2.0

func (s *ServerConnection) InitSetMessageStorePath(path string) error

InitSetMessageStorePath - Set path to message store directory.

path - full path to message store directory

func (*ServerConnection) InstantMessagingCheckXMPPConfiguration added in v0.2.0

func (s *ServerConnection) InstantMessagingCheckXMPPConfiguration(domainId KId) (*XMPPConfiguration, error)

InstantMessagingCheckXMPPConfiguration - Check XMPP configuration for all domains

func (*ServerConnection) InstantMessagingGet added in v0.2.0

func (s *ServerConnection) InstantMessagingGet() (*XmppSettings, error)

InstantMessagingGet - Get settings of XMPP server Return

settings - Sign On settings

func (*ServerConnection) InstantMessagingSet added in v0.2.0

func (s *ServerConnection) InstantMessagingSet(settings XmppSettings) error

InstantMessagingSet - Set settings of XMPP server

settings - Sign On settings

func (*ServerConnection) IpAddressGroupsCreate added in v0.2.0

func (s *ServerConnection) IpAddressGroupsCreate(groups IpAddressEntryList) (ErrorList, CreateResultList, error)

IpAddressGroupsCreate - Create new groups.

groups - details for new groups.

Return

errors - possible errors: - "This address group already exists!" duplicate name-value
result - list of IDs of created IpAddressGroups

func (*ServerConnection) IpAddressGroupsGet added in v0.2.0

func (s *ServerConnection) IpAddressGroupsGet(query SearchQuery) (IpAddressEntryList, int, error)

IpAddressGroupsGet - Get the list of IP groups.

query - conditions and limits. Included from weblib. KWF engine implementation notes:
- LIKE matches substring (second argument) in a string (first argument). There are no wildcards.
- sort and match are not case sensitive. - column alias (first operand):

Return

	ip address list
 totalItems - count of all groups on the server (before the start/limit applied)

func (*ServerConnection) IpAddressGroupsGetGroupList added in v0.2.0

func (s *ServerConnection) IpAddressGroupsGetGroupList() (IpAddressGroupList, error)

IpAddressGroupsGetGroupList - Get the list of groups, sorted in ascending order. Return

groups - list of IP address groups

func (*ServerConnection) IpAddressGroupsRemove added in v0.2.0

func (s *ServerConnection) IpAddressGroupsRemove(groupIds KIdList) (ErrorList, error)

IpAddressGroupsRemove - Remove groups.

groupIds - IDs of groups that should be removed

Return

errors - Errors by removing groups

func (*ServerConnection) IpAddressGroupsSet added in v0.2.0

func (s *ServerConnection) IpAddressGroupsSet(groupIds KIdList, details IpAddressEntry) (ErrorList, error)

IpAddressGroupsSet - Create groups.

groupIds - IDs of groups to be updated.
details - details for update.

Return

errors - possible errors: - "This address group already exists!" duplicate name-value

func (*ServerConnection) IpAddressGroupsValidateRemove added in v0.2.0

func (s *ServerConnection) IpAddressGroupsValidateRemove(groupIds KIdList) (ErrorList, error)

IpAddressGroupsValidateRemove - Check if groups removal can cut off the administrator from remote administration

groupIds - IDs of groups that should be removed

Return

errors - if the result is false, error argument contains additional error info; possible errors:
- "You will be cut off from remote administration!"

func (*ServerConnection) IpAddressGroupsValidateSet added in v0.2.0

func (s *ServerConnection) IpAddressGroupsValidateSet(groupIds KIdList, details IpAddressEntry) (ErrorList, error)

IpAddressGroupsValidateSet - Check update of existing groups to see whether this change cut off the administrator from remote administration.

groupIds - IDs of groups to be updated.
details - details for update.

Return

errors - if the result is false, error argument contains additional error info; possible errors: - "You will be cut off from remote administration!"

func (*ServerConnection) Login added in v0.2.0

func (s *ServerConnection) Login(user, password string, app *ApiApplication) error

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

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

func (*ServerConnection) Logout added in v0.2.0

func (s *ServerConnection) Logout() error

Logout - Log out the callee

func (*ServerConnection) LogsCancelSearch added in v0.2.0

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

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

searchId - identifier from search()

func (*ServerConnection) LogsClear added in v0.2.0

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

LogsClear - Delete all log lines.

logName - unique name of the log

func (*ServerConnection) LogsExportLog added in v0.2.0

func (s *ServerConnection) LogsExportLog(logName LogType, fromLine int, countLines int, format 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
type - export file type

Return

fileDownload - file download structure

func (*ServerConnection) LogsExportLogRelative added in v0.2.0

func (s *ServerConnection) LogsExportLogRelative(logName LogType, fromLine int, countLines int, format 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
type - export file type

Return

fileDownload - file download structure

func (*ServerConnection) LogsGet added in v0.2.0

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 added in v0.2.0

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

LogsGetHighlightRules - Obtain a list of sorted highlighting rules. Return

rules - highlight rules

func (*ServerConnection) LogsGetLogSet added in v0.2.0

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

LogsGetLogSet - Retrieve set of valid logs. Return

logSet - list of valid logs

func (*ServerConnection) LogsGetMessages added in v0.2.0

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 added in v0.2.0

func (s *ServerConnection) LogsGetSearchProgress(countLines int, searchId string) (LogRowList, int, int, *SearchStatus, int, error)

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

countLines - number of lines to transfer
searchId - identifier from search()

Return

	viewport - list of log lines
	firstLine - first matching line
 totalItems - current count of all log lines
	status - current status of the search
	percentage - already finished search <0;100>

func (*ServerConnection) LogsGetSettings added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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

LogsSetSettings - Change log settings.

logName - unique name of the log
newSettings

func (*ServerConnection) MailingListsAddMlUserList added in v0.2.0

func (s *ServerConnection) MailingListsAddMlUserList(members UserOrEmailList, mlId KId) (ErrorList, error)

MailingListsAddMlUserList - Add one or more members/moderators to a mailing list.

members - ML members and/or moderators
mlId - unique ML identifier

Return

errors - appropriate error messages

func (*ServerConnection) MailingListsCreate added in v0.2.0

func (s *ServerConnection) MailingListsCreate(mailingLists MlList) (ErrorList, CreateResultList, error)

MailingListsCreate - Create new mailing lists.

mailingLists - mailing list entities

Return

errors - error message list
result - list of IDs of created mailing lists

func (*ServerConnection) MailingListsExportMlUsersToCsv added in v0.2.0

func (s *ServerConnection) MailingListsExportMlUsersToCsv(kind MlMembership, mlId KId) (*Download, error)

MailingListsExportMlUsersToCsv - Export of mailing list users of specified membership type.

kind - membership type
mlId - unique ML identifier

Return

fileDownload - description of output file

func (*ServerConnection) MailingListsGet added in v0.2.0

func (s *ServerConnection) MailingListsGet(query SearchQuery, domainId KId) (MlList, int, error)

MailingListsGet - Obtain a list of mailing lists.

query - query conditions and limits

Return

	list - mailing lists
 totalItems - amount of MLs for given search condition, useful when a limit is defined in SearchQuery

func (*ServerConnection) MailingListsGetMlUserList added in v0.2.0

func (s *ServerConnection) MailingListsGetMlUserList(query SearchQuery, mlId KId) (UserOrEmailList, int, error)

MailingListsGetMlUserList - Obtain list of mailing list users including membership type.

query - orderBy definition (conditions and limit are ignored)
mlId - unique ML identifier

Return

	list - mailing list members and/or moderators
 totalItems - amount of MLs members for given search condition, useful when a limit is defined in search query

func (*ServerConnection) MailingListsGetMlUserListFromCsv added in v0.2.0

func (s *ServerConnection) MailingListsGetMlUserListFromCsv(fileId string, mlToImport KId) (MLMemberImporteeList, error)

MailingListsGetMlUserListFromCsv - Parse CSV file in format 'Email, FullName' and return list of members.

fileId - ID of the uploaded file
mlToImport - unique ML identifier or empty string if XML does not exist yet

Return

members - ML members and/or moderators

func (*ServerConnection) MailingListsGetSuffixes added in v0.2.0

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

MailingListsGetSuffixes - processing of special commands of mailing list. Return

suffixes - list of suffixes

func (*ServerConnection) MailingListsGetTrusteeTargetList added in v0.2.0

func (s *ServerConnection) MailingListsGetTrusteeTargetList(query SearchQuery, domainId KId) (TrusteeTargetList, int, error)

MailingListsGetTrusteeTargetList - Obtain a list of potential mailing list archive rights targets.

query - query attributes and limits

Return

	list - trustee targets
 totalItems - amount of trustee targets, useful when a limit is defined in SearchQuery

func (*ServerConnection) MailingListsRemove added in v0.2.0

func (s *ServerConnection) MailingListsRemove(mlIds KIdList) (ErrorList, error)

MailingListsRemove - Remove mailing lists.

mlIds - list of global identifiers of MLs to be deleted

Return

errors - error message list

func (*ServerConnection) MailingListsRemoveMlUserList added in v0.2.0

func (s *ServerConnection) MailingListsRemoveMlUserList(members UserOrEmailList, mlId KId) (ErrorList, error)

MailingListsRemoveMlUserList - Remove member(s)/moderator(s) from a mailing list.

members - ML members and/or moderators
mlId - unique ML identifier

Return

errors - appropriate error messages

func (*ServerConnection) MailingListsSet added in v0.2.0

func (s *ServerConnection) MailingListsSet(mlIds KIdList, pattern Ml) (ErrorList, error)

MailingListsSet - Create a new mailing list.

mlIds - ML global identifiers
pattern - pattern to use for new values

Return

errors - error message list

func (*ServerConnection) MigrationCancel added in v0.2.0

func (s *ServerConnection) MigrationCancel(taskIdList KIdList) (ErrorList, error)

MigrationCancel - Cancel planned or running migration tasks.

taskIdList - Identifiers of migration tasks which should be canceled

Return

errors - error message list

func (*ServerConnection) MigrationGet added in v0.2.0

func (s *ServerConnection) MigrationGet(query SearchQuery) (MigrationTaskList, int, error)

MigrationGet - Obtain list of migration tasks.

query - query attributes and limits

Return

	list - migration tasks
 totalItems - total number of tasks

func (*ServerConnection) MigrationGetCurrentHomeServer added in v0.2.0

func (s *ServerConnection) MigrationGetCurrentHomeServer() (*HomeServer, error)

MigrationGetCurrentHomeServer - Note: This method should be moved to DistributedDomain Return

homeServer - homeserver attributes

func (*ServerConnection) MigrationGetCurrentStatus added in v0.2.0

func (s *ServerConnection) MigrationGetCurrentStatus() (*KId, *MigrationStatus, error)

MigrationGetCurrentStatus - Obtain status of currently running migration task. Return

taskId - migration task identifier
status - migration task status

func (*ServerConnection) MigrationGetStatus added in v0.2.0

func (s *ServerConnection) MigrationGetStatus(taskId KId) (*MigrationStatus, error)

MigrationGetStatus - Obtain status of migration task specified by the task ID.

taskId - migration task identifier

Return

status - migration task status

func (*ServerConnection) MigrationIsInProgress added in v0.2.0

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

MigrationIsInProgress - Note: This method may fail if caller does not have full admin rights. Return

isInProgress - is there any migration task running?

func (*ServerConnection) MigrationStart added in v0.2.0

func (s *ServerConnection) MigrationStart(userIds KIdList) (ErrorList, CreateResultList, error)

MigrationStart - Start a new migration task.

userIds - users to be migrated

Return

errors - error message list
result

func (*ServerConnection) ProductRegistrationFinish added in v0.2.0

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 added in v0.2.0

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 added in v0.2.0

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

ProductRegistrationGetFullStatus - @see RegistrationFullStatus Return

status - A current registration status of the product.

func (*ServerConnection) ProductRegistrationGetStatus added in v0.2.0

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

ProductRegistrationGetStatus - @see RegistrationStatus Return

status - Current registration status of the product.

func (*ServerConnection) ProductRegistrationStart added in v0.2.0

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 added in v0.2.0

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) QueueGet added in v0.2.0

QueueGet - Obtain a list of queued messages.

query - search conditions

Return

	list - awaiting messages
 totalItems - number of listed messages
	volume - space occupied by messages in the queue

func (*ServerConnection) QueueGetProcessed added in v0.2.0

func (s *ServerConnection) QueueGetProcessed(query SearchQuery) (MessageInProcessList, int, error)

QueueGetProcessed - List messages that are being processed by the server.

query - search conditions

Return

	list - processed messages
 totalItems - number of processed messages

func (*ServerConnection) QueueRemove added in v0.2.0

func (s *ServerConnection) QueueRemove(messageIds KIdList) (int, error)

QueueRemove - Remove selected messages from the message queue.

messageIds - identifiers of messages to be deleted

func (*ServerConnection) QueueRemoveAll added in v0.2.0

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

QueueRemoveAll - Remove all message from the queue.

func (*ServerConnection) QueueRemoveMatching added in v0.2.0

func (s *ServerConnection) QueueRemoveMatching(senderPattern string, recipientPattern string) (int, error)

QueueRemoveMatching - Remove all messages matching a pattern from the message queue.

senderPattern - sender pattern with wildcards
recipientPattern - recipient pattern with wildcards

func (*ServerConnection) QueueRun added in v0.2.0

func (s *ServerConnection) QueueRun() error

QueueRun - Try to process message queue immediately.

func (*ServerConnection) QueueTryToSend added in v0.2.0

func (s *ServerConnection) QueueTryToSend(messageIds KIdList) error

QueueTryToSend - Try to send selected messages.

messageIds - identifiers of messages to be sent immediately

func (*ServerConnection) ResourcesCreate added in v0.2.0

func (s *ServerConnection) ResourcesCreate(resources ResourceList) (ErrorList, CreateResultList, error)

ResourcesCreate - Create new resources.

resources - new resource entities

Return

errors - error message list
result - list of IDs of created resources

func (*ServerConnection) ResourcesGet added in v0.2.0

func (s *ServerConnection) ResourcesGet(query SearchQuery, domainId KId) (ResourceList, int, error)

ResourcesGet - Obtain a list of resources.

query - query conditions and limits
domainId - domain identification

Return

	list - resources
 totalItems - amount of resources for given search condition, useful when limit is defined in SearchQuery

func (*ServerConnection) ResourcesGetPrincipalList added in v0.2.0

func (s *ServerConnection) ResourcesGetPrincipalList(query SearchQuery, domainId KId) (PrincipalList, int, error)

ResourcesGetPrincipalList - Obtain a list of potential resource targets (principals).

query - query attributes and limits

Return

	list - principals
 totalItems - amount of resources for given search condition, useful when limit is defined in SearchQuery

func (*ServerConnection) ResourcesRemove added in v0.2.0

func (s *ServerConnection) ResourcesRemove(resourceIds KIdList) (ErrorList, error)

ResourcesRemove - Remove resources.

resourceIds - list of global identifiers of resource(s) to be deleted

Return

errors - error message list

func (*ServerConnection) ResourcesSet added in v0.2.0

func (s *ServerConnection) ResourcesSet(resourceIds KIdList, pattern Resource) (ErrorList, error)

ResourcesSet - Set existing resources.

resourceIds - a list resource global identifier(s)
pattern - pattern to use for new values

Return

errors - error message list

func (*ServerConnection) SecurityPolicyGet added in v0.2.0

func (s *ServerConnection) SecurityPolicyGet() (*SecurityPolicyOptions, error)

SecurityPolicyGet - Obtain Security Policy options. Return

options - current security options

func (*ServerConnection) SecurityPolicySet added in v0.2.0

func (s *ServerConnection) SecurityPolicySet(options SecurityPolicyOptions) error

SecurityPolicySet - Set Security Policy options.

options - options to be updated

func (*ServerConnection) SecurityPolicyUnlockAllAccounts added in v0.2.0

func (s *ServerConnection) SecurityPolicyUnlockAllAccounts() error

SecurityPolicyUnlockAllAccounts - Unlock all locked accounts immediately.

func (*ServerConnection) SenderPolicyGet added in v0.2.0

func (s *ServerConnection) SenderPolicyGet() (*SenderPolicyOptions, error)

SenderPolicyGet - Obtain Sender Policy options. Return

options - current sender options

func (*ServerConnection) SenderPolicySet added in v0.2.0

func (s *ServerConnection) SenderPolicySet(options SenderPolicyOptions) error

SenderPolicySet - Set Sender Policy options.

options - options to be updated

func (*ServerConnection) ServerCreatePath added in v0.2.0

func (s *ServerConnection) ServerCreatePath(path string, credentials Credentials) (*DirectoryAccessResult, error)

ServerCreatePath - Server creates an archive/backup path. If credentials aren't specified, values from current configuration of backup are used.

path - new directory to create
credentials - (optional) user name and password required to access network disk

Return

result - result of create action

func (*ServerConnection) ServerFindEntityByEmail added in v0.2.0

func (s *ServerConnection) ServerFindEntityByEmail(addresses StringList, updatedEntity EntityDetail, domainId KId) (EntityDuplicateList, error)

ServerFindEntityByEmail - caller must be authenticated; Note: creating duplicates is often allowed but may cause unwanted effects.

addresses - list of email addresses (without domain) to be checked
updatedEntity - identification of the current entity (to avoid self duplicity)
domainId - domain identification

Return

entities - list of found entities with e-mail address duplicate 'updatedEntity' is included in list and marked, if none duplicate is found list is empty

func (*ServerConnection) ServerGenerateSupportInfo added in v0.2.0

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

ServerGenerateSupportInfo - Generate a file with information for the support. Return

fileDownload - description of output file

func (*ServerConnection) ServerGetAboutInfo added in v0.2.0

func (s *ServerConnection) ServerGetAboutInfo() (*AboutInfo, error)

ServerGetAboutInfo - Obtain information about server, caller must be authenticated. Return

aboutInformation - information about server

func (*ServerConnection) ServerGetAlertList added in v0.2.0

func (s *ServerConnection) ServerGetAlertList() (AlertList, error)

ServerGetAlertList - Obtain a list of alerts. Return

alerts - list of alerts

func (*ServerConnection) ServerGetBrowserLanguages added in v0.2.0

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

ServerGetBrowserLanguages - Returns a list of user-preferred languages set in browser. Return

calculatedLanguage - a list of 2-character language codes

func (*ServerConnection) ServerGetClientStatistics added in v0.2.0

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

ServerGetClientStatistics - Obtain client statistics settings.

func (*ServerConnection) ServerGetColumnList added in v0.2.0

func (s *ServerConnection) ServerGetColumnList(objectName string, methodName string) (StringList, error)

ServerGetColumnList - Obtain a list of columns dependent on callee role.

objectName - name of the API object
methodName - name of the method of appropriate object

Return

columns - list of available columns

func (*ServerConnection) ServerGetConnections added in v0.2.0

func (s *ServerConnection) ServerGetConnections(query SearchQuery) (ConnectionList, int, error)

ServerGetConnections - Obtain information about active connections.

query - condition and fields have no effect for this method

Return

	list - active connections
 totalItems - total number of active connections

func (*ServerConnection) ServerGetDirs added in v0.2.0

func (s *ServerConnection) ServerGetDirs(fullPath string) (DirectoryList, error)

ServerGetDirs - Obtain a list of directories in a particular path.

fullPath - directory for listing, if full path is empty logical drives will be listed

Return

dirList - List of directories

func (*ServerConnection) ServerGetDownloadProgress added in v0.2.0

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

ServerGetDownloadProgress - Get progress of installation package downloading Return

progress - download progress in percents (0-100)

func (*ServerConnection) ServerGetLicenseExtensionsList added in v0.2.0

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

ServerGetLicenseExtensionsList - Obtain list of license extensions, caller must be authenticated. Return

extensions - list of license extensions

func (*ServerConnection) ServerGetNamedConstantList added in v0.2.0

func (s *ServerConnection) ServerGetNamedConstantList() (NamedConstantList, error)

ServerGetNamedConstantList - Server side list of constants. Return

constants - list of constants

func (*ServerConnection) ServerGetOpenedFoldersInfo added in v0.2.0

func (s *ServerConnection) ServerGetOpenedFoldersInfo(query SearchQuery) (FolderInfoList, int, error)

ServerGetOpenedFoldersInfo - Obtain information about folders opened on server.

query - condition and fields have no effect for this method

Return

	list - opened folders with info
 totalItems - total number of opened folders

func (*ServerConnection) ServerGetProductInfo added in v0.2.0

func (s *ServerConnection) ServerGetProductInfo() (*ProductInfo, error)

ServerGetProductInfo - Get basic information about product and its version. Return

info - structure with basic information about product

func (*ServerConnection) ServerGetRemoteAdministration added in v0.2.0

func (s *ServerConnection) ServerGetRemoteAdministration() (*Administration, error)

ServerGetRemoteAdministration - Obtain information about remote administration settings. Return

setting - current settings

func (*ServerConnection) ServerGetServerHash added in v0.2.0

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

ServerGetServerHash - Obtain a hash string created from product name, version, and installation time. Return

serverHash - server hash

func (*ServerConnection) ServerGetServerIpAddresses added in v0.2.0

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

ServerGetServerIpAddresses - List all server IP addresses. Return

addresses - all IP addresses of the server

func (*ServerConnection) ServerGetServerTime added in v0.2.0

func (s *ServerConnection) ServerGetServerTime() (*ServerTimeInfo, error)

ServerGetServerTime - Get server time information. Return

info - structure with time information

func (*ServerConnection) ServerGetVersion added in v0.2.0

func (s *ServerConnection) ServerGetVersion() (*ServerVersion, error)

ServerGetVersion - Obtain information about server version. Return

product - name of product
version - version in string consists of values of major, minor, revision, build a dot separated
major - major version
minor - minor version
revision - revision number
build - build number

func (*ServerConnection) ServerGetWebSessions added in v0.2.0

func (s *ServerConnection) ServerGetWebSessions(query SearchQuery) (WebSessionList, int, error)

ServerGetWebSessions - Obtain information about web component sessions.

query - condition and fields have no effect for this method

Return

	list - web component sessions
 totalItems - total number of web component sessions

func (*ServerConnection) ServerIsBritishPreferred added in v0.2.0

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

ServerIsBritishPreferred - Determine whether to use British or American flag for English. Return

preferred - use British flag

func (*ServerConnection) ServerKillWebSessions added in v0.2.0

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

ServerKillWebSessions - Terminate actual web sessions.

ids - list of web sessions IDs to terminate

func (*ServerConnection) ServerPathExists added in v0.2.0

func (s *ServerConnection) ServerPathExists(path string, credentials Credentials) (DirectoryAccessResult, error)

ServerPathExists - Check if the selected path exists and is accessible from the server.

path - directory name
credentials - (optional) user name and password required to access network disk

Return

result - result of check

func (*ServerConnection) ServerReboot added in v0.2.0

func (s *ServerConnection) ServerReboot() error

ServerReboot - Reboot the host system.

func (*ServerConnection) ServerRestart added in v0.2.0

func (s *ServerConnection) ServerRestart() error

ServerRestart - Restart server. The server must run as service.

func (*ServerConnection) ServerSendBugReport added in v0.2.0

func (s *ServerConnection) ServerSendBugReport(name string, email string, language string, subject string, description string) error

ServerSendBugReport - Send a bug report to Kerio.

name - name of sender
email - email of sender
language - language of report
subject - summary of report
description - description of problem

func (*ServerConnection) ServerSetClientStatistics added in v0.2.0

func (s *ServerConnection) ServerSetClientStatistics(isEnabled bool) error

ServerSetClientStatistics - Set client statistics settings.

func (*ServerConnection) ServerSetRemoteAdministration added in v0.2.0

func (s *ServerConnection) ServerSetRemoteAdministration(setting Administration) error

ServerSetRemoteAdministration - Set new remote administration parameters.

setting - new settings

func (*ServerConnection) ServerUpgrade added in v0.2.0

func (s *ServerConnection) ServerUpgrade() error

ServerUpgrade - Upgrade server to the latest version. The server must run as service.

func (*ServerConnection) ServerUploadLicense added in v0.2.0

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

ServerUploadLicense - Upload license manually from a file.

fileId - ID of the uploaded file

func (*ServerConnection) ServerValidateRemoteAdministration added in v0.2.0

func (s *ServerConnection) ServerValidateRemoteAdministration(setting Administration) error

ServerValidateRemoteAdministration - Validate whether the administrator can cut off him/herself from the administration.

setting - new setting

func (*ServerConnection) ServicesGet added in v0.2.0

func (s *ServerConnection) ServicesGet() (ServiceList, error)

ServicesGet - Show a list of services with current status. Return

services - list of KMS services

func (*ServerConnection) ServicesGetIPv6 added in v0.2.0

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

ServicesGetIPv6 - Obtain IPv6 settings.

func (*ServerConnection) ServicesRestart added in v0.2.0

func (s *ServerConnection) ServicesRestart(service KId) error

ServicesRestart - Restart a given service.

service - unique service identifier

func (*ServerConnection) ServicesSet added in v0.2.0

func (s *ServerConnection) ServicesSet(services ServiceList) (ErrorList, error)

ServicesSet - Change current status of service(s).

services - list of KMS services

Return

errors - errors of requested changes

func (*ServerConnection) ServicesSetIPv6 added in v0.2.0

func (s *ServerConnection) ServicesSetIPv6(isEnabled bool) error

ServicesSetIPv6 - Set IPv6 settings.

func (*ServerConnection) ServicesStart added in v0.2.0

func (s *ServerConnection) ServicesStart(service KId) error

ServicesStart - Start a given service.

service - unique service identifier

func (*ServerConnection) ServicesStop added in v0.2.0

func (s *ServerConnection) ServicesStop(service KId) error

ServicesStop - Stop a given service.

service - unique service identifier

func (*ServerConnection) ServicesStopMacOSServices added in v0.2.0

func (s *ServerConnection) ServicesStopMacOSServices() error

ServicesStopMacOSServices - Stop the Mac OS services.

func (*ServerConnection) SessionGetDomain added in v0.2.0

func (s *ServerConnection) SessionGetDomain() (*Domain, error)

SessionGetDomain gets domain information of the currently logged user. Only name, displayName, ID, description and password policy related fields are filled.

func (*ServerConnection) SessionWhoAmI added in v0.2.0

func (s *ServerConnection) SessionWhoAmI() (*UserDetails, error)

SessionWhoAmI determines the currently logged user (caller, e.g. administrator). Fields id and domainId can be empty if built-in administrator is logged-in.

func (*ServerConnection) SmtpGet added in v0.2.0

func (s *ServerConnection) SmtpGet() (*SmtpServerSettings, error)

SmtpGet - Obtain SMTP server settings. Return

server - SMTP settings

func (*ServerConnection) SmtpGetIncomingRuleList added in v0.2.0

func (s *ServerConnection) SmtpGetIncomingRuleList() (DeliveryRuleList, error)

SmtpGetIncomingRuleList - Change SMTP server settings.

func (*ServerConnection) SmtpGetOutgoingRuleList added in v0.2.0

func (s *ServerConnection) SmtpGetOutgoingRuleList() (DeliveryRuleList, error)

SmtpGetOutgoingRuleList - Change SMTP server settings.

func (*ServerConnection) SmtpGetRelayDeliveryRuleList added in v0.2.0

func (s *ServerConnection) SmtpGetRelayDeliveryRuleList() (RelayDeliveryRuleList, error)

SmtpGetRelayDeliveryRuleList - Change SMTP server settings.

func (*ServerConnection) SmtpSet added in v0.2.0

func (s *ServerConnection) SmtpSet(server SmtpServerSettings) error

SmtpSet - Change SMTP server settings.

server - SMTP settings

func (*ServerConnection) SmtpSetIncomingRuleList added in v0.2.0

func (s *ServerConnection) SmtpSetIncomingRuleList(list DeliveryRuleList) error

SmtpSetIncomingRuleList - Change SMTP server settings.

func (*ServerConnection) SmtpSetOutgoingRuleList added in v0.2.0

func (s *ServerConnection) SmtpSetOutgoingRuleList(list DeliveryRuleList) error

SmtpSetOutgoingRuleList - Change SMTP server settings.

func (*ServerConnection) SmtpSetRelayDeliveryRuleList added in v0.2.0

func (s *ServerConnection) SmtpSetRelayDeliveryRuleList(list RelayDeliveryRuleList) error

SmtpSetRelayDeliveryRuleList - Change SMTP server settings.

func (*ServerConnection) StatisticsExportToHtml added in v0.2.0

func (s *ServerConnection) StatisticsExportToHtml(typeExpStatistics TypeExpStatistics, lang string) (*Download, error)

StatisticsExportToHtml - Export server statistics to HTML format.

type - export type
lang - export language

Return

fileDownload - description of output file

func (*ServerConnection) StatisticsGet added in v0.2.0

func (s *ServerConnection) StatisticsGet() (*ServerStatistics, error)

StatisticsGet - Obtain overall server statistics.

func (*ServerConnection) StatisticsGetChartData added in v0.2.0

func (s *ServerConnection) StatisticsGetChartData(classname string, name string, scaleId int) (*ChartData, error)

StatisticsGetChartData - Obtain values of charts graph.

classname - classname of charts graph
name - name of charts graph
scaleId - ID of scale

Return

chartData - values of charts graph

func (*ServerConnection) StatisticsGetCharts added in v0.2.0

func (s *ServerConnection) StatisticsGetCharts() (ChartList, error)

StatisticsGetCharts - Obtain descriptions of charts graphs. Return

chartList - list of descriptions of charts graphs

func (*ServerConnection) StatisticsReset added in v0.2.0

func (s *ServerConnection) StatisticsReset() error

StatisticsReset - Reset statistics data.

func (*ServerConnection) SystemHealthGet added in v0.2.0

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

SystemHealthGet -

func (*ServerConnection) SystemHealthGetInc added in v0.2.0

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

SystemHealthGetInc -

func (*ServerConnection) TechnicalSupportAddSystemInfoToTicket added in v0.2.0

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

TechnicalSupportAddSystemInfoToTicket - @return (void)

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

func (*ServerConnection) TechnicalSupportGetInfo added in v0.2.0

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

TechnicalSupportGetInfo - @return (void) 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) TimeRangesCreate added in v0.2.0

func (s *ServerConnection) TimeRangesCreate(ranges TimeRangeEntryList) (ErrorList, CreateResultList, error)

TimeRangesCreate - Create new ranges.

ranges - details for new ranges. Field KiD is assigned by the manager to temporary value until apply() or reset().

Return

errors - possible errors: - "This time range already exists!" duplicate name-value
result - list of IDs of created TimeRanges

func (*ServerConnection) TimeRangesGet added in v0.2.0

func (s *ServerConnection) TimeRangesGet(query SearchQuery) (TimeRangeEntryList, int, error)

TimeRangesGet - Get the list of ranges.

query - conditions and limits. Included from weblib. KWF engine implementation notes: - LIKE matches substring (second argument) in a string (first argument). There are no wildcards. - sort and match are case insensitive. - column alias (first operand):

Return

list - list of ranges and its details
totalItems - count of all ranges on the server (before the start/limit applied)

func (*ServerConnection) TimeRangesGetGroupList added in v0.2.0

func (s *ServerConnection) TimeRangesGetGroupList() (TimeRangeGroupList, error)

TimeRangesGetGroupList - Get the list of groups, sorted in ascending order. Return

groups - list of all groups

func (*ServerConnection) TimeRangesRemove added in v0.2.0

func (s *ServerConnection) TimeRangesRemove(rangeIds KIdList) (ErrorList, error)

TimeRangesRemove - Remove ranges.

rangeIds - IDs of ranges that should be removed

Return

errors - Errors by removing ranges

func (*ServerConnection) TimeRangesSet added in v0.2.0

func (s *ServerConnection) TimeRangesSet(rangeIds KIdList, details TimeRangeEntry) (ErrorList, error)

TimeRangesSet - Set existing ranges.

rangeIds - IDs of ranges to be updated.
details - details for update. Field "KId" is ignored. All other fields must be filled in and they are written to all ranges specified by rangeIds.

Return

errors - possible errors: - "This time range already exists!" duplicate name-value

func (*ServerConnection) UnitySignOnGet added in v0.2.0

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

UnitySignOnGet - Obtain Kerio Unity Sign On settings Return

settings - Sign On settings

func (*ServerConnection) UnitySignOnSet added in v0.2.0

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

UnitySignOnSet - Set Kerio Unity Sign On settings

settings - Sign On settings

func (*ServerConnection) UnitySignOnTestConnection added in v0.2.0

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) UploadsRemove added in v0.2.0

func (s *ServerConnection) UploadsRemove(id string) error

UploadsRemove - Remove uploaded file.

id - identifier of uploaded file

func (*ServerConnection) UploadsRemoveList added in v0.2.0

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

UploadsRemoveList - Remove uploaded files.

ids - identifiers of uploaded files

Return

errors - list of errors

func (*ServerConnection) UserTemplatesCreate added in v0.2.0

func (s *ServerConnection) UserTemplatesCreate(userTemplates UserTemplateList) (ErrorList, CreateResultList, error)

UserTemplatesCreate - Create user templates.

userTemplates - new user template entities

Return

errors - error message list
result - list of IDs of created templates

func (*ServerConnection) UserTemplatesGet added in v0.2.0

func (s *ServerConnection) UserTemplatesGet(query SearchQuery) (UserTemplateList, int, error)

UserTemplatesGet - Obtain a list of user templates.

query - query attributes and limits

Return

	userTemplateList - list of user templates
 totalItems - number of all returned templates

func (*ServerConnection) UserTemplatesGetAvailable added in v0.2.0

func (s *ServerConnection) UserTemplatesGetAvailable(domainId KId) (UserTemplateList, error)

UserTemplatesGetAvailable - - Only templates without administrative rights are listed.

domainId - only templates with this domain and templates without domain are listed

Return

userTemplateList - list of user templates

func (*ServerConnection) UserTemplatesRemove added in v0.2.0

func (s *ServerConnection) UserTemplatesRemove(idList KIdList) (ErrorList, error)

UserTemplatesRemove - Remove list of user template records.

idList - list of identifiers of deleted user templates

Return

errors - error message list

func (*ServerConnection) UserTemplatesSet added in v0.2.0

func (s *ServerConnection) UserTemplatesSet(idList KIdList, pattern UserTemplate) (ErrorList, error)

UserTemplatesSet - Set user templates according a given pattern.

idList - list of domain global identifier(s) of items to be changed
pattern - pattern to use for new values

Return

errors - error message list

func (*ServerConnection) UserVoiceGet added in v0.2.0

func (s *ServerConnection) UserVoiceGet() (*UserVoiceSettings, error)

UserVoiceGet - Obtain settings of User Voice. Return

settings - structure with settings

func (*ServerConnection) UserVoiceGetStatus added in v0.2.0

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

UserVoiceGetStatus - Get status of registration of user voice. Return

isSet - true if user voice is set

func (*ServerConnection) UserVoiceGetUrl added in v0.2.0

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

UserVoiceGetUrl - Parameters name and email can be empty strings.

name - user displayname for userVoice
email - user email address for userVoice

Return

url - URL to userVoice with single sign on token

func (*ServerConnection) UserVoiceSet added in v0.2.0

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

UserVoiceSet - Set settings of User Voice.

settings - structure with settings

func (*ServerConnection) UsersActivate added in v0.2.0

func (s *ServerConnection) UsersActivate(userIds KIdList) (ErrorList, error)

UsersActivate - Activate user(s) from a directory service.

userIds - list of global user identifiers

Return

errors - list of error messages for appropriate users

func (*ServerConnection) UsersActivateOnServer added in v0.2.0

func (s *ServerConnection) UsersActivateOnServer(userIds KIdList, homeServerId KId) (ErrorList, error)

UsersActivateOnServer - Activate user(s) from a directory service in distributed domain environment.

userIds - list of global user identifiers
homeServerId - Id of server in distributed domain on which users will be activated

Return

errors - list of error messages for appropriate users

func (*ServerConnection) UsersAuthenticateConnectionFromExternalService added in v0.2.0

func (s *ServerConnection) UsersAuthenticateConnectionFromExternalService(userName string, password string, service string, connectionId string, isSecure bool) (*AuthResult, error)

UsersAuthenticateConnectionFromExternalService - Authenticate given user and create session. connectionId must be registered by function connectFromExternalService otherwise authenticate fails.

userName - login name + domain name (can be omitted if primary) of the user to be logged in, e.g. "jdoe" or "jdoe@company.com"
password - password of the user to be authenticate (base64-encoded)
connectionId - connection identifier, must be the same as in connectFromExternalService
isSecure - ssl connection

Return

result - resut of autentication.

func (*ServerConnection) UsersCancelWipeMobileDevice added in v0.2.0

func (s *ServerConnection) UsersCancelWipeMobileDevice(userId KId, deviceId string) error

UsersCancelWipeMobileDevice - Cancel wiping of user's mobile device.

userId - global user identifier
deviceId - ID of user's mobile device to cancel wipe

func (*ServerConnection) UsersCheckMailboxIntegrity added in v0.2.0

func (s *ServerConnection) UsersCheckMailboxIntegrity(userIds KIdList) error

UsersCheckMailboxIntegrity - If corrupted folder is found, try to fix it.

userIds - list of user identifiers

func (*ServerConnection) UsersConnectFromExternalService added in v0.2.0

func (s *ServerConnection) UsersConnectFromExternalService(service string, connectionId string, clientIpAddress string, port int, isSecure bool) (bool, error)

UsersConnectFromExternalService - Register connection.

service - service name (should be some real service ID, returned by Services.get)
connectionId - unique connection identifier
port - host port
isSecure - ssl connection

func (*ServerConnection) UsersCreate added in v0.2.0

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

UsersCreate - Create new users.

users - new user entities

Return

errors - error message list
result - list of IDs of created users

func (*ServerConnection) UsersCreateLdap added in v0.2.0

func (s *ServerConnection) UsersCreateLdap(users UserList) (ErrorList, CreateResultList, error)

UsersCreateLdap - Create new users in directory service

users - new user entities

Return

errors - error message list
result - list of IDs of created users

func (*ServerConnection) UsersDisconnectFromExternalService added in v0.2.0

func (s *ServerConnection) UsersDisconnectFromExternalService(service string, connectionId string) error

UsersDisconnectFromExternalService - Unregister connection registered by connectFromExternalService and destroy session created if authenticateFromExternalService was called.

service - service name
connectionId - unique connection identifier

func (*ServerConnection) UsersExportStatistics added in v0.2.0

func (s *ServerConnection) UsersExportStatistics(userIds KIdList, format FileFormatType) (*Download, error)

UsersExportStatistics - Export statistics of given users in given format.

userIds - list of IDs of given users
format - output data format

Return

fileDownload - description of output file

func (*ServerConnection) UsersExportToCsv added in v0.2.0

func (s *ServerConnection) UsersExportToCsv(filename string, query SearchQuery, domainId KId) (*Download, error)

UsersExportToCsv - Export given domain users to comma-separated values file format.

filename - part of filename; full filename is compound as user_<domainname>_<filename>_<date>.csv
query - query attributes and limits
domainId - domain identification

Return

fileDownload - description of output file

func (*ServerConnection) UsersGet added in v0.2.0

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

UsersGet - Obtain a list of users in given domain.

query - query attributes and limits
domainId - domain identification

Return

	list - users
 totalItems - number of users found in given domain

func (*ServerConnection) UsersGetContactPublicFolderList added in v0.2.0

func (s *ServerConnection) UsersGetContactPublicFolderList(domainId KId) (PublicFolderList, error)

UsersGetContactPublicFolderList - Obtain a list of contact public folders in given domain.

domainId - global identification of domain

func (*ServerConnection) UsersGetEffectiveUserRights added in v0.2.0

func (s *ServerConnection) UsersGetEffectiveUserRights(userIds KIdList) (ErrorList, EffectiveUserRightsList, error)

UsersGetEffectiveUserRights - Obtains user effective rights (inherited from groups)

userIds - list of IDs of users

Return

errors - list of users failed to get effective rights
result - list of effective rights

func (*ServerConnection) UsersGetFromServer added in v0.2.0

func (s *ServerConnection) UsersGetFromServer(importServer ImportServer, domainToImport KId) (ImporteeList, error)

UsersGetFromServer - Obtain list of users from given LDAP server potentially importable to the Connect server.

importServer - properties of the server to import from
domainToImport - the mailserver domain where users are imported

Return

newUsers - list of users

func (*ServerConnection) UsersGetMailboxCount added in v0.2.0

func (s *ServerConnection) UsersGetMailboxCount() (*MailboxCount, error)

UsersGetMailboxCount - This method may take a long time if a directory service for mapped users is not available. Return

count - Number of users created on the server and number of active mailboxes.

func (*ServerConnection) UsersGetMobileDeviceList added in v0.2.0

func (s *ServerConnection) UsersGetMobileDeviceList(userId KId, query SearchQuery) (MobileDeviceList, int, error)

UsersGetMobileDeviceList - Obtain a list of mobile devices of given user.

userId - name of user
query - query attributes and limits

Return

	list - mobile devices of given user
 totalItems - number of mobile devices found for given user

func (*ServerConnection) UsersGetNotActivated added in v0.2.0

func (s *ServerConnection) UsersGetNotActivated(domainId KId) (ImporteeList, error)

UsersGetNotActivated - Only user's ID, loginName, fullName, description are set in structures.

domainId - global identification of domain

Return

newUsers - list of users

func (*ServerConnection) UsersGetPersonalContact added in v0.2.0

func (s *ServerConnection) UsersGetPersonalContact(userIds KIdList) (ErrorList, PersonalContactList, error)

UsersGetPersonalContact - Get personal user contacts

func (*ServerConnection) UsersGetRecoveryDeletedItemsSize added in v0.2.0

func (s *ServerConnection) UsersGetRecoveryDeletedItemsSize(userIds KIdList) (ErrorList, QuotaUsageList, error)

UsersGetRecoveryDeletedItemsSize - Obtain a size of items stored for recovering.

userIds - global identification of user

Return

errors - error message list

func (*ServerConnection) UsersGetStatistics added in v0.2.0

func (s *ServerConnection) UsersGetStatistics(userIds KIdList, query SearchQuery) (UserStatList, error)

UsersGetStatistics - Obtain statistics of given users.

userIds - list of IDs of given users
query - query parameters and limits

Return

list - users' statistics

func (*ServerConnection) UsersParseFromCsv added in v0.2.0

func (s *ServerConnection) UsersParseFromCsv(fileId string, domainToImport KId) (ImporteeList, error)

UsersParseFromCsv - 'PRESERVE_FROM_CSV': preserve domain from CSV file (use primary if not defined)

fileId - ID of the uploaded file
domainToImport - import to given domain, magic constants

Return

users - list of parsed users with appropriate status and message

func (*ServerConnection) UsersRecoverDeletedItems added in v0.2.0

func (s *ServerConnection) UsersRecoverDeletedItems(userIds KIdList) (ErrorList, ResultTripletList, error)

UsersRecoverDeletedItems - If the user quota is exceeded an error with code 4000 will be returned.

userIds - list of user IDs

Return

recoveryMessages - list of recovery messages

func (*ServerConnection) UsersRemove added in v0.2.0

func (s *ServerConnection) UsersRemove(requests RemovalRequestList) (ErrorList, error)

UsersRemove - Remove user(s).

requests - list of user IDs to be removed, method, and owner of deleted messages

Return

errors - list of users failed to remove only (successfully removed are NOT listed)

func (*ServerConnection) UsersRemoveMobileDevice added in v0.2.0

func (s *ServerConnection) UsersRemoveMobileDevice(userId KId, deviceId string) error

UsersRemoveMobileDevice - Remove mobile device from the list of user's mobile devices.

userId - name of user
deviceId - ID of user's mobile device to be removed

func (*ServerConnection) UsersResetBuddyList added in v0.2.0

func (s *ServerConnection) UsersResetBuddyList(userIds KIdList) error

UsersResetBuddyList - IM: Reset buddy list of selected users

userIds - list of user identifiers

func (*ServerConnection) UsersSet added in v0.2.0

func (s *ServerConnection) UsersSet(userIds KIdList, pattern User) (ErrorList, error)

UsersSet - Set users' details according given pattern.

userIds - list of IDs of users to be changed
pattern - pattern to use for new values

Return

errors - create a new user

func (*ServerConnection) UsersSetPersonalContact added in v0.2.0

func (s *ServerConnection) UsersSetPersonalContact(userIds KIdList, contact PersonalContact) (ErrorList, error)

UsersSetPersonalContact - Set personal user contacts

func (*ServerConnection) UsersWipeMobileDevice added in v0.2.0

func (s *ServerConnection) UsersWipeMobileDevice(userId KId, deviceId string) error

UsersWipeMobileDevice - Wipe user's mobile device.

userId - global user identifier
deviceId - ID of user's mobile device to be wiped

func (*ServerConnection) VersionGetApiVersion added in v0.2.0

func (s *ServerConnection) VersionGetApiVersion() (*ApiVersion, error)

VersionGetApiVersion - Get version of Administration API.

func (*ServerConnection) VersionGetProductVersion added in v0.2.0

func (s *ServerConnection) VersionGetProductVersion() (*ProductVersion, error)

VersionGetProductVersion - Get product version.

type ServerDirectoryType added in v0.1.2

type ServerDirectoryType string

ServerDirectoryType - Type of user directory

const (
	WinNT            ServerDirectoryType = "WinNT"            // Windows NT Domain directory (Win NT 4.0)
	ActiveDirectory  ServerDirectoryType = "ActiveDirectory"  // Active Directory (Windows 2000 and newer)
	NovellEDirectory ServerDirectoryType = "NovellEDirectory" // Novell eDirectory
)

type ServerOs added in v0.1.2

type ServerOs string

Operating System Family

const (
	Windows ServerOs = "Windows"
	MacOs   ServerOs = "MacOs"
	Linux   ServerOs = "Linux"
)

type ServerStatistics added in v0.1.2

type ServerStatistics struct {
	Start             DateTimeStamp     `json:"start"`
	Uptime            Distance          `json:"uptime"` // server uptime
	Storage           OccupiedStorage   `json:"storage"`
	Received          MessageThroughput `json:"received"`          // messages received by server
	StoredInQueue     MessageThroughput `json:"storedInQueue"`     // messages stored in queue
	Transmitted       MessageThroughput `json:"transmitted"`       // messages transmitted by server
	DeliveredToLocals MessageThroughput `json:"deliveredToLocals"` // messages delivered to local domains
	Mx                MessageThroughput `json:"mx"`                // messages sent to remote MX servers
	Relay             MessageThroughput `json:"relay"`             // messages sent to relay server
	Failures          FailureAndBounce  `json:"failures"`
	DeliveryStatus    Notifications     `json:"deliveryStatus"`
	Antivirus         AntivirusStats    `json:"antivirus"`
	Spam              SpamStats         `json:"spam"`
	Other             OtherStats        `json:"other"`
	SmtpServer        SmtpServerStats   `json:"smtpServer"`
	SmtpClient        SmtpClientStats   `json:"smtpClient"`
	Pop3Server        Pop3ServerStats   `json:"pop3Server"`
	Pop3Client        Pop3ClientStats   `json:"pop3Client"`
	ImapServer        ImapServerStats   `json:"imapServer"`
	LdapServer        LdapServerStats   `json:"ldapServer"`
	WebServer         WebServerStats    `json:"webServer"`
	XmppServer        XmppServerStats   `json:"xmppServer"`
	DnsResolver       DnsResolverStats  `json:"dnsResolver"`
	Antibombing       AntibombingStats  `json:"antibombing"`
	Greylisting       GreylistingStats  `json:"greylisting"`
}

type ServerTimeInfo

type ServerTimeInfo struct {
	TimezoneOffset int           `json:"timezoneOffset"` // +/- offset in minutes
	StartTime      DateTimeStamp `json:"startTime"`      // +/- start time of server
	CurrentTime    DateTimeStamp `json:"currentTime"`    // +/- current time on server
}

ServerTimeInfo - Server time information

type ServerVersion

type ServerVersion struct {
	Product  string `json:"product"`  // name of product
	Version  string `json:"version"`  // version in string consists of values of major, minor, revision, build a dot separated
	Major    int    `json:"major"`    // major version
	Minor    int    `json:"minor"`    // minor version
	Revision int    `json:"revision"` // revision number
	Build    int    `json:"build"`    // build number
}

type Service added in v0.2.0

type Service struct {
	Id              KId                   `json:"id"`
	Name            string                `json:"name"`
	HowToStart      StartUp               `json:"howToStart"`
	Listeners       ListenerList          `json:"listeners"`
	Group           GroupLimit            `json:"group"`
	ConnectionLimit ConcurrentConnections `json:"connectionLimit"`
	DefaultPort     int                   `json:"defaultPort"`
	IsRunning       bool                  `json:"isRunning"`
	AnonymousAccess bool                  `json:"anonymousAccess"` //this property has meaning only for nntp
}

type ServiceList added in v0.2.0

type ServiceList []Service

type ServiceType added in v0.1.2

type ServiceType string
const (
	ServiceActiveSync ServiceType = "ServiceActiveSync" // ActiveSync
	ServiceEWS        ServiceType = "ServiceEWS"        // EWS
	ServiceIMAP       ServiceType = "ServiceIMAP"       // IMAP, Kerio Outlook Connector
	ServiceKoff       ServiceType = "ServiceKoff"       // Kerio Outlook Connector (Offline Edition)
	ServicePOP3       ServiceType = "ServicePOP3"       // POP3
	ServiceWebDAV     ServiceType = "ServiceWebDAV"     // WebDAV, CalDAV, CardDAV
	ServiceWebMail    ServiceType = "ServiceWebMail"    // WebMail
	ServiceXMPP       ServiceType = "ServiceXMPP"       // XMPP
)

type ServiceTypeInfo added in v0.1.2

type ServiceTypeInfo struct {
	Service     ServiceType `json:"service"`     // type of service
	Description string      `json:"description"` // description of service enum
}

type ServiceTypeInfoList added in v0.1.2

type ServiceTypeInfoList []ServiceTypeInfo

type SettingPath added in v0.1.2

type SettingPath []string

type SettingQuery added in v0.1.2

type SettingQuery []SettingPath

type SeverityUnit added in v0.1.2

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 SignOn added in v0.2.0

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 added in v0.1.2

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

SizeLimit - Settings of size limit Note: all fields must be assigned if used in set methods

type SmtpAuthentication added in v0.2.0

type SmtpAuthentication string
const (
	Auth      SmtpAuthentication = "Auth"      // AUTH SMTP command
	Pop3Based SmtpAuthentication = "Pop3Based" // POP3 authentication before SMTP
)

type SmtpClientStats added in v0.1.2

type SmtpClientStats struct {
	ConnectionAttempts string `json:"connectionAttempts"`
	DnsFailures        string `json:"dnsFailures"`
	ConnectionFailures string `json:"connectionFailures"`
	ConnectionLosses   string `json:"connectionLosses"`
}

type SmtpServerSettings added in v0.2.0

type SmtpServerSettings struct {
	RelayControl                 Relay          `json:"relayControl"`                 // relay control options
	IpBasedLimit                 IpLimit        `json:"ipBasedLimit"`                 // limits based on IP address
	BlockUnknownDns              bool           `json:"blockUnknownDns"`              // block is sender's mail domain was not found in DNS
	VerifyClientRDnsEntry        bool           `json:"verifyClientRDnsEntry"`        // block if client's IP address has no reverse DNS entry (PTR)
	RequireLocalDomainSenderAuth bool           `json:"requireLocalDomainSenderAuth"` // require SMTP authentication if the sender's address is from a local domain
	MaximumRecipients            ItemCountLimit `json:"maximumRecipients"`            // maximum number of recipients in 1 message
	MaximumSmtpFailures          ItemCountLimit `json:"maximumSmtpFailures"`          // maximum number of failed commands in 1 SMTP session
	MessageSize                  SizeLimit      `json:"messageSize"`                  // limit for incomming SMTP message size
	ReaderHops                   int            `json:"readerHops"`                   // maximum number of accepted received headers (hops)
	UseSSL                       bool           `json:"useSSL"`                       // use SSL if supported by remote SMTP server
	MaximumThreads               int            `json:"maximumThreads"`               // maximum number of delivery threads
	RetryInterval                TimeLimit      `json:"retryInterval"`                // delivery retry interval
	BounceInterval               TimeLimit      `json:"bounceInterval"`               // bounce the message to the sender if not delivered in defined time
	WarningInterval              TimeLimit      `json:"warningInterval"`              // warn sender if a message is not delivered within define time
	ReportLanguage               string         `json:"reportLanguage"`               // 2 char abbreviation; we don't support reports added by user
}

type SmtpServerStats added in v0.1.2

type SmtpServerStats struct {
	TotalIncomingConnections string `json:"totalIncomingConnections"`
	LostConnections          string `json:"lostConnections"`
	RejectedByBlacklist      string `json:"rejectedByBlacklist"`
	AuthenticationAttempts   string `json:"authenticationAttempts"`
	AuthenticationFailures   string `json:"authenticationFailures"`
	RejectedRelays           string `json:"rejectedRelays"`
	AcceptedMessages         string `json:"acceptedMessages"`
}

type SortDirection added in v0.1.2

type SortDirection string

SortDirection - Sorting Direction

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

type SortOrder added in v0.1.0

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

SortOrder - Sorting Order

type SortOrderList added in v0.1.2

type SortOrderList []SortOrder

SortOrderList - List of Sorting Orders

type SpamAction added in v0.2.0

type SpamAction string
const (
	LogToSecurity SpamAction = "LogToSecurity" // only log to security log
	BlockAction   SpamAction = "BlockAction"   // block the meassage
	ScoreAction   SpamAction = "ScoreAction"   // increase spam score
)

type SpamStats added in v0.1.2

type SpamStats struct {
	Checked         string `json:"checked"`         // how many checked messages
	Tagged          string `json:"tagged"`          // how many tagged messages
	Rejected        string `json:"rejected"`        // how many rejected messages
	MarkedAsSpam    string `json:"markedAsSpam"`    // how many messages were marked as spam by users
	MarkedAsNotSpam string `json:"markedAsNotSpam"` // how many messages were marked as NOT spam by users
}

type Spf added in v0.2.0

type Spf struct {
	Enabled          bool           `json:"enabled"`
	Action           SpamAction     `json:"action"`
	Score            int            `json:"score"`
	ExceptionIpGroup OptionalEntity `json:"exceptionIpGroup"` // switchable custom white list IP group
}

type SslMode added in v0.2.0

type SslMode string
const (
	NoSsl       SslMode = "NoSsl"
	SpecialPort SslMode = "SpecialPort"
	StlsCommand SslMode = "StlsCommand"
)

type StartUp added in v0.2.0

type StartUp string

StartUp - type of start-up

const (
	Manual    StartUp = "Manual"    // service should be started manually
	Automatic StartUp = "Automatic" // service starts automatically
)

type StoreDirectoryOptions added in v0.1.2

type StoreDirectoryOptions struct {
	StorePath         string             `json:"storePath"`         // Path to the store directory
	ArchivePath       string             `json:"archivePath"`       // Path to the archive
	BackupPath        string             `json:"backupPath"`        // Path to the backup
	WatchdogSoftLimit ByteValueWithUnits `json:"watchdogSoftLimit"` // If the available disk space falls below this value, a warning message is displayed
	WatchdogHardLimit ByteValueWithUnits `json:"watchdogHardLimit"` // If the available disk space falls below this value, Kerio MailServer is stopped and an error message is displayed. Administrator's action is required.
}

type StoreStatus added in v0.1.2

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 added in v0.1.2

type StringList []string

StringList - Type for lists of strings.

type SubCondition added in v0.1.0

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 added in v0.1.2

type SubConditionList []SubCondition

SubConditionList - A Complete Condition

type SubscriptionInfo added in v0.2.0

type SubscriptionInfo struct {
	IsUnlimited      bool           `json:"isUnlimited"`      // is it a special license with expiration == never ?
	ShowAlert        bool           `json:"showAlert"`        // show subscription expiration alert
	RemainingDays    int            `json:"remainingDays"`    // days remaining to subscription expiration
	SubscriptionDate JavaScriptDate `json:"subscriptionDate"` // last date of subscription
}

SubscriptionInfo - Subscription information

type SubscriptionPolicy added in v0.2.0

type SubscriptionPolicy struct {
	Type                  MlPermission `json:"type"`
	ModeratorReview       bool         `json:"moderatorReview"`
	ModeratorNotification bool         `json:"moderatorNotification"`
}

SubscriptionPolicy - Rules for subscription

type SupportProductInfo added in v0.2.0

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

SupportProductInfo - Product identification

type SurveyAnswer added in v0.2.0

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 added in v0.2.0

type SurveyAnswerList []SurveyAnswer

SurveyAnswerList - @brief a list of answers for survey questions

type SyncFolder added in v0.2.0

type SyncFolder struct {
	FolderName      string        `json:"folderName"`      // folder name
	FolderTypeIcon  FolderIcon    `json:"folderTypeIcon"`  // mail,contact...
	LastSyncDate    DateTimeStamp `json:"lastSyncDate"`    // date of last synchronization
	LastSyncDateIso UtcDateTime   `json:"lastSyncDateIso"` // date of last synchronization
}

SyncFolder - Synchronized folder.

type SyncFolderList added in v0.2.0

type SyncFolderList []SyncFolder

type SyncMethod added in v0.2.0

type SyncMethod string

SyncMethod - Used synchronization method.

const (
	ServerWins SyncMethod = "ServerWins"
	ClientWins SyncMethod = "ClientWins"
)

type SyslogSettings added in v0.1.2

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 SystemHealthData added in v0.2.0

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 added in v0.2.0

type SystemInfo struct {
	Files       AdditionalFiles `json:"files"`
	Description string          `json:"description"`
}

type TiedTimeUnit added in v0.2.0

type TiedTimeUnit string

TiedTimeUnit - fewer posibilities than TimeUnit

const (
	TMinutes TiedTimeUnit = "TMinutes"
	THours   TiedTimeUnit = "THours"
)

type Time added in v0.1.2

type Time struct {
	Hour int `json:"hour"` // 0-23
	Min  int `json:"min"`  // 0-59
}

Time - When using start and limit to only get a part of all results (e.g. only 20 users, skipping the first 40 users), use this special limit value for unlimited count (of course the service still respects the value of start). Note that each service is allowed to use its safety limit (such as 50,000) to prevent useless overload. The limits are documented per-service or per-method. Implementation note: Some source code transformations may lead to signed long, i.e. 4294967295. But the correct value is -1. Date and Time - should be used instead of time_t, where time zones can affect time interpretation Time - Note: all fields must be assigned if used in set methods

type TimeCondition added in v0.2.0

type TimeCondition struct {
	Type      TriggerType  `json:"type"`
	Number    int          `json:"number"`    // for type "every"
	Units     TiedTimeUnit `json:"units"`     // for type "every"
	Minutes   int          `json:"minutes"`   // for type "at"
	Hours     int          `json:"hours"`     // for type "at"
	IsLimited bool         `json:"isLimited"` // is trigger limited to specified time range?
	GroupId   KId          `json:"groupId"`   // time range identifier; (ID should be ok because should show all available time ranges anyway)
}

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

type TimeHMS added in v0.1.0

type TimeHMS struct {
	Hours   int `json:"hours"`
	Minutes int `json:"minutes"`
	Seconds int `json:"seconds"`
}

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

type TimeLimit added in v0.1.2

type TimeLimit struct {
	Value int      `json:"value"` // how many
	Units TimeUnit `json:"units"` // in which units
}

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

type TimeRangeEntry added in v0.2.0

type TimeRangeEntry 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           TimeRangeType `json:"type"`
	Enabled        bool          `json:"enabled"`
	Status         StoreStatus   `json:"status"`
	FromTime       Time          `json:"fromTime"` // This doesn't contain seconds, so we round data created by QT admin
	ToTime         Time          `json:"toTime"`   // This doesn't contain seconds, so we round data created by QT admin
	Days           DayList       `json:"days"`
	FromDay        DayType       `json:"fromDay"`
	ToDay          DayType       `json:"toDay"`
	FromDate       Date          `json:"fromDate"` // hour and min used from Time
	ToDate         Date          `json:"toDate"`   // hour and min used from Time
	ChildGroupId   KId           `json:"childGroupId"`
	ChildGroupName string        `json:"childGroupName"`
}

TimeRangeEntry - type + (fromDay, toDay) + (fromDate, toDate) + childGroupId

type TimeRangeEntryList added in v0.2.0

type TimeRangeEntryList []TimeRangeEntry

type TimeRangeGroup added in v0.2.0

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

type TimeRangeGroupList added in v0.2.0

type TimeRangeGroupList []TimeRangeGroup

type TimeRangeType added in v0.2.0

type TimeRangeType string

TimeRangeType - @{

const (
	TimeRangeDaily      TimeRangeType = "TimeRangeDaily"
	TimeRangeWeekly     TimeRangeType = "TimeRangeWeekly"
	TimeRangeAbsolute   TimeRangeType = "TimeRangeAbsolute"
	TimeRangeChildGroup TimeRangeType = "TimeRangeChildGroup" // not supported in QT
)

type TimeUnit added in v0.1.2

type TimeUnit string
const (
	Minutes TimeUnit = "Minutes"
	Hours   TimeUnit = "Hours"
	Days    TimeUnit = "Days"
	Weeks   TimeUnit = "Weeks"
)

type TreeLeaf added in v0.1.2

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 added in v0.1.2

type TreeLeafList []TreeLeaf

TreeLeafList - sequence of leaves

type TriggerType added in v0.2.0

type TriggerType string
const (
	Every TriggerType = "Every"
	At    TriggerType = "At"
)

type Trustee added in v0.2.0

type Trustee struct {
	Kind          TrusteeKind `json:"kind"`          // is user or group?
	ReaderId      KId         `json:"readerId"`      // group or user KId
	DisplayString string      `json:"displayString"` // login name or group name with domain name
	IsEnabled     bool        `json:"isEnabled"`     // true if user account is enabled
	ItemSource    DataSource  `json:"itemSource"`    // internal/LDAP
}

Trustee - Entities that have access rights to read ML archive

type TrusteeKind added in v0.2.0

type TrusteeKind string

TrusteeKind - type indicator

const (
	TrusteeUser  TrusteeKind = "TrusteeUser"  // the type is the user
	TrusteeGroup TrusteeKind = "TrusteeGroup" // the type is the group
)

type TrusteeList added in v0.2.0

type TrusteeList []Trustee

TrusteeList - List of entities that have access rights to read ML archive

type TrusteeTarget added in v0.2.0

type TrusteeTarget struct {
	Id          KId         `json:"id"`          // unique identifier
	Type        TrusteeKind `json:"type"`        // is user or group?
	Name        string      `json:"name"`        // loginName for the User, name in square brackets for the Group
	FullName    string      `json:"fullName"`    // fullname for the User, empty string for the Group
	Description string      `json:"description"` // description of User/Group
	IsEnabled   bool        `json:"isEnabled"`   // is the User/Group enabled?
	ItemSource  DataSource  `json:"itemSource"`  // is the User/Group stored internally or by LDAP?
	HomeServer  HomeServer  `json:"homeServer"`  // id of users homeserver if server is in Cluster; groups haven't homeserver
}

TrusteeTarget - Trustee target can be user or group

type TrusteeTargetList added in v0.2.0

type TrusteeTargetList []TrusteeTarget

TrusteeTargetList - List of trustee targets

type TypeAlert added in v0.2.0

type TypeAlert string

TypeAlert - Type of Alert

const (
	Warning  TypeAlert = "Warning"
	Critical TypeAlert = "Critical"
	Info     TypeAlert = "Info"
)

type TypeExpStatistics added in v0.1.2

type TypeExpStatistics string

type UpdateCheckerOptions added in v0.1.2

type UpdateCheckerOptions struct {
	AutoCheck         bool           `json:"autoCheck"`         // Automatically check for new versions
	CheckBetaVersion  bool           `json:"checkBetaVersion"`  // Check also for beta versions
	TimeFromLastCheck DistanceOrNull `json:"timeFromLastCheck"` // [ReadOnly]
	DownloadedFile    string         `json:"downloadedFile"`    // [ReadOnly]
	UpdateInfo        UpdateInfo     `json:"updateInfo"`        // [ReadOnly]
	KocVersion        string         `json:"kocVersion"`        // [ReadOnly]
	KoffVersion       string         `json:"koffVersion"`       // [ReadOnly]
	KspVersion        string         `json:"kspVersion"`        // [ReadOnly]
	KscVersion        string         `json:"kscVersion"`        // [ReadOnly]
}

type UpdateCheckerStatus added in v0.1.2

type UpdateCheckerStatus string

type UpdateInfo added in v0.1.2

type UpdateInfo struct {
	Result      UpdateCheckerStatus `json:"result"`
	Description string              `json:"description"`
	DownloadUrl string              `json:"downloadUrl"`
	InfoUrl     string              `json:"infoUrl"`
}

type UpdateStatus added in v0.2.0

type UpdateStatus string
const (
	UpdateStarted      UpdateStatus = "UpdateStarted"
	UpdateFinished     UpdateStatus = "UpdateFinished"
	UpdateError        UpdateStatus = "UpdateError"
	UpdateDownloadIni  UpdateStatus = "UpdateDownloadIni"
	UpdateDownloadData UpdateStatus = "UpdateDownloadData"
	UpdateUpToDate     UpdateStatus = "UpdateUpToDate"
)

type Url added in v0.1.2

type Url struct {
	Type      UrlType     `json:"type"`
	Url       string      `json:"url"`
	Extension ABExtension `json:"extension"`
}

Url - Structure desribing URL

type UrlList added in v0.1.2

type UrlList []Url

type UrlType added in v0.1.2

type UrlType string

UrlType - Type of URL

const (
	UrlHome   UrlType = "UrlHome"
	UrlWork   UrlType = "UrlWork"
	UrlOther  UrlType = "UrlOther"
	UrlCustom UrlType = "UrlCustom" // no type defined
)

type User added in v0.1.2

type User struct {
	Id                   KId                  `json:"id"`                   // [READ-ONLY] global identification
	DomainId             KId                  `json:"domainId"`             // [REQUIRED FOR CREATE] ID of domain where user belongs to
	CompanyContactId     KId                  `json:"companyContactId"`     // ID of company contact associated with this user
	LoginName            string               `json:"loginName"`            // [REQUIRED FOR CREATE] [USED BY QUICKSEARCH] loginName name
	FullName             string               `json:"fullName"`             // [USED BY QUICKSEARCH]
	Description          string               `json:"description"`          // [USED BY QUICKSEARCH]
	IsEnabled            bool                 `json:"isEnabled"`            // user account is enabled/disabled
	ItemSource           DataSource           `json:"itemSource"`           // is user stored internally or by LDAP? This field cannot be used with Or queries.
	AuthType             UserAuthType         `json:"authType"`             // supported values must be retrieved from engine by ServerInfo::getSupportedAuthTypes()
	Password             string               `json:"password"`             // [WRITE-ONLY]
	IsPasswordReversible bool                 `json:"isPasswordReversible"` // typically triple DES
	AllowPasswordChange  bool                 `json:"allowPasswordChange"`  // if it is set to false the password can be changed only by the administrator
	HasDefaultSpamRule   bool                 `json:"hasDefaultSpamRule"`   // now: available only on user creation
	Role                 UserRight            `json:"role"`                 // user role
	GroupRole            UserRight            `json:"groupRole"`            // the mightiest user role obtained via group membership
	EffectiveRole        UserRight            `json:"effectiveRole"`        // the mightiest user role from role and groupRole
	IsWritableByMe       bool                 `json:"isWritableByMe"`       // Does caller have right to change the user? E.g. if Account Admin gets User structure for Full Admin, isWritableByMe will be false. This field is read-only and cannot be used in SearchQuery conditions.
	EmailAddresses       UserEmailAddressList `json:"emailAddresses"`       // List of user email addresses. His default one (loginName@domain) is not listed here
	EmailForwarding      EmailForwarding      `json:"emailForwarding"`      // email forwarding setting
	UserGroups           UserGroupList        `json:"userGroups"`           // groups membership
	ItemLimit            ItemCountLimit       `json:"itemLimit"`            // max. number of items
	DiskSizeLimit        SizeLimit            `json:"diskSizeLimit"`        // max. disk usage
	ConsumedItems        int                  `json:"consumedItems"`        // current items used
	ConsumedSize         ByteValueWithUnits   `json:"consumedSize"`         // current disk usage
	HasDomainRestriction bool                 `json:"hasDomainRestriction"` // user can send/receive from/to his/her domain only
	OutMessageLimit      SizeLimit            `json:"outMessageLimit"`      // limit of outgoing message
	LastLoginInfo        LastLogin            `json:"lastLoginInfo"`        // information about last login datetime and protocol
	PublishInGal         bool                 `json:"publishInGal"`         // publish user in global address list? Default is true - the user will be published in Global Address Book.
	CleanOutItems        CleanOut             `json:"cleanOutItems"`        // Items clean-out settings
	AccessPolicy         IdEntity             `json:"accessPolicy"`         // ID and name of Access Policy applied for user. Only ID is writable.
	HomeServer           HomeServer           `json:"homeServer"`           // [WRITE-ONCE] Id of user's homeserver if server is in a distributed domain.
	Migration            OptionalEntity       `json:"migration"`            // [READ-ONLY] migration.enabled is true if user's store is just being migrated and migration.id contains migration task id
}

User - User details.

type UserAuthType added in v0.1.2

type UserAuthType string

Type of authorization

const (
	UInternalAuth  UserAuthType = "UInternalAuth"  // Internal authorization
	UWindowsNTAuth UserAuthType = "UWindowsNTAuth" // Windows NT domain authorization
	UPamAuth       UserAuthType = "UPamAuth"       // Authorization for linux
	UKerberosAuth  UserAuthType = "UKerberosAuth"  // Kerberos authorization
	UAppleAuth     UserAuthType = "UAppleAuth"     // Apple authorization
	ULDAPAuth      UserAuthType = "ULDAPAuth"      // LDAP authorization
)

type UserDeleteFolderMode added in v0.1.2

type UserDeleteFolderMode string

UserDeleteFolderMode - Type of deleting folder of the user

const (
	UDeleteUser   UserDeleteFolderMode = "UDeleteUser"   // Delete user without deleting his folder.
	UDeleteFolder UserDeleteFolderMode = "UDeleteFolder" // Delete user and delete his folder.
	UMoveFolder   UserDeleteFolderMode = "UMoveFolder"   // Delete user and his folder will move into another user's folder.
)

type UserDetails

type UserDetails struct {
	ID            string `json:"id"`
	DomainID      string `json:"domainId"`
	LoginName     string `json:"loginName"`
	FullName      string `json:"fullName"`
	EffectiveRole struct {
		UserRole           string `json:"userRole"`
		PublicFolderRight  bool   `json:"publicFolderRight"`
		ArchiveFolderRight bool   `json:"archiveFolderRight"`
	} `json:"effectiveRole"`
}

type UserDomainCountInfo added in v0.2.0

type UserDomainCountInfo struct {
	CurrentUsers int          `json:"currentUsers"` // number of created users on domain
	AllowedUsers MaximumUsers `json:"allowedUsers"` // number of allowed users, take stricter limit from max. number for domain, max. number by license
}

UserDomainCountInfo - User count information

type UserEmailAddressList added in v0.1.2

type UserEmailAddressList []string

UserEmailAddressList - List of email addresses

type UserForwardMode added in v0.1.2

type UserForwardMode string

UserForwardMode - Forwarding setup for user.

const (
	UForwardNone    UserForwardMode = "UForwardNone"    // Forwarding is disabled
	UForwardYes     UserForwardMode = "UForwardYes"     // Forward all messages for this user to some addresses, don't deliver the message to the mailbox.
	UForwardDeliver UserForwardMode = "UForwardDeliver" // Forward all messages for this user to some addresses, and also deliver the message to user's mailbox.
)

type UserGroup added in v0.1.2

type UserGroup struct {
	Id          KId        `json:"id"` // global identification
	Name        string     `json:"name"`
	Description string     `json:"description"`
	ItemSource  DataSource `json:"itemSource"`
}

UserGroup - Properties of user's groups.

type UserGroupList added in v0.1.2

type UserGroupList []UserGroup

UserGroupList - List of user's groups.

type UserInfo added in v0.2.0

type UserInfo struct {
	Name  string `json:"name"`
	Email string `json:"email"`
}

UserInfo - A contact to user

type UserLimitType added in v0.2.0

type UserLimitType string

UserLimitType - Types of user amount limit

const (
	DomainLimit  UserLimitType = "DomainLimit"  // stricter limit for amount of users is on domain
	LicenseLimit UserLimitType = "LicenseLimit" // stricter limit for amount of users is on license
)

type UserList added in v0.1.2

type UserList []User

UserList - List of users.

type UserNameList added in v0.2.0

type UserNameList []string

type UserOrEmail added in v0.2.0

type UserOrEmail struct {
	HasId        bool         `json:"hasId"`        // is a real user or email address only?
	UserId       KId          `json:"userId"`       // global user identification
	EmailAddress string       `json:"emailAddress"` // email address, filled only if hasId is false
	FullName     string       `json:"fullName"`     // fullName of user or associated email
	Kind         MlMembership `json:"kind"`         // a kind of membership
}

UserOrEmail - ML member

type UserOrEmailList added in v0.2.0

type UserOrEmailList []UserOrEmail

UserOrEmailList - List of ML members

type UserQuota added in v0.1.2

type UserQuota struct {
	Notification QuotaNotification `json:"notification"` // option for notification
	WarningLimit int               `json:"warningLimit"` // limit in per cent
	Email        string            `json:"email"`        // if quota is exceeded the notification will be sent to this address
}

type UserRight added in v0.1.2

type UserRight struct {
	UserRole           UserRoleType `json:"userRole"`
	PublicFolderRight  bool         `json:"publicFolderRight"`
	ArchiveFolderRight bool         `json:"archiveFolderRight"`
}

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

type UserRoleType added in v0.1.2

type UserRoleType string

UserRoleType - Type of user role.

const (
	UserRole           UserRoleType = "UserRole"           // regular user without any administration rights
	Auditor            UserRoleType = "Auditor"            // read only access to administration
	AccountAdmin       UserRoleType = "AccountAdmin"       // can administer Users,Groups,Aliases,MLs
	FullAdmin          UserRoleType = "FullAdmin"          // unlimited administration
	BuiltInAdmin       UserRoleType = "BuiltInAdmin"       // BuiltIn admin role can be returned only in Session::WhoAmI method for built-in administrator. This role must NOT be assigned.
	BuiltInDomainAdmin UserRoleType = "BuiltInDomainAdmin" // BuiltIn domain admin role can be returned only in Session::WhoAmI method for built-in domain administrator. This role must NOT be assigned.
)

type UserStatList added in v0.1.2

type UserStatList []UserStats

UserStatList - List of users' statistics.

type UserStats added in v0.1.2

type UserStats struct {
	Name             string     `json:"name"` // user's loginName
	OccupiedSpace    QuotaUsage `json:"occupiedSpace"`
	Pop3             LoginStats `json:"pop3"`
	SecurePop3       LoginStats `json:"securePop3"`
	Imap             LoginStats `json:"imap"`
	SecureImap       LoginStats `json:"secureImap"`
	Http             LoginStats `json:"http"`
	SecureHttp       LoginStats `json:"secureHttp"`
	Ldap             LoginStats `json:"ldap"`
	SecureLdap       LoginStats `json:"secureLdap"`
	Nntp             LoginStats `json:"nntp"`
	SecureNntp       LoginStats `json:"secureNntp"`
	ActiveSync       LoginStats `json:"activeSync"`
	SecureActiveSync LoginStats `json:"secureActiveSync"`
	Xmpp             LoginStats `json:"xmpp"`
	SecureXmpp       LoginStats `json:"secureXmpp"`
}

UserStats - Statistics about user's usage of quota, logins to different services.

type UserTemplate added in v0.2.0

type UserTemplate struct {
	Id                   KId                  `json:"id"`
	Name                 string               `json:"name"`                 // [REQUIRED FOR CREATE] [USED BY QUICKSEARCH] name of template (displayed in list of templates)
	Description          string               `json:"description"`          // [USED BY QUICKSEARCH] description of template (displayed after its selection)
	AuthType             UserAuthType         `json:"authType"`             // supported values must be retrieved from engine by ServerInfo::getSupportedAuthTypes()
	IsPasswordReversible bool                 `json:"isPasswordReversible"` // typically SHA1
	HasDefaultSpamRule   bool                 `json:"hasDefaultSpamRule"`   // should be spam rule enabled?
	Role                 UserRight            `json:"role"`                 // list of user roles (excluding public/archive folder rights)
	Scope                ValidFor             `json:"scope"`                // scope of template
	DomainId             KId                  `json:"domainId"`             // not relevant for templating, only for filter (condition)
	EmailAddresses       UserEmailAddressList `json:"emailAddresses"`       // filled only if domain is set
	UserGroups           UserGroupList        `json:"userGroups"`           // filled only if domain is set
	EmailForwarding      EmailForwarding      `json:"emailForwarding"`      // email forwarding setting
	ItemLimit            ItemCountLimit       `json:"itemLimit"`            // max. number of items
	DiskSizeLimit        SizeLimit            `json:"diskSizeLimit"`        // max. disk usage
	HasDomainRestriction bool                 `json:"hasDomainRestriction"` // user can send/receive from/to his domain only
	OutMessageLimit      SizeLimit            `json:"outMessageLimit"`      // limit of outgoing message
	PublishInGal         bool                 `json:"publishInGal"`         // publish user in global address list
	CleanOutItems        CleanOut             `json:"cleanOutItems"`        // Items clean-out settings
	AllowPasswordChange  bool                 `json:"allowPasswordChange"`  // if it is set to false the password can be changed only by the administrator
	AccessPolicy         IdEntity             `json:"accessPolicy"`         // ID and name of Access Policy applied for user. Only ID is writable.
	CompanyContactId     KId                  `json:"companyContactId"`     // ID of company contact associated with this template
	HomeServerId         KId                  `json:"homeServerId"`         // ID of distributed domain home server guid associated with this template
}

UserTemplate - Details of user template - meaning is the same as in structure User

type UserTemplateList added in v0.2.0

type UserTemplateList []UserTemplate

type UserVoiceSettings added in v0.2.0

type UserVoiceSettings struct {
	Name  string `json:"name"`
	Email string `json:"email"`
}

UserVoiceSettings - Settings of UserVoice

type UtcDateTime added in v0.2.1

type UtcDateTime string

type ValidFor added in v0.2.0

type ValidFor string

ValidFor - User Template Scope

const (
	OneDomain  ValidFor = "OneDomain"
	AllDomains ValidFor = "AllDomains"
)

type ValidPeriod added in v0.1.2

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 added in v0.1.2

type ValidType string

ValidType - Certificate Time properties info

const (
	Valid       ValidType = "Valid"
	NotValidYet ValidType = "NotValidYet"
	ExpireSoon  ValidType = "ExpireSoon"
	Expired     ValidType = "Expired"
)

type WebComponent added in v0.1.2

type WebComponent string

Enum type for determine which web component is in use in session

const (
	WebComponentWEBMAIL WebComponent = "WebComponentWEBMAIL" // WebMail
	WebComponentADMIN   WebComponent = "WebComponentADMIN"   // Web Administration
	WebComponentMINI    WebComponent = "WebComponentMINI"    // WebMail mini
)

type WebMailOptions added in v0.1.2

type WebMailOptions struct {
	MessageSizeLimit       int                    `json:"messageSizeLimit"`       // Maximum size of message that can be sent from the WebMail interface (HTTP POST size)
	SessionExpireTimeout   TimeLimit              `json:"sessionExpireTimeout"`   // Session expire timeout
	MaximumSessionDuration TimeLimit              `json:"maximumSessionDuration"` // Maximum session duration
	ForceLogout            bool                   `json:"forceLogout"`            // Force WebMail logout if user's IP address changes (prevents session hijacking and session fixation attacks)
	CustomLoginPage        WebmailCustomLoginPage `json:"customLoginPage"`        // Use custom logo in WebMail login page
}

type WebServerStats added in v0.1.2

type WebServerStats struct {
	TotalIncomingConnections string `json:"totalIncomingConnections"`
}

type WebSession added in v0.2.0

type WebSession struct {
	Id             string       `json:"id"`
	UserName       string       `json:"userName"`
	ClientAddress  string       `json:"clientAddress"`  // IPv4 address
	ExpirationTime string       `json:"expirationTime"` // format dd.mm.yyyy hh:mm:ss
	ComponentType  WebComponent `json:"componentType"`  // what about CalDav, WebDav, ActiveSync
	IsSecure       bool         `json:"isSecure"`       // is protocol secure
}

type WebSessionList

type WebSessionList []WebSession

type WebmailCustomLoginPage added in v0.1.2

type WebmailCustomLoginPage struct {
	ButtonColor    ButtonColor    `json:"buttonColor"`
	AdditionalInfo AdditionalInfo `json:"additionalInfo"`
}
type WebmailLogo struct {
	IsUsed bool   `json:"isUsed"` // has domain user defined logo?
	Url    string `json:"url"`    // user defined logo URL
}

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

type XMPPConfiguration added in v0.2.0

type XMPPConfiguration struct {
	DnsARecord             bool `json:"dnsARecord"`
	DnsSRVRecordClient     bool `json:"dnsSRVRecordClient"`
	DnsSRVRecordServer     bool `json:"dnsSRVRecordServer"`
	XmppPingExternalServer bool `json:"xmppPingExternalServer"`
}

type XmppServerStats added in v0.1.2

type XmppServerStats struct {
	TotalIncomingConnections string `json:"totalIncomingConnections"`
	AuthenticationFailures   string `json:"authenticationFailures"`
}

type XmppSettings added in v0.2.0

type XmppSettings struct {
	SendOutsideEnabled          bool `json:"sendOutsideEnabled"`          // Sending messages outside the company is enabled
	SendOutsideEnabledIsRunning bool `json:"sendOutsideEnabledIsRunning"` // [READ-ONLY] Sending messages outside the company is really running and is functional
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL