import "library/cpp/getoptpb/proto/confoption.proto";

package NUtils;

message TParams {
    option (NGetoptPb.Title) = "This tool can send requests to QuerySearch-SAAS. More information: https://wiki.yandex-team.ru/jandekspoisk/SaaS/QuerySearch-SAAS/";

    optional string Host = 1 [
        default = "http://saas-searchproxy-middle-kv.yandex.net:17000",
        (NGetoptPb.Conf).Descr = "SAAS searchproxy host"
    ];
    required string Service = 2 [(NGetoptPb.Conf).Descr = "SAAS service name (for example, fast_snippets_kv)"];

    optional string ProtoKey = 3 [(NGetoptPb.Conf).Descr = "prototext key (NSaasTrie.TComplexKey)"];

    optional string KeyType = 4 [(NGetoptPb.Conf).Descr = "NSaasTrie.TComplexKey.MainKey value, filled automatically by default"];

    optional bool BanfilterMasks = 5 [(NGetoptPb.Conf).Descr = "match urls by masks as in banfilter_trie"];

    repeated string QueryStrong = 6 [(NGetoptPb.Conf).Descr = "Subkey_QueryStrong"];
    repeated string QueryDoppel = 7 [(NGetoptPb.Conf).Descr = "Subkey_QueryDoppel"];
    repeated string UserId = 8 [(NGetoptPb.Conf).Descr = "Subkey_UserId"];
    repeated string UserLoginHash = 9 [(NGetoptPb.Conf).Descr = "Subkey_UserLoginHash"];
    repeated string UserRegion = 10 [(NGetoptPb.Conf).Descr = "Subkey_UserRegion"];
    repeated string StructKey = 11 [(NGetoptPb.Conf).Descr = "Subkey_StructKey"];
    repeated string Url = 12 [(NGetoptPb.Conf).Descr = "Subkey_Url"];
    repeated string Owner = 13 [(NGetoptPb.Conf).Descr = "Subkey_Owner"];
    repeated string UrlMask = 14 [(NGetoptPb.Conf).Descr = "Subkey_UrlMask"];
    repeated string DocId = 15 [(NGetoptPb.Conf).Descr = "Subkey_ZDocId"];
    repeated string QueryDoppelToken = 16 [(NGetoptPb.Conf).Descr = "Subkey_QueryDoppelToken"];
    repeated string QueryDoppelPair = 17 [(NGetoptPb.Conf).Descr = "Subkey_QueryDoppelPair"];
    repeated string UrlNoCgi = 18 [(NGetoptPb.Conf).Descr = "Subkey_UrlNoCgi"];

    optional string ExtraCgi = 20 [(NGetoptPb.Conf).Descr = "additional CGI params"];
    optional bool Verbose = 21 [(NGetoptPb.Conf).Descr = "print debug output"];
    optional bool Json = 22 [(NGetoptPb.Conf).Descr = "write output in json format"];
}

