syntax = "proto3"; enum Crawlers { HEALTH_ACTIVEDIRECTORY = 0; HEALTH_DNS = 1; HEALTH_FTP = 2; HEALTH_FTPS = 3; HEALTH_IMAP = 4; HEALTH_LDAP = 5; HEALTH_MONGODB = 6; HEALTH_MSSQL = 7; HEALTH_MYSQL = 8; HEALTH_MARIADB = 9; HEALTH_PGSQL = 10; HEALTH_NETBIOS = 11; HEALTH_ORACLE = 12; HEALTH_POP3 = 13; HEALTH_REDIS = 14; HEALTH_RMI = 15; HEALTH_SMB = 16; HEALTH_SMTP = 17; HEALTH_SNMPV2C = 18; HEALTH_SNMPV3 = 19; HEALTH_SSH = 20; HEALTH_TELNET = 21; HEALTH_WMI = 22; HEALTH_CASSANDRA = 23; HEALTH_HTTP = 24; SQL = 25; SNMP = 26; WMI = 27; JMX = 28; REDIS = 29; MONGODB = 30; } // services service Config { rpc Add (InputAdd) returns (Output) {} rpc Remove (Input) returns (Output) {} rpc Init (InputArray) returns (Output) {} } service Data { rpc Get (Input) returns (Output) {} } service Status { rpc Status(Empty) returns (Boolean) {} } message Empty {} message Boolean { bool check = 1; } message InputArray { repeated Init in = 1; } message Init { Crawlers name = 1; bytes data = 2; } message Input { Crawlers name = 1; string id =2; } message InputAdd { Crawlers name = 1; bytes data =2; } // response models message Output { int64 startDate = 1; int64 endDate = 2; bytes data = 3; }