/* ------------------------------------------------------------------- ** ** riak.proto: Protocol buffers for Riak ** ** Copyright (c) 2007-2010 Basho Technologies, Inc. All Rights Reserved. ** ** This file is provided to you under the Apache License, ** Version 2.0 (the "License"); you may not use this file ** except in compliance with the License. You may obtain ** a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, ** software distributed under the License is distributed on an ** "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ** KIND, either express or implied. See the License for the ** specific language governing permissions and limitations ** under the License. ** ** ------------------------------------------------------------------- */ /* ** Revision: 1.4 */ // Java package specifiers option java_package = "com.basho.riak.protobuf"; option java_outer_classname = "RiakPB"; // Error response - may be generated for any Req message RpbErrorResp { required bytes errmsg = 1; required uint32 errcode = 2; } // Get server info request - no message defined, just send RpbGetServerInfoReq message code message RpbGetServerInfoResp { optional bytes node = 1; optional bytes server_version = 2; } // Key/value pair - used for user metadata, indexes, search doc fields message RpbPair { required bytes key = 1; optional bytes value = 2; } // Get bucket properties request message RpbGetBucketReq { required bytes bucket = 1; optional bytes type = 2; } // Get bucket properties response message RpbGetBucketResp { required RpbBucketProps props = 1; } // Set bucket properties request message RpbSetBucketReq { required bytes bucket = 1; required RpbBucketProps props = 2; optional bytes type = 3; } // Set bucket properties response - no message defined, just send // RpbSetBucketResp // Reset bucket properties request message RpbResetBucketReq { required bytes bucket = 1; optional bytes type = 2; } // Get bucket properties request message RpbGetBucketTypeReq { required bytes type = 1; } // Set bucket properties request message RpbSetBucketTypeReq { required bytes type = 1; required RpbBucketProps props = 2; } // Set bucket properties response - no message defined, just send // RpbSetBucketResp // Module-Function pairs for commit hooks and other bucket properties // that take functions message RpbModFun { required bytes module = 1; required bytes function = 2; } // A commit hook, which may either be a modfun or a JavaScript named // function message RpbCommitHook { optional RpbModFun modfun = 1; optional bytes name = 2; } // Bucket properties message RpbBucketProps { // Declared in riak_core_app optional uint32 n_val = 1; optional bool allow_mult = 2; optional bool last_write_wins = 3; repeated RpbCommitHook precommit = 4; optional bool has_precommit = 5 [default = false]; repeated RpbCommitHook postcommit = 6; optional bool has_postcommit = 7 [default = false]; optional RpbModFun chash_keyfun = 8; // Declared in riak_kv_app optional RpbModFun linkfun = 9; optional uint32 old_vclock = 10; optional uint32 young_vclock = 11; optional uint32 big_vclock = 12; optional uint32 small_vclock = 13; optional uint32 pr = 14; optional uint32 r = 15; optional uint32 w = 16; optional uint32 pw = 17; optional uint32 dw = 18; optional uint32 rw = 19; optional bool basic_quorum = 20; optional bool notfound_ok = 21; // Used by riak_kv_multi_backend optional bytes backend = 22; // Used by riak_search bucket fixup optional bool search = 23; // Used by riak_repl bucket fixup enum RpbReplMode { FALSE = 0; REALTIME = 1; FULLSYNC = 2; TRUE = 3; } optional RpbReplMode repl = 24; // Search index optional bytes search_index = 25; // KV Datatypes optional bytes datatype = 26; // KV strong consistency optional bool consistent = 27; // KV fast path optional bool write_once = 28; } // Authentication request message RpbAuthReq { required bytes user = 1; required bytes password = 2; }