1/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ 2 3#include "remote/i2-remote.hpp" 4#include "base/configobject.hpp" 5#include "base/application.hpp" 6#include "base/tlsutility.hpp" 7 8library remote; 9 10namespace icinga 11{ 12 13class ApiListener : ConfigObject 14{ 15 activation_priority 50; 16 17 [config, deprecated] String cert_path; 18 [config, deprecated] String key_path; 19 [config, deprecated] String ca_path; 20 [config] String crl_path; 21 [config] String cipher_list { 22 default {{{ return DEFAULT_TLS_CIPHERS; }}} 23 }; 24 [config] String tls_protocolmin { 25 default {{{ return DEFAULT_TLS_PROTOCOLMIN; }}} 26 }; 27 28 [config] String bind_host { 29 default {{{ return Configuration::ApiBindHost; }}} 30 }; 31 [config] String bind_port { 32 default {{{ return Configuration::ApiBindPort; }}} 33 }; 34 35 [config] bool accept_config; 36 [config] bool accept_commands; 37 [config] int max_anonymous_clients { 38 default {{{ return -1; }}} 39 }; 40 41 [config, deprecated] double tls_handshake_timeout { 42 get; 43 set; 44 default {{{ return Configuration::TlsHandshakeTimeout; }}} 45 }; 46 47 [config] double connect_timeout { 48 default {{{ return DEFAULT_CONNECT_TIMEOUT; }}} 49 }; 50 51 [config, no_user_view, no_user_modify] String ticket_salt; 52 53 [config] Array::Ptr access_control_allow_origin; 54 [config, deprecated] bool access_control_allow_credentials; 55 [config, deprecated] String access_control_allow_headers; 56 [config, deprecated] String access_control_allow_methods; 57 58 59 [state, no_user_modify] Timestamp log_message_timestamp; 60 61 [no_user_modify] String identity; 62 63 [state, no_user_modify] Dictionary::Ptr last_failed_zones_stage_validation; 64}; 65 66} 67