1// +build !windows
2
3/*
4** Zabbix
5** Copyright (C) 2001-2021 Zabbix SIA
6**
7** This program is free software; you can redistribute it and/or modify
8** it under the terms of the GNU General Public License as published by
9** the Free Software Foundation; either version 2 of the License, or
10** (at your option) any later version.
11**
12** This program is distributed in the hope that it will be useful,
13** but WITHOUT ANY WARRANTY; without even the implied warranty of
14** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15** GNU General Public License for more details.
16**
17** You should have received a copy of the GNU General Public License
18** along with this program; if not, write to the Free Software
19** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20**/
21
22package agent
23
24type AgentOptions struct {
25	LogType                string   `conf:"optional,default=file"`
26	LogFile                string   `conf:"optional,default=/tmp/zabbix_agent2.log"`
27	LogFileSize            int      `conf:"optional,range=0:1024,default=1"`
28	DebugLevel             int      `conf:"optional,range=0:5,default=3"`
29	PidFile                string   `conf:"optional"`
30	ServerActive           string   `conf:"optional"`
31	RefreshActiveChecks    int      `conf:"optional,range=30:3600,default=120"`
32	Timeout                int      `conf:"optional,range=1:30,default=3"`
33	Hostname               string   `conf:"optional"`
34	HostnameItem           string   `conf:"optional"`
35	HostMetadata           string   `conf:"optional"`
36	HostMetadataItem       string   `conf:"optional"`
37	HostInterface          string   `conf:"optional"`
38	HostInterfaceItem      string   `conf:"optional"`
39	BufferSend             int      `conf:"optional,range=1:3600,default=5"`
40	BufferSize             int      `conf:"optional,range=2:65535,default=100"`
41	EnablePersistentBuffer int      `conf:"optional,range=0:1,default=0"`
42	PersistentBufferPeriod int      `conf:"optional,range=60:31536000,default=3600"`
43	PersistentBufferFile   string   `conf:"optional"`
44	ListenIP               string   `conf:"optional"`
45	ListenPort             int      `conf:"optional,range=1024:32767,default=10050"`
46	StatusPort             int      `conf:"optional,range=1024:32767"`
47	SourceIP               string   `conf:"optional"`
48	Server                 string   `conf:"optional"`
49	UserParameter          []string `conf:"optional"`
50	UnsafeUserParameters   int      `conf:"optional,range=0:1,default=0"`
51	ControlSocket          string   `conf:"optional"`
52	Alias                  []string `conf:"optional"`
53	TLSConnect             string   `conf:"optional"`
54	TLSAccept              string   `conf:"optional"`
55	TLSPSKIdentity         string   `conf:"optional"`
56	TLSPSKFile             string   `conf:"optional"`
57	TLSCAFile              string   `conf:"optional"`
58	TLSCRLFile             string   `conf:"optional"`
59	TLSCertFile            string   `conf:"optional"`
60	TLSKeyFile             string   `conf:"optional"`
61	TLSServerCertIssuer    string   `conf:"optional"`
62	TLSServerCertSubject   string   `conf:"optional"`
63
64	AllowKey interface{} `conf:"optional"`
65	DenyKey  interface{} `conf:"optional"`
66
67	Plugins map[string]interface{} `conf:"optional"`
68}
69