couchbase 3.8.0-x86_64-linux → 3.8.1-x86_64-linux

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/couchbase/3.2/libcouchbase.so +0 -0
  4. data/lib/couchbase/3.3/libcouchbase.so +0 -0
  5. data/lib/couchbase/3.4/libcouchbase.so +0 -0
  6. data/lib/couchbase/4.0/libcouchbase.so +0 -0
  7. data/lib/couchbase/datastructures/couchbase_list.rb +1 -0
  8. data/lib/couchbase/datastructures/couchbase_map.rb +1 -0
  9. data/lib/couchbase/datastructures/couchbase_queue.rb +1 -0
  10. data/lib/couchbase/datastructures/couchbase_set.rb +1 -0
  11. data/lib/couchbase/errors.rb +1 -1
  12. data/lib/couchbase/json_transcoder.rb +1 -1
  13. data/lib/couchbase/options.rb +2 -2
  14. data/lib/couchbase/protostellar/client.rb +0 -2
  15. data/lib/couchbase/protostellar/cluster.rb +4 -0
  16. data/lib/couchbase/protostellar/generated/admin/analytics/v1/analytics_pb.rb +54 -0
  17. data/lib/couchbase/protostellar/generated/admin/analytics/v1/analytics_services_pb.rb +51 -0
  18. data/lib/couchbase/protostellar/generated/admin/bucket/v1/bucket_pb.rb +5 -24
  19. data/lib/couchbase/protostellar/generated/admin/bucket/v1/bucket_services_pb.rb +16 -0
  20. data/lib/couchbase/protostellar/generated/admin/collection/v1/collection_pb.rb +5 -24
  21. data/lib/couchbase/protostellar/generated/admin/collection/v1/collection_services_pb.rb +16 -0
  22. data/lib/couchbase/protostellar/generated/admin/query/v1/query_pb.rb +5 -24
  23. data/lib/couchbase/protostellar/generated/admin/query/v1/query_services_pb.rb +18 -0
  24. data/lib/couchbase/protostellar/generated/admin/search/v1/search_pb.rb +2 -23
  25. data/lib/couchbase/protostellar/generated/admin/search/v1/search_services_pb.rb +23 -0
  26. data/lib/couchbase/protostellar/generated/analytics/v1/analytics_pb.rb +4 -25
  27. data/lib/couchbase/protostellar/generated/analytics/v1/analytics_services_pb.rb +10 -0
  28. data/lib/couchbase/protostellar/generated/internal/hooks/v1/hooks_pb.rb +6 -25
  29. data/lib/couchbase/protostellar/generated/internal/hooks/v1/hooks_services_pb.rb +18 -0
  30. data/lib/couchbase/protostellar/generated/internal/xdcr/v1/xdcr_pb.rb +46 -0
  31. data/lib/couchbase/protostellar/generated/internal/xdcr/v1/xdcr_services_pb.rb +56 -0
  32. data/lib/couchbase/protostellar/generated/kv/v1/kv_pb.rb +3 -26
  33. data/lib/couchbase/protostellar/generated/kv/v1/kv_services_pb.rb +47 -0
  34. data/lib/couchbase/protostellar/generated/query/v1/query_pb.rb +4 -26
  35. data/lib/couchbase/protostellar/generated/query/v1/query_services_pb.rb +10 -0
  36. data/lib/couchbase/protostellar/generated/routing/v2/routing_pb.rb +26 -0
  37. data/lib/couchbase/protostellar/generated/routing/v2/routing_services_pb.rb +43 -0
  38. data/lib/couchbase/protostellar/generated/search/v1/search_pb.rb +5 -26
  39. data/lib/couchbase/protostellar/generated/search/v1/search_services_pb.rb +11 -0
  40. data/lib/couchbase/protostellar/generated/transactions/v1/transactions_pb.rb +2 -23
  41. data/lib/couchbase/protostellar/generated/transactions/v1/transactions_services_pb.rb +30 -0
  42. data/lib/couchbase/protostellar/generated/view/v1/view_pb.rb +2 -23
  43. data/lib/couchbase/protostellar/generated/view/v1/view_services_pb.rb +9 -0
  44. data/lib/couchbase/protostellar/request_generator/admin/collection.rb +4 -2
  45. data/lib/couchbase/protostellar/request_generator/admin/query.rb +2 -0
  46. data/lib/couchbase/protostellar/request_generator/kv.rb +1 -1
  47. data/lib/couchbase/protostellar/scope.rb +4 -0
  48. data/lib/couchbase/utils/observability.rb +10 -4
  49. data/lib/couchbase/version.rb +1 -1
  50. metadata +11 -7
  51. data/lib/couchbase/protostellar/generated/routing/v1/routing_pb.rb +0 -52
  52. data/lib/couchbase/protostellar/generated/routing/v1/routing_services_pb.rb +0 -30
@@ -7,29 +7,8 @@ require 'google/protobuf'
7
7
 
8
8
  descriptor_data = "\n&couchbase/admin/search/v1/search.proto\x12\x19\x63ouchbase.admin.search.v1\"\x96\x04\n\x05Index\x12\x0c\n\x04name\x18\x01 \x01(\t\x12<\n\x06params\x18\x02 \x03(\x0b\x32,.couchbase.admin.search.v1.Index.ParamsEntry\x12\x45\n\x0bplan_params\x18\x03 \x03(\x0b\x32\x30.couchbase.admin.search.v1.Index.PlanParamsEntry\x12\x18\n\x0bsource_name\x18\x04 \x01(\tH\x00\x88\x01\x01\x12I\n\rsource_params\x18\x05 \x03(\x0b\x32\x32.couchbase.admin.search.v1.Index.SourceParamsEntry\x12\x18\n\x0bsource_type\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bsource_uuid\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x0c\n\x04type\x18\x08 \x01(\t\x12\x0c\n\x04uuid\x18\t \x01(\t\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1a\x31\n\x0fPlanParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1a\x33\n\x11SourceParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x0e\n\x0c_source_nameB\x0e\n\x0c_source_typeB\x0e\n\x0c_source_uuid\"\xc0\x05\n\x12\x43reateIndexRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12I\n\x06params\x18\x02 \x03(\x0b\x32\x39.couchbase.admin.search.v1.CreateIndexRequest.ParamsEntry\x12R\n\x0bplan_params\x18\x03 \x03(\x0b\x32=.couchbase.admin.search.v1.CreateIndexRequest.PlanParamsEntry\x12\x1c\n\x0fprev_index_uuid\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bsource_name\x18\x05 \x01(\tH\x01\x88\x01\x01\x12V\n\rsource_params\x18\x06 \x03(\x0b\x32?.couchbase.admin.search.v1.CreateIndexRequest.SourceParamsEntry\x12\x18\n\x0bsource_type\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0bsource_uuid\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x0c\n\x04type\x18\t \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\n \x01(\tH\x04\x88\x01\x01\x12\x17\n\nscope_name\x18\x0b \x01(\tH\x05\x88\x01\x01\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1a\x31\n\x0fPlanParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x1a\x33\n\x11SourceParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x12\n\x10_prev_index_uuidB\x0e\n\x0c_source_nameB\x0e\n\x0c_source_typeB\x0e\n\x0c_source_uuidB\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x15\n\x13\x43reateIndexResponse\"\x97\x01\n\x12UpdateIndexRequest\x12/\n\x05index\x18\x01 \x01(\x0b\x32 .couchbase.admin.search.v1.Index\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x15\n\x13UpdateIndexResponse\"q\n\x0fGetIndexRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"C\n\x10GetIndexResponse\x12/\n\x05index\x18\x01 \x01(\x0b\x32 .couchbase.admin.search.v1.Index\"f\n\x12ListIndexesRequest\x12\x18\n\x0b\x62ucket_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"H\n\x13ListIndexesResponse\x12\x31\n\x07indexes\x18\x01 \x03(\x0b\x32 .couchbase.admin.search.v1.Index\"t\n\x12\x44\x65leteIndexRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x15\n\x13\x44\x65leteIndexResponse\"\x85\x01\n\x16\x41nalyzeDocumentRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0b\n\x03\x64oc\x18\x02 \x01(\x0c\x12\x18\n\x0b\x62ucket_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\";\n\x17\x41nalyzeDocumentResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\x12\x10\n\x08\x61nalyzed\x18\x02 \x01(\x0c\"\x81\x01\n\x1fGetIndexedDocumentsCountRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"1\n GetIndexedDocumentsCountResponse\x12\r\n\x05\x63ount\x18\x01 \x01(\x04\"y\n\x17PauseIndexIngestRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x1a\n\x18PauseIndexIngestResponse\"z\n\x18ResumeIndexIngestRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x1b\n\x19ResumeIndexIngestResponse\"{\n\x19\x41llowIndexQueryingRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x1c\n\x1a\x41llowIndexQueryingResponse\"~\n\x1c\x44isallowIndexQueryingRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x1f\n\x1d\x44isallowIndexQueryingResponse\"x\n\x16\x46reezeIndexPlanRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x19\n\x17\x46reezeIndexPlanResponse\"z\n\x18UnfreezeIndexPlanRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x18\n\x0b\x62ucket_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_name\"\x1b\n\x19UnfreezeIndexPlanResponse2\xe5\x0c\n\x12SearchAdminService\x12\x65\n\x08GetIndex\x12*.couchbase.admin.search.v1.GetIndexRequest\x1a+.couchbase.admin.search.v1.GetIndexResponse\"\x00\x12n\n\x0bListIndexes\x12-.couchbase.admin.search.v1.ListIndexesRequest\x1a..couchbase.admin.search.v1.ListIndexesResponse\"\x00\x12n\n\x0b\x43reateIndex\x12-.couchbase.admin.search.v1.CreateIndexRequest\x1a..couchbase.admin.search.v1.CreateIndexResponse\"\x00\x12n\n\x0bUpdateIndex\x12-.couchbase.admin.search.v1.UpdateIndexRequest\x1a..couchbase.admin.search.v1.UpdateIndexResponse\"\x00\x12n\n\x0b\x44\x65leteIndex\x12-.couchbase.admin.search.v1.DeleteIndexRequest\x1a..couchbase.admin.search.v1.DeleteIndexResponse\"\x00\x12z\n\x0f\x41nalyzeDocument\x12\x31.couchbase.admin.search.v1.AnalyzeDocumentRequest\x1a\x32.couchbase.admin.search.v1.AnalyzeDocumentResponse\"\x00\x12\x95\x01\n\x18GetIndexedDocumentsCount\x12:.couchbase.admin.search.v1.GetIndexedDocumentsCountRequest\x1a;.couchbase.admin.search.v1.GetIndexedDocumentsCountResponse\"\x00\x12}\n\x10PauseIndexIngest\x12\x32.couchbase.admin.search.v1.PauseIndexIngestRequest\x1a\x33.couchbase.admin.search.v1.PauseIndexIngestResponse\"\x00\x12\x80\x01\n\x11ResumeIndexIngest\x12\x33.couchbase.admin.search.v1.ResumeIndexIngestRequest\x1a\x34.couchbase.admin.search.v1.ResumeIndexIngestResponse\"\x00\x12\x83\x01\n\x12\x41llowIndexQuerying\x12\x34.couchbase.admin.search.v1.AllowIndexQueryingRequest\x1a\x35.couchbase.admin.search.v1.AllowIndexQueryingResponse\"\x00\x12\x8c\x01\n\x15\x44isallowIndexQuerying\x12\x37.couchbase.admin.search.v1.DisallowIndexQueryingRequest\x1a\x38.couchbase.admin.search.v1.DisallowIndexQueryingResponse\"\x00\x12z\n\x0f\x46reezeIndexPlan\x12\x31.couchbase.admin.search.v1.FreezeIndexPlanRequest\x1a\x32.couchbase.admin.search.v1.FreezeIndexPlanResponse\"\x00\x12\x80\x01\n\x11UnfreezeIndexPlan\x12\x33.couchbase.admin.search.v1.UnfreezeIndexPlanRequest\x1a\x34.couchbase.admin.search.v1.UnfreezeIndexPlanResponse\"\x00\x42\x97\x02\n1com.couchbase.client.protostellar.admin.search.v1P\x01ZLgithub.com/couchbase/goprotostellar/genproto/admin_search_v1;admin_search_v1\xaa\x02&Couchbase.Protostellar.Admin.Search.V1\xca\x02\x30\x43ouchbase\\Protostellar\\Generated\\Admin\\Search\\V1\xea\x02\x35\x43ouchbase::Protostellar::Generated::Admin::Search::V1b\x06proto3"
9
9
 
10
- pool = Google::Protobuf::DescriptorPool.generated_pool
11
-
12
- begin
13
- pool.add_serialized_file(descriptor_data)
14
- rescue TypeError => e
15
- # Compatibility code: will be removed in the next major version.
16
- require 'google/protobuf/descriptor_pb'
17
- parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
18
- parsed.clear_dependency
19
- serialized = parsed.class.encode(parsed)
20
- file = pool.add_serialized_file(serialized)
21
- warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
22
- imports = [
23
- ]
24
- imports.each do |type_name, expected_filename|
25
- import_file = pool.lookup(type_name).file_descriptor
26
- if import_file.name != expected_filename
27
- warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
28
- end
29
- end
30
- warn "Each proto file must use a consistent fully-qualified name."
31
- warn "This will become an error in the next major version."
32
- end
10
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
33
12
 
34
13
  module Couchbase
35
14
  module Protostellar
@@ -1,5 +1,12 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: couchbase/admin/search/v1/search.proto for package 'Couchbase.Protostellar.Generated.Admin.Search.V1'
3
+ # Original file comments:
4
+ # Search Admin Service
5
+ #
6
+ # Provides full-text search (FTS) index lifecycle management and control
7
+ # operations. Supports CRUD for search indexes, document analysis,
8
+ # document count, and operational controls (pause/resume ingest,
9
+ # allow/disallow querying, freeze/unfreeze plan).
3
10
 
4
11
  require 'grpc'
5
12
  require 'couchbase/protostellar/generated/admin/search/v1/search_pb'
@@ -11,6 +18,7 @@ module Couchbase
11
18
  module Search
12
19
  module V1
13
20
  module SearchAdminService
21
+ # SearchAdminService provides search index management and control.
14
22
  class Service
15
23
 
16
24
  include ::GRPC::GenericService
@@ -19,18 +27,33 @@ module Couchbase
19
27
  self.unmarshal_class_method = :decode
20
28
  self.service_name = 'couchbase.admin.search.v1.SearchAdminService'
21
29
 
30
+ # GetIndex retrieves a single search index by name.
22
31
  rpc :GetIndex, ::Couchbase::Protostellar::Generated::Admin::Search::V1::GetIndexRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::GetIndexResponse
32
+ # ListIndexes returns all search indexes, optionally scoped.
23
33
  rpc :ListIndexes, ::Couchbase::Protostellar::Generated::Admin::Search::V1::ListIndexesRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::ListIndexesResponse
34
+ # CreateIndex creates a new search index.
24
35
  rpc :CreateIndex, ::Couchbase::Protostellar::Generated::Admin::Search::V1::CreateIndexRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::CreateIndexResponse
36
+ # UpdateIndex updates an existing search index definition.
25
37
  rpc :UpdateIndex, ::Couchbase::Protostellar::Generated::Admin::Search::V1::UpdateIndexRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::UpdateIndexResponse
38
+ # DeleteIndex deletes a search index.
26
39
  rpc :DeleteIndex, ::Couchbase::Protostellar::Generated::Admin::Search::V1::DeleteIndexRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::DeleteIndexResponse
40
+ # AnalyzeDocument analyzes a document against an index definition,
41
+ # returning the tokens that would be indexed.
27
42
  rpc :AnalyzeDocument, ::Couchbase::Protostellar::Generated::Admin::Search::V1::AnalyzeDocumentRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::AnalyzeDocumentResponse
43
+ # GetIndexedDocumentsCount returns the number of documents indexed
44
+ # by a specific search index.
28
45
  rpc :GetIndexedDocumentsCount, ::Couchbase::Protostellar::Generated::Admin::Search::V1::GetIndexedDocumentsCountRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::GetIndexedDocumentsCountResponse
46
+ # PauseIndexIngest pauses document ingestion for an index.
29
47
  rpc :PauseIndexIngest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::PauseIndexIngestRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::PauseIndexIngestResponse
48
+ # ResumeIndexIngest resumes document ingestion for a paused index.
30
49
  rpc :ResumeIndexIngest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::ResumeIndexIngestRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::ResumeIndexIngestResponse
50
+ # AllowIndexQuerying allows queries against an index.
31
51
  rpc :AllowIndexQuerying, ::Couchbase::Protostellar::Generated::Admin::Search::V1::AllowIndexQueryingRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::AllowIndexQueryingResponse
52
+ # DisallowIndexQuerying prevents queries against an index.
32
53
  rpc :DisallowIndexQuerying, ::Couchbase::Protostellar::Generated::Admin::Search::V1::DisallowIndexQueryingRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::DisallowIndexQueryingResponse
54
+ # FreezeIndexPlan prevents the index plan from being reassigned.
33
55
  rpc :FreezeIndexPlan, ::Couchbase::Protostellar::Generated::Admin::Search::V1::FreezeIndexPlanRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::FreezeIndexPlanResponse
56
+ # UnfreezeIndexPlan allows the index plan to be reassigned.
34
57
  rpc :UnfreezeIndexPlan, ::Couchbase::Protostellar::Generated::Admin::Search::V1::UnfreezeIndexPlanRequest, ::Couchbase::Protostellar::Generated::Admin::Search::V1::UnfreezeIndexPlanResponse
35
58
  end
36
59
 
@@ -7,32 +7,10 @@ require 'google/protobuf'
7
7
  require 'google/protobuf/duration_pb'
8
8
 
9
9
 
10
- descriptor_data = "\n&couchbase/analytics/v1/analytics.proto\x12\x16\x63ouchbase.analytics.v1\x1a\x1egoogle/protobuf/duration.proto\"\xfc\x04\n\x15\x41nalyticsQueryRequest\x12\x18\n\x0b\x62ucket_name\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nscope_name\x18\t \x01(\tH\x01\x88\x01\x01\x12\x11\n\tstatement\x18\x01 \x01(\t\x12\x16\n\tread_only\x18\x02 \x01(\x08H\x02\x88\x01\x01\x12\x1e\n\x11\x63lient_context_id\x18\x03 \x01(\tH\x03\x88\x01\x01\x12\x15\n\x08priority\x18\x04 \x01(\x08H\x04\x88\x01\x01\x12\\\n\x10scan_consistency\x18\x05 \x01(\x0e\x32=.couchbase.analytics.v1.AnalyticsQueryRequest.ScanConsistencyH\x05\x88\x01\x01\x12\x1d\n\x15positional_parameters\x18\x06 \x03(\x0c\x12\\\n\x10named_parameters\x18\x07 \x03(\x0b\x32\x42.couchbase.analytics.v1.AnalyticsQueryRequest.NamedParametersEntry\x1a\x36\n\x14NamedParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"V\n\x0fScanConsistency\x12 \n\x1cSCAN_CONSISTENCY_NOT_BOUNDED\x10\x00\x12!\n\x1dSCAN_CONSISTENCY_REQUEST_PLUS\x10\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_nameB\x0c\n\n_read_onlyB\x14\n\x12_client_context_idB\x0b\n\t_priorityB\x13\n\x11_scan_consistency\"\xb8\x05\n\x16\x41nalyticsQueryResponse\x12\x0c\n\x04rows\x18\x01 \x03(\x0c\x12O\n\tmeta_data\x18\x02 \x01(\x0b\x32\x37.couchbase.analytics.v1.AnalyticsQueryResponse.MetaDataH\x00\x88\x01\x01\x1a\x8b\x02\n\x07Metrics\x12/\n\x0c\x65lapsed_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0e\x65xecution_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0cresult_count\x18\x03 \x01(\x04\x12\x13\n\x0bresult_size\x18\x04 \x01(\x04\x12\x16\n\x0emutation_count\x18\x05 \x01(\x04\x12\x12\n\nsort_count\x18\x06 \x01(\x04\x12\x13\n\x0b\x65rror_count\x18\x07 \x01(\x04\x12\x15\n\rwarning_count\x18\x08 \x01(\x04\x12\x19\n\x11processed_objects\x18\t \x01(\x04\x1a\xa2\x02\n\x08MetaData\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x19\n\x11\x63lient_context_id\x18\x02 \x01(\t\x12G\n\x07metrics\x18\x03 \x01(\x0b\x32\x36.couchbase.analytics.v1.AnalyticsQueryResponse.Metrics\x12\x11\n\tsignature\x18\x04 \x01(\x0c\x12Q\n\x08warnings\x18\x05 \x03(\x0b\x32?.couchbase.analytics.v1.AnalyticsQueryResponse.MetaData.Warning\x12\x0e\n\x06status\x18\x06 \x01(\t\x1a(\n\x07Warning\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\tB\x0c\n\n_meta_data2\x87\x01\n\x10\x41nalyticsService\x12s\n\x0e\x41nalyticsQuery\x12-.couchbase.analytics.v1.AnalyticsQueryRequest\x1a..couchbase.analytics.v1.AnalyticsQueryResponse\"\x00\x30\x01\x42\x84\x02\n.com.couchbase.client.protostellar.analytics.v1P\x01ZFgithub.com/couchbase/goprotostellar/genproto/analytics_v1;analytics_v1\xaa\x02#Couchbase.Protostellar.Analytics.V1\xca\x02-Couchbase\\Protostellar\\Generated\\Analytics\\V1\xea\x02\x31\x43ouchbase::Protostellar::Generated::Analytics::V1b\x06proto3"
10
+ descriptor_data = "\n&couchbase/analytics/v1/analytics.proto\x12\x16\x63ouchbase.analytics.v1\x1a\x1egoogle/protobuf/duration.proto\"\xdc\x08\n\x15\x41nalyticsQueryRequest\x12!\n\x14\x61nalytics_scope_name\x18\t \x01(\tH\x00\x88\x01\x01\x12\x11\n\tstatement\x18\x01 \x01(\t\x12\x16\n\tread_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12\x1e\n\x11\x63lient_context_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x15\n\x08priority\x18\x04 \x01(\x08H\x03\x88\x01\x01\x12\\\n\x10scan_consistency\x18\x05 \x01(\x0e\x32=.couchbase.analytics.v1.AnalyticsQueryRequest.ScanConsistencyH\x04\x88\x01\x01\x12\x1d\n\x15positional_parameters\x18\x06 \x03(\x0c\x12\\\n\x10named_parameters\x18\x07 \x03(\x0b\x32\x42.couchbase.analytics.v1.AnalyticsQueryRequest.NamedParametersEntry\x12R\n\x0bplan_format\x18\n \x01(\x0e\x32\x38.couchbase.analytics.v1.AnalyticsQueryRequest.PlanFormatH\x05\x88\x01\x01\x12!\n\x14include_logical_plan\x18\x0b \x01(\x08H\x06\x88\x01\x01\x12+\n\x1einclude_organized_logical_plan\x18\x0c \x01(\x08H\x07\x88\x01\x01\x12$\n\x17include_expression_tree\x18\r \x01(\x08H\x08\x88\x01\x01\x12.\n!include_rewritten_expression_tree\x18\x0e \x01(\x08H\t\x88\x01\x01\x12\x19\n\x0cmax_warnings\x18\x0f \x01(\x05H\n\x88\x01\x01\x1a\x36\n\x14NamedParametersEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"V\n\x0fScanConsistency\x12 \n\x1cSCAN_CONSISTENCY_NOT_BOUNDED\x10\x00\x12!\n\x1dSCAN_CONSISTENCY_REQUEST_PLUS\x10\x01\":\n\nPlanFormat\x12\x14\n\x10PLAN_FORMAT_JSON\x10\x00\x12\x16\n\x12PLAN_FORMAT_STRING\x10\x01\x42\x17\n\x15_analytics_scope_nameB\x0c\n\n_read_onlyB\x14\n\x12_client_context_idB\x0b\n\t_priorityB\x13\n\x11_scan_consistencyB\x0e\n\x0c_plan_formatB\x17\n\x15_include_logical_planB!\n\x1f_include_organized_logical_planB\x1a\n\x18_include_expression_treeB$\n\"_include_rewritten_expression_treeB\x0f\n\r_max_warningsJ\x04\x08\x08\x10\t\"\x9c\x07\n\x16\x41nalyticsQueryResponse\x12\x0c\n\x04rows\x18\x01 \x03(\x0c\x12O\n\tmeta_data\x18\x02 \x01(\x0b\x32\x37.couchbase.analytics.v1.AnalyticsQueryResponse.MetaDataH\x00\x88\x01\x01\x1a\x8b\x02\n\x07Metrics\x12/\n\x0c\x65lapsed_time\x18\x01 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x31\n\x0e\x65xecution_time\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x14\n\x0cresult_count\x18\x03 \x01(\x04\x12\x13\n\x0bresult_size\x18\x04 \x01(\x04\x12\x16\n\x0emutation_count\x18\x05 \x01(\x04\x12\x12\n\nsort_count\x18\x06 \x01(\x04\x12\x13\n\x0b\x65rror_count\x18\x07 \x01(\x04\x12\x15\n\rwarning_count\x18\x08 \x01(\x04\x12\x19\n\x11processed_objects\x18\t \x01(\x04\x1a\x86\x04\n\x08MetaData\x12\x12\n\nrequest_id\x18\x01 \x01(\t\x12\x19\n\x11\x63lient_context_id\x18\x02 \x01(\t\x12G\n\x07metrics\x18\x03 \x01(\x0b\x32\x36.couchbase.analytics.v1.AnalyticsQueryResponse.Metrics\x12\x11\n\tsignature\x18\x04 \x01(\x0c\x12Q\n\x08warnings\x18\x05 \x03(\x0b\x32?.couchbase.analytics.v1.AnalyticsQueryResponse.MetaData.Warning\x12\x0e\n\x06status\x18\x06 \x01(\t\x12\x19\n\x0clogical_plan\x18\x07 \x01(\x0cH\x00\x88\x01\x01\x12#\n\x16optimized_logical_plan\x18\x08 \x01(\x0cH\x01\x88\x01\x01\x12\x1c\n\x0f\x65xpression_tree\x18\t \x01(\tH\x02\x88\x01\x01\x12&\n\x19rewritten_expression_tree\x18\n \x01(\tH\x03\x88\x01\x01\x1a(\n\x07Warning\x12\x0c\n\x04\x63ode\x18\x01 \x01(\r\x12\x0f\n\x07message\x18\x02 \x01(\tB\x0f\n\r_logical_planB\x19\n\x17_optimized_logical_planB\x12\n\x10_expression_treeB\x1c\n\x1a_rewritten_expression_treeB\x0c\n\n_meta_data2\x87\x01\n\x10\x41nalyticsService\x12s\n\x0e\x41nalyticsQuery\x12-.couchbase.analytics.v1.AnalyticsQueryRequest\x1a..couchbase.analytics.v1.AnalyticsQueryResponse\"\x00\x30\x01\x42\x84\x02\n.com.couchbase.client.protostellar.analytics.v1P\x01ZFgithub.com/couchbase/goprotostellar/genproto/analytics_v1;analytics_v1\xaa\x02#Couchbase.Protostellar.Analytics.V1\xca\x02-Couchbase\\Protostellar\\Generated\\Analytics\\V1\xea\x02\x31\x43ouchbase::Protostellar::Generated::Analytics::V1b\x06proto3"
11
11
 
12
- pool = Google::Protobuf::DescriptorPool.generated_pool
13
-
14
- begin
15
- pool.add_serialized_file(descriptor_data)
16
- rescue TypeError => e
17
- # Compatibility code: will be removed in the next major version.
18
- require 'google/protobuf/descriptor_pb'
19
- parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
- parsed.clear_dependency
21
- serialized = parsed.class.encode(parsed)
22
- file = pool.add_serialized_file(serialized)
23
- warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
- imports = [
25
- ["google.protobuf.Duration", "google/protobuf/duration.proto"],
26
- ]
27
- imports.each do |type_name, expected_filename|
28
- import_file = pool.lookup(type_name).file_descriptor
29
- if import_file.name != expected_filename
30
- warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
31
- end
32
- end
33
- warn "Each proto file must use a consistent fully-qualified name."
34
- warn "This will become an error in the next major version."
35
- end
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
36
14
 
37
15
  module Couchbase
38
16
  module Protostellar
@@ -41,6 +19,7 @@ module Couchbase
41
19
  module V1
42
20
  AnalyticsQueryRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.analytics.v1.AnalyticsQueryRequest").msgclass
43
21
  AnalyticsQueryRequest::ScanConsistency = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.analytics.v1.AnalyticsQueryRequest.ScanConsistency").enummodule
22
+ AnalyticsQueryRequest::PlanFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.analytics.v1.AnalyticsQueryRequest.PlanFormat").enummodule
44
23
  AnalyticsQueryResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.analytics.v1.AnalyticsQueryResponse").msgclass
45
24
  AnalyticsQueryResponse::Metrics = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.analytics.v1.AnalyticsQueryResponse.Metrics").msgclass
46
25
  AnalyticsQueryResponse::MetaData = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.analytics.v1.AnalyticsQueryResponse.MetaData").msgclass
@@ -1,5 +1,12 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: couchbase/analytics/v1/analytics.proto for package 'Couchbase.Protostellar.Generated.Analytics.V1'
3
+ # Original file comments:
4
+ # Analytics Service
5
+ #
6
+ # Provides Analytics (CBAS) query execution against a Couchbase cluster.
7
+ # Analytics queries use SQL++ syntax and are executed against the
8
+ # Analytics service, which maintains its own copy of data independent
9
+ # of the KV and Query services. Results are server-streamed.
3
10
 
4
11
  require 'grpc'
5
12
  require 'couchbase/protostellar/generated/analytics/v1/analytics_pb'
@@ -10,6 +17,7 @@ module Couchbase
10
17
  module Analytics
11
18
  module V1
12
19
  module AnalyticsService
20
+ # AnalyticsService provides SQL++ analytics query execution.
13
21
  class Service
14
22
 
15
23
  include ::GRPC::GenericService
@@ -18,6 +26,8 @@ module Couchbase
18
26
  self.unmarshal_class_method = :decode
19
27
  self.service_name = 'couchbase.analytics.v1.AnalyticsService'
20
28
 
29
+ # AnalyticsQuery executes an analytics statement and streams back result
30
+ # rows and metadata. The final streamed response contains MetaData.
21
31
  rpc :AnalyticsQuery, ::Couchbase::Protostellar::Generated::Analytics::V1::AnalyticsQueryRequest, stream(::Couchbase::Protostellar::Generated::Analytics::V1::AnalyticsQueryResponse)
22
32
  end
23
33
 
@@ -7,32 +7,10 @@ require 'google/protobuf'
7
7
  require 'google/protobuf/any_pb'
8
8
 
9
9
 
10
- descriptor_data = "\n\'couchbase/internal/hooks/v1/hooks.proto\x12\x1b\x63ouchbase.internal.hooks.v1\x1a\x19google/protobuf/any.proto\"\'\n\x19\x43reateHooksContextRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x1c\n\x1a\x43reateHooksContextResponse\"(\n\x1a\x44\x65stroyHooksContextRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x1d\n\x1b\x44\x65stroyHooksContextResponse\"[\n\x08ValueRef\x12\x17\n\rrequest_field\x18\x01 \x01(\tH\x00\x12\x17\n\rcounter_value\x18\x02 \x01(\tH\x00\x12\x14\n\njson_value\x18\x03 \x01(\x0cH\x00\x42\x07\n\x05value\"\xb7\x01\n\rHookCondition\x12\x33\n\x04left\x18\x01 \x01(\x0b\x32%.couchbase.internal.hooks.v1.ValueRef\x12;\n\x02op\x18\x02 \x01(\x0e\x32/.couchbase.internal.hooks.v1.ComparisonOperator\x12\x34\n\x05right\x18\x03 \x01(\x0b\x32%.couchbase.internal.hooks.v1.ValueRef\"\xf2\x07\n\nHookAction\x12\x38\n\x02if\x18\x01 \x01(\x0b\x32*.couchbase.internal.hooks.v1.HookAction.IfH\x00\x12\x42\n\x07\x63ounter\x18\x02 \x01(\x0b\x32/.couchbase.internal.hooks.v1.HookAction.CounterH\x00\x12P\n\x0fwait_on_barrier\x18\x03 \x01(\x0b\x32\x35.couchbase.internal.hooks.v1.HookAction.WaitOnBarrierH\x00\x12O\n\x0esignal_barrier\x18\x04 \x01(\x0b\x32\x35.couchbase.internal.hooks.v1.HookAction.SignalBarrierH\x00\x12Q\n\x0freturn_response\x18\x05 \x01(\x0b\x32\x36.couchbase.internal.hooks.v1.HookAction.ReturnResponseH\x00\x12K\n\x0creturn_error\x18\x06 \x01(\x0b\x32\x33.couchbase.internal.hooks.v1.HookAction.ReturnErrorH\x00\x12\x42\n\x07\x65xecute\x18\x07 \x01(\x0b\x32/.couchbase.internal.hooks.v1.HookAction.ExecuteH\x00\x1a\xb1\x01\n\x02If\x12\x38\n\x04\x63ond\x18\x01 \x03(\x0b\x32*.couchbase.internal.hooks.v1.HookCondition\x12\x36\n\x05match\x18\x02 \x03(\x0b\x32\'.couchbase.internal.hooks.v1.HookAction\x12\x39\n\x08no_match\x18\x03 \x03(\x0b\x32\'.couchbase.internal.hooks.v1.HookAction\x1a,\n\x07\x43ounter\x12\x12\n\ncounter_id\x18\x01 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x03\x1a#\n\rWaitOnBarrier\x12\x12\n\nbarrier_id\x18\x01 \x01(\t\x1a\x37\n\rSignalBarrier\x12\x12\n\nbarrier_id\x18\x01 \x01(\t\x12\x12\n\nsignal_all\x18\x02 \x01(\x08\x1a\x35\n\x0eReturnResponse\x12#\n\x05value\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\x1aS\n\x0bReturnError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.Any\x1a\t\n\x07\x45xecuteB\x08\n\x06\x61\x63tion\"z\n\x04Hook\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\rtarget_method\x18\x03 \x01(\t\x12\x38\n\x07\x61\x63tions\x18\x04 \x03(\x0b\x32\'.couchbase.internal.hooks.v1.HookAction\"]\n\x0f\x41\x64\x64HooksRequest\x12\x18\n\x10hooks_context_id\x18\x01 \x01(\t\x12\x30\n\x05hooks\x18\x02 \x03(\x0b\x32!.couchbase.internal.hooks.v1.Hook\"\x12\n\x10\x41\x64\x64HooksResponse\"C\n\x13WatchBarrierRequest\x12\x18\n\x10hooks_context_id\x18\x01 \x01(\t\x12\x12\n\nbarrier_id\x18\x02 \x01(\t\"\'\n\x14WatchBarrierResponse\x12\x0f\n\x07wait_id\x18\x02 \x01(\t\"f\n\x14SignalBarrierRequest\x12\x18\n\x10hooks_context_id\x18\x01 \x01(\t\x12\x12\n\nbarrier_id\x18\x02 \x01(\t\x12\x14\n\x07wait_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_wait_id\"\x17\n\x15SignalBarrierResponse*\xfa\x01\n\x12\x43omparisonOperator\x12\x1d\n\x19\x43OMPARISON_OPERATOR_EQUAL\x10\x00\x12!\n\x1d\x43OMPARISON_OPERATOR_NOT_EQUAL\x10\x01\x12$\n COMPARISON_OPERATOR_GREATER_THAN\x10\x02\x12-\n)COMPARISON_OPERATOR_GREATER_THAN_OR_EQUAL\x10\x03\x12!\n\x1d\x43OMPARISON_OPERATOR_LESS_THAN\x10\x04\x12*\n&COMPARISON_OPERATOR_LESS_THAN_OR_EQUAL\x10\x05\x32\x83\x05\n\x0cHooksService\x12\x87\x01\n\x12\x43reateHooksContext\x12\x36.couchbase.internal.hooks.v1.CreateHooksContextRequest\x1a\x37.couchbase.internal.hooks.v1.CreateHooksContextResponse\"\x00\x12\x8a\x01\n\x13\x44\x65stroyHooksContext\x12\x37.couchbase.internal.hooks.v1.DestroyHooksContextRequest\x1a\x38.couchbase.internal.hooks.v1.DestroyHooksContextResponse\"\x00\x12i\n\x08\x41\x64\x64Hooks\x12,.couchbase.internal.hooks.v1.AddHooksRequest\x1a-.couchbase.internal.hooks.v1.AddHooksResponse\"\x00\x12w\n\x0cWatchBarrier\x12\x30.couchbase.internal.hooks.v1.WatchBarrierRequest\x1a\x31.couchbase.internal.hooks.v1.WatchBarrierResponse\"\x00\x30\x01\x12x\n\rSignalBarrier\x12\x31.couchbase.internal.hooks.v1.SignalBarrierRequest\x1a\x32.couchbase.internal.hooks.v1.SignalBarrierResponse\"\x00\x42\xa3\x02\n3com.couchbase.client.protostellar.internal.hooks.v1P\x01ZPgithub.com/couchbase/goprotostellar/genproto/internal_hooks_v1;internal_hooks_v1\xaa\x02(Couchbase.Protostellar.Internal.Hooks.V1\xca\x02\x32\x43ouchbase\\Protostellar\\Generated\\Internal\\Hooks\\V1\xea\x02\x37\x43ouchbase::Protostellar::Generated::Internal::Hooks::V1b\x06proto3"
10
+ descriptor_data = "\n\'couchbase/internal/hooks/v1/hooks.proto\x12\x1b\x63ouchbase.internal.hooks.v1\x1a\x19google/protobuf/any.proto\"\'\n\x19\x43reateHooksContextRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x1c\n\x1a\x43reateHooksContextResponse\"(\n\x1a\x44\x65stroyHooksContextRequest\x12\n\n\x02id\x18\x01 \x01(\t\"\x1d\n\x1b\x44\x65stroyHooksContextResponse\"[\n\x08ValueRef\x12\x17\n\rrequest_field\x18\x01 \x01(\tH\x00\x12\x17\n\rcounter_value\x18\x02 \x01(\tH\x00\x12\x14\n\njson_value\x18\x03 \x01(\x0cH\x00\x42\x07\n\x05value\"\xb7\x01\n\rHookCondition\x12\x33\n\x04left\x18\x01 \x01(\x0b\x32%.couchbase.internal.hooks.v1.ValueRef\x12;\n\x02op\x18\x02 \x01(\x0e\x32/.couchbase.internal.hooks.v1.ComparisonOperator\x12\x34\n\x05right\x18\x03 \x01(\x0b\x32%.couchbase.internal.hooks.v1.ValueRef\"\xf2\x07\n\nHookAction\x12\x38\n\x02if\x18\x01 \x01(\x0b\x32*.couchbase.internal.hooks.v1.HookAction.IfH\x00\x12\x42\n\x07\x63ounter\x18\x02 \x01(\x0b\x32/.couchbase.internal.hooks.v1.HookAction.CounterH\x00\x12P\n\x0fwait_on_barrier\x18\x03 \x01(\x0b\x32\x35.couchbase.internal.hooks.v1.HookAction.WaitOnBarrierH\x00\x12O\n\x0esignal_barrier\x18\x04 \x01(\x0b\x32\x35.couchbase.internal.hooks.v1.HookAction.SignalBarrierH\x00\x12Q\n\x0freturn_response\x18\x05 \x01(\x0b\x32\x36.couchbase.internal.hooks.v1.HookAction.ReturnResponseH\x00\x12K\n\x0creturn_error\x18\x06 \x01(\x0b\x32\x33.couchbase.internal.hooks.v1.HookAction.ReturnErrorH\x00\x12\x42\n\x07\x65xecute\x18\x07 \x01(\x0b\x32/.couchbase.internal.hooks.v1.HookAction.ExecuteH\x00\x1a\xb1\x01\n\x02If\x12\x38\n\x04\x63ond\x18\x01 \x03(\x0b\x32*.couchbase.internal.hooks.v1.HookCondition\x12\x36\n\x05match\x18\x02 \x03(\x0b\x32\'.couchbase.internal.hooks.v1.HookAction\x12\x39\n\x08no_match\x18\x03 \x03(\x0b\x32\'.couchbase.internal.hooks.v1.HookAction\x1a,\n\x07\x43ounter\x12\x12\n\ncounter_id\x18\x01 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x02 \x01(\x03\x1a#\n\rWaitOnBarrier\x12\x12\n\nbarrier_id\x18\x01 \x01(\t\x1a\x37\n\rSignalBarrier\x12\x12\n\nbarrier_id\x18\x01 \x01(\t\x12\x12\n\nsignal_all\x18\x02 \x01(\x08\x1a\x35\n\x0eReturnResponse\x12#\n\x05value\x18\x01 \x01(\x0b\x32\x14.google.protobuf.Any\x1aS\n\x0bReturnError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x07\x64\x65tails\x18\x03 \x03(\x0b\x32\x14.google.protobuf.Any\x1a\t\n\x07\x45xecuteB\x08\n\x06\x61\x63tion\"z\n\x04Hook\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x15\n\rtarget_method\x18\x03 \x01(\t\x12\x38\n\x07\x61\x63tions\x18\x04 \x03(\x0b\x32\'.couchbase.internal.hooks.v1.HookAction\"]\n\x0f\x41\x64\x64HooksRequest\x12\x18\n\x10hooks_context_id\x18\x01 \x01(\t\x12\x30\n\x05hooks\x18\x02 \x03(\x0b\x32!.couchbase.internal.hooks.v1.Hook\"\x12\n\x10\x41\x64\x64HooksResponse\"C\n\x13WatchBarrierRequest\x12\x18\n\x10hooks_context_id\x18\x01 \x01(\t\x12\x12\n\nbarrier_id\x18\x02 \x01(\t\"\'\n\x14WatchBarrierResponse\x12\x0f\n\x07wait_id\x18\x02 \x01(\t\"f\n\x14SignalBarrierRequest\x12\x18\n\x10hooks_context_id\x18\x01 \x01(\t\x12\x12\n\nbarrier_id\x18\x02 \x01(\t\x12\x14\n\x07wait_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_wait_id\"\x17\n\x15SignalBarrierResponse\"0\n\x14WatchRequestsRequest\x12\x18\n\x10hooks_context_id\x18\x01 \x01(\t\"\xd5\x01\n\x15WatchRequestsResponse\x12S\n\tmeta_data\x18\x01 \x03(\x0b\x32@.couchbase.internal.hooks.v1.WatchRequestsResponse.MetaDataEntry\x12\x13\n\x0b\x66ull_method\x18\x02 \x01(\t\x12%\n\x07payload\x18\x03 \x01(\x0b\x32\x14.google.protobuf.Any\x1a+\n\rMetaDataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t*\xfa\x01\n\x12\x43omparisonOperator\x12\x1d\n\x19\x43OMPARISON_OPERATOR_EQUAL\x10\x00\x12!\n\x1d\x43OMPARISON_OPERATOR_NOT_EQUAL\x10\x01\x12$\n COMPARISON_OPERATOR_GREATER_THAN\x10\x02\x12-\n)COMPARISON_OPERATOR_GREATER_THAN_OR_EQUAL\x10\x03\x12!\n\x1d\x43OMPARISON_OPERATOR_LESS_THAN\x10\x04\x12*\n&COMPARISON_OPERATOR_LESS_THAN_OR_EQUAL\x10\x05\x32\xff\x05\n\x0cHooksService\x12\x87\x01\n\x12\x43reateHooksContext\x12\x36.couchbase.internal.hooks.v1.CreateHooksContextRequest\x1a\x37.couchbase.internal.hooks.v1.CreateHooksContextResponse\"\x00\x12\x8a\x01\n\x13\x44\x65stroyHooksContext\x12\x37.couchbase.internal.hooks.v1.DestroyHooksContextRequest\x1a\x38.couchbase.internal.hooks.v1.DestroyHooksContextResponse\"\x00\x12i\n\x08\x41\x64\x64Hooks\x12,.couchbase.internal.hooks.v1.AddHooksRequest\x1a-.couchbase.internal.hooks.v1.AddHooksResponse\"\x00\x12w\n\x0cWatchBarrier\x12\x30.couchbase.internal.hooks.v1.WatchBarrierRequest\x1a\x31.couchbase.internal.hooks.v1.WatchBarrierResponse\"\x00\x30\x01\x12x\n\rSignalBarrier\x12\x31.couchbase.internal.hooks.v1.SignalBarrierRequest\x1a\x32.couchbase.internal.hooks.v1.SignalBarrierResponse\"\x00\x12z\n\rWatchRequests\x12\x31.couchbase.internal.hooks.v1.WatchRequestsRequest\x1a\x32.couchbase.internal.hooks.v1.WatchRequestsResponse\"\x00\x30\x01\x42\xa3\x02\n3com.couchbase.client.protostellar.internal.hooks.v1P\x01ZPgithub.com/couchbase/goprotostellar/genproto/internal_hooks_v1;internal_hooks_v1\xaa\x02(Couchbase.Protostellar.Internal.Hooks.V1\xca\x02\x32\x43ouchbase\\Protostellar\\Generated\\Internal\\Hooks\\V1\xea\x02\x37\x43ouchbase::Protostellar::Generated::Internal::Hooks::V1b\x06proto3"
11
11
 
12
- pool = Google::Protobuf::DescriptorPool.generated_pool
13
-
14
- begin
15
- pool.add_serialized_file(descriptor_data)
16
- rescue TypeError => e
17
- # Compatibility code: will be removed in the next major version.
18
- require 'google/protobuf/descriptor_pb'
19
- parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
20
- parsed.clear_dependency
21
- serialized = parsed.class.encode(parsed)
22
- file = pool.add_serialized_file(serialized)
23
- warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
24
- imports = [
25
- ["google.protobuf.Any", "google/protobuf/any.proto"],
26
- ]
27
- imports.each do |type_name, expected_filename|
28
- import_file = pool.lookup(type_name).file_descriptor
29
- if import_file.name != expected_filename
30
- warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
31
- end
32
- end
33
- warn "Each proto file must use a consistent fully-qualified name."
34
- warn "This will become an error in the next major version."
35
- end
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
36
14
 
37
15
  module Couchbase
38
16
  module Protostellar
@@ -61,6 +39,9 @@ module Couchbase
61
39
  WatchBarrierResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.hooks.v1.WatchBarrierResponse").msgclass
62
40
  SignalBarrierRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.hooks.v1.SignalBarrierRequest").msgclass
63
41
  SignalBarrierResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.hooks.v1.SignalBarrierResponse").msgclass
42
+ WatchRequestsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.hooks.v1.WatchRequestsRequest").msgclass
43
+ WatchRequestsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.hooks.v1.WatchRequestsResponse").msgclass
44
+ WatchRequestsResponse::MetaDataEntry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.hooks.v1.WatchRequestsResponse.MetaDataEntry").msgclass
64
45
  ComparisonOperator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.hooks.v1.ComparisonOperator").enummodule
65
46
  end
66
47
  end
@@ -1,5 +1,14 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: couchbase/internal/hooks/v1/hooks.proto for package 'Couchbase.Protostellar.Generated.Internal.Hooks.V1'
3
+ # Original file comments:
4
+ # Hooks Service (Internal / Debug Only)
5
+ #
6
+ # Provides a testing hooks framework for intercepting, modifying, and
7
+ # controlling gateway behavior during integration testing. Hooks use a
8
+ # small DSL of actions (conditions, counters, barriers, response/error
9
+ # injection) that can be attached to specific gRPC methods.
10
+ #
11
+ # This service is only available when the gateway is started in debug mode.
3
12
 
4
13
  require 'grpc'
5
14
  require 'couchbase/protostellar/generated/internal/hooks/v1/hooks_pb'
@@ -11,6 +20,7 @@ module Couchbase
11
20
  module Hooks
12
21
  module V1
13
22
  module HooksService
23
+ # HooksService provides test hook registration and synchronization primitives.
14
24
  class Service
15
25
 
16
26
  include ::GRPC::GenericService
@@ -19,11 +29,19 @@ module Couchbase
19
29
  self.unmarshal_class_method = :decode
20
30
  self.service_name = 'couchbase.internal.hooks.v1.HooksService'
21
31
 
32
+ # CreateHooksContext creates a new isolated hooks context with its own
33
+ # hooks, counters, and barriers.
22
34
  rpc :CreateHooksContext, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::CreateHooksContextRequest, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::CreateHooksContextResponse
35
+ # DestroyHooksContext tears down a hooks context and all its state.
23
36
  rpc :DestroyHooksContext, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::DestroyHooksContextRequest, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::DestroyHooksContextResponse
37
+ # AddHooks registers one or more hooks within a context.
24
38
  rpc :AddHooks, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::AddHooksRequest, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::AddHooksResponse
39
+ # WatchBarrier streams messages each time a request reaches a barrier.
25
40
  rpc :WatchBarrier, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::WatchBarrierRequest, stream(::Couchbase::Protostellar::Generated::Internal::Hooks::V1::WatchBarrierResponse)
41
+ # SignalBarrier signals a barrier to release waiting requests.
26
42
  rpc :SignalBarrier, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::SignalBarrierRequest, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::SignalBarrierResponse
43
+ # WatchRequests streams intercepted requests matching registered hooks.
44
+ rpc :WatchRequests, ::Couchbase::Protostellar::Generated::Internal::Hooks::V1::WatchRequestsRequest, stream(::Couchbase::Protostellar::Generated::Internal::Hooks::V1::WatchRequestsResponse)
27
45
  end
28
46
 
29
47
  Stub = Service.rpc_stub_class
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: couchbase/internal/xdcr/v1/xdcr.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/timestamp_pb'
8
+
9
+
10
+ descriptor_data = "\n%couchbase/internal/xdcr/v1/xdcr.proto\x12\x1a\x63ouchbase.internal.xdcr.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"#\n\x10HeartbeatRequest\x12\x0f\n\x07payload\x18\x01 \x01(\x0c\"\x13\n\x11HeartbeatResponse\"\x17\n\x15GetClusterInfoRequest\"|\n\x16GetClusterInfoResponse\x12\x14\n\x0c\x63luster_uuid\x18\x01 \x01(\t\x12@\n\x07\x65\x64ition\x18\x02 \x01(\x0e\x32*.couchbase.internal.xdcr.v1.ClusterEditionH\x00\x88\x01\x01\x42\n\n\x08_edition\"+\n\x14GetBucketInfoRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\"\x94\x02\n\x15GetBucketInfoResponse\x12\x13\n\x0b\x62ucket_uuid\x18\x02 \x01(\t\x12\x14\n\x0cnum_vbuckets\x18\x03 \x01(\r\x12T\n\x18\x63onflict_resolution_type\x18\x04 \x01(\x0e\x32\x32.couchbase.internal.xdcr.v1.ConflictResolutionType\x12(\n cross_cluster_versioning_enabled\x18\x05 \x01(\x08\x12@\n\x0b\x62ucket_type\x18\x06 \x01(\x0e\x32&.couchbase.internal.xdcr.v1.BucketTypeH\x00\x88\x01\x01\x42\x0e\n\x0c_bucket_type\"\xa5\x01\n\x15GetVbucketInfoRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x13\n\x0bvbucket_ids\x18\x02 \x03(\r\x12\x1c\n\x0finclude_history\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12\x1c\n\x0finclude_max_cas\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_include_historyB\x12\n\x10_include_max_cas\"\xd3\x02\n\x16GetVbucketInfoResponse\x12Q\n\x08vbuckets\x18\x02 \x03(\x0b\x32?.couchbase.internal.xdcr.v1.GetVbucketInfoResponse.VbucketState\x1a+\n\x0cHistoryEntry\x12\x0c\n\x04uuid\x18\x01 \x01(\x04\x12\r\n\x05seqno\x18\x02 \x01(\x04\x1a\xb8\x01\n\x0cVbucketState\x12\x12\n\nvbucket_id\x18\x01 \x01(\r\x12\x0c\n\x04uuid\x18\x02 \x01(\x04\x12\x12\n\nhigh_seqno\x18\x03 \x01(\x04\x12P\n\x07history\x18\x04 \x03(\x0b\x32?.couchbase.internal.xdcr.v1.GetVbucketInfoResponse.HistoryEntry\x12\x14\n\x07max_cas\x18\x05 \x01(\x04H\x00\x88\x01\x01\x42\n\n\x08_max_cas\".\n\x17WatchCollectionsRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\"\xc0\x02\n\x18WatchCollectionsResponse\x12\x14\n\x0cmanifest_uid\x18\x01 \x01(\r\x12J\n\x06scopes\x18\x02 \x03(\x0b\x32:.couchbase.internal.xdcr.v1.WatchCollectionsResponse.Scope\x1a<\n\nCollection\x12\x15\n\rcollection_id\x18\x01 \x01(\r\x12\x17\n\x0f\x63ollection_name\x18\x02 \x01(\t\x1a\x83\x01\n\x05Scope\x12\x10\n\x08scope_id\x18\x01 \x01(\r\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12T\n\x0b\x63ollections\x18\x03 \x03(\x0b\x32?.couchbase.internal.xdcr.v1.WatchCollectionsResponse.Collection\"\xac\x01\n\x12GetDocumentRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x05 \x01(\t\x12\x17\n\x0finclude_content\x18\x06 \x01(\x08\x12\x1b\n\x0einclude_xattrs\x18\x07 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_include_xattrs\"\xce\x02\n\x13GetDocumentResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12*\n\x06\x65xpiry\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\nis_deleted\x18\x03 \x01(\x08\x12\x10\n\x08\x64\x61tatype\x18\x05 \x01(\r\x12\x15\n\rcontent_flags\x18\x06 \x01(\r\x12\x1f\n\x12\x63ontent_compressed\x18\x07 \x01(\x0cH\x00\x88\x01\x01\x12\r\n\x05revno\x18\x08 \x01(\x04\x12K\n\x06xattrs\x18\t \x03(\x0b\x32;.couchbase.internal.xdcr.v1.GetDocumentResponse.XattrsEntry\x1a-\n\x0bXattrsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\x15\n\x13_content_compressed\"\xae\x02\n\x14\x43heckDocumentRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x11\n\tstore_cas\x18\x05 \x01(\x04\x12\r\n\x05revno\x18\x06 \x01(\x04\x12\x15\n\rcontent_flags\x18\x07 \x01(\r\x12\x12\n\nhas_xattrs\x18\x08 \x01(\x08\x12\x34\n\x0b\x65xpiry_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x88\x01\x01\x12\x12\n\nis_deleted\x18\n \x01(\x08\x12\x14\n\x07vb_uuid\x18\x0b \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_expiry_timeB\n\n\x08_vb_uuid\"\'\n\x15\x43heckDocumentResponse\x12\x0e\n\x06\x65xists\x18\x01 \x01(\x08\"\xc3\x04\n\x13PushDocumentRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x16\n\tcheck_cas\x18\x05 \x01(\x04H\x01\x88\x01\x01\x12\x11\n\tstore_cas\x18\x06 \x01(\x04\x12\r\n\x05revno\x18\x07 \x01(\x04\x12\x15\n\rcontent_flags\x18\x08 \x01(\r\x12=\n\x0c\x63ontent_type\x18\t \x01(\x0e\x32\'.couchbase.internal.xdcr.v1.ContentType\x12\x1e\n\x14\x63ontent_uncompressed\x18\x0f \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\n \x01(\x0cH\x00\x12K\n\x06xattrs\x18\x10 \x03(\x0b\x32;.couchbase.internal.xdcr.v1.PushDocumentRequest.XattrsEntry\x12\x34\n\x0b\x65xpiry_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x02\x88\x01\x01\x12\x12\n\nis_deleted\x18\x0c \x01(\x08\x12\x14\n\x07vb_uuid\x18\r \x01(\x04H\x03\x88\x01\x01\x1a-\n\x0bXattrsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\x42\t\n\x07\x63ontentB\x0c\n\n_check_casB\x0e\n\x0c_expiry_timeB\n\n\x08_vb_uuid\"2\n\x14PushDocumentResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\r\n\x05seqno\x18\x02 \x01(\x04*O\n\x0e\x43lusterEdition\x12\x1d\n\x19\x43LUSTER_EDITION_COMMUNITY\x10\x00\x12\x1e\n\x1a\x43LUSTER_EDITION_ENTERPRISE\x10\x01*\x93\x01\n\x16\x43onflictResolutionType\x12&\n\"CONFLICT_RESOLUTION_TYPE_TIMESTAMP\x10\x00\x12,\n(CONFLICT_RESOLUTION_TYPE_SEQUENCE_NUMBER\x10\x01\x12#\n\x1f\x43ONFLICT_RESOLUTION_TYPE_CUSTOM\x10\x02*B\n\nBucketType\x12\x19\n\x15\x42UCKET_TYPE_COUCHBASE\x10\x00\x12\x19\n\x15\x42UCKET_TYPE_EPHEMERAL\x10\x01*>\n\x0b\x43ontentType\x12\x18\n\x14\x43ONTENT_TYPE_NONJSON\x10\x00\x12\x15\n\x11\x43ONTENT_TYPE_JSON\x10\x01\x32\xcc\x07\n\x0bXdcrService\x12j\n\tHeartbeat\x12,.couchbase.internal.xdcr.v1.HeartbeatRequest\x1a-.couchbase.internal.xdcr.v1.HeartbeatResponse\"\x00\x12y\n\x0eGetClusterInfo\x12\x31.couchbase.internal.xdcr.v1.GetClusterInfoRequest\x1a\x32.couchbase.internal.xdcr.v1.GetClusterInfoResponse\"\x00\x12v\n\rGetBucketInfo\x12\x30.couchbase.internal.xdcr.v1.GetBucketInfoRequest\x1a\x31.couchbase.internal.xdcr.v1.GetBucketInfoResponse\"\x00\x12{\n\x0eGetVbucketInfo\x12\x31.couchbase.internal.xdcr.v1.GetVbucketInfoRequest\x1a\x32.couchbase.internal.xdcr.v1.GetVbucketInfoResponse\"\x00\x30\x01\x12\x81\x01\n\x10WatchCollections\x12\x33.couchbase.internal.xdcr.v1.WatchCollectionsRequest\x1a\x34.couchbase.internal.xdcr.v1.WatchCollectionsResponse\"\x00\x30\x01\x12p\n\x0bGetDocument\x12..couchbase.internal.xdcr.v1.GetDocumentRequest\x1a/.couchbase.internal.xdcr.v1.GetDocumentResponse\"\x00\x12v\n\rCheckDocument\x12\x30.couchbase.internal.xdcr.v1.CheckDocumentRequest\x1a\x31.couchbase.internal.xdcr.v1.CheckDocumentResponse\"\x00\x12s\n\x0cPushDocument\x12/.couchbase.internal.xdcr.v1.PushDocumentRequest\x1a\x30.couchbase.internal.xdcr.v1.PushDocumentResponse\"\x00\x42PZNgithub.com/couchbase/goprotostellar/genproto/internal_xdcr_v1;internal_xdcr_v1b\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Couchbase
16
+ module Internal
17
+ module Xdcr
18
+ module V1
19
+ HeartbeatRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.HeartbeatRequest").msgclass
20
+ HeartbeatResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.HeartbeatResponse").msgclass
21
+ GetClusterInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetClusterInfoRequest").msgclass
22
+ GetClusterInfoResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetClusterInfoResponse").msgclass
23
+ GetBucketInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetBucketInfoRequest").msgclass
24
+ GetBucketInfoResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetBucketInfoResponse").msgclass
25
+ GetVbucketInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetVbucketInfoRequest").msgclass
26
+ GetVbucketInfoResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetVbucketInfoResponse").msgclass
27
+ GetVbucketInfoResponse::HistoryEntry = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetVbucketInfoResponse.HistoryEntry").msgclass
28
+ GetVbucketInfoResponse::VbucketState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetVbucketInfoResponse.VbucketState").msgclass
29
+ WatchCollectionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.WatchCollectionsRequest").msgclass
30
+ WatchCollectionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.WatchCollectionsResponse").msgclass
31
+ WatchCollectionsResponse::Collection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.WatchCollectionsResponse.Collection").msgclass
32
+ WatchCollectionsResponse::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.WatchCollectionsResponse.Scope").msgclass
33
+ GetDocumentRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetDocumentRequest").msgclass
34
+ GetDocumentResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.GetDocumentResponse").msgclass
35
+ CheckDocumentRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.CheckDocumentRequest").msgclass
36
+ CheckDocumentResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.CheckDocumentResponse").msgclass
37
+ PushDocumentRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.PushDocumentRequest").msgclass
38
+ PushDocumentResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.PushDocumentResponse").msgclass
39
+ ClusterEdition = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.ClusterEdition").enummodule
40
+ ConflictResolutionType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.ConflictResolutionType").enummodule
41
+ BucketType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.BucketType").enummodule
42
+ ContentType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.internal.xdcr.v1.ContentType").enummodule
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,56 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: couchbase/internal/xdcr/v1/xdcr.proto for package 'couchbase.internal.xdcr.v1'
3
+ # Original file comments:
4
+ # XDCR Service (Internal / Unstable)
5
+ #
6
+ # Provides cross-datacenter replication (XDCR) primitives for
7
+ # replicating documents between Couchbase clusters. Includes
8
+ # cluster/bucket/vbucket info discovery, collection watching,
9
+ # and document get/check/push operations.
10
+ #
11
+ # @uncommitted This service is not yet stable and may change without warning.
12
+
13
+ require 'grpc'
14
+ require 'couchbase/protostellar/generated/internal/xdcr/v1/xdcr_pb'
15
+
16
+ module Couchbase
17
+ module Internal
18
+ module Xdcr
19
+ module V1
20
+ module XdcrService
21
+ # XdcrService provides XDCR replication operations.
22
+ # @uncommitted This service is not yet stable and may change without warning.
23
+ class Service
24
+
25
+ include ::GRPC::GenericService
26
+
27
+ self.marshal_class_method = :encode
28
+ self.unmarshal_class_method = :decode
29
+ self.service_name = 'couchbase.internal.xdcr.v1.XdcrService'
30
+
31
+ # Heartbeat sends a payload to verify the XDCR connection is alive.
32
+ rpc :Heartbeat, ::Couchbase::Internal::Xdcr::V1::HeartbeatRequest, ::Couchbase::Internal::Xdcr::V1::HeartbeatResponse
33
+ # GetClusterInfo returns the cluster UUID for identity verification.
34
+ rpc :GetClusterInfo, ::Couchbase::Internal::Xdcr::V1::GetClusterInfoRequest, ::Couchbase::Internal::Xdcr::V1::GetClusterInfoResponse
35
+ # GetBucketInfo returns bucket metadata needed for XDCR setup.
36
+ rpc :GetBucketInfo, ::Couchbase::Internal::Xdcr::V1::GetBucketInfoRequest, ::Couchbase::Internal::Xdcr::V1::GetBucketInfoResponse
37
+ # GetVbucketInfo streams vbucket state (UUIDs, seqnos, history)
38
+ # for the requested vbucket IDs.
39
+ rpc :GetVbucketInfo, ::Couchbase::Internal::Xdcr::V1::GetVbucketInfoRequest, stream(::Couchbase::Internal::Xdcr::V1::GetVbucketInfoResponse)
40
+ # WatchCollections streams collection manifest updates for a bucket.
41
+ rpc :WatchCollections, ::Couchbase::Internal::Xdcr::V1::WatchCollectionsRequest, stream(::Couchbase::Internal::Xdcr::V1::WatchCollectionsResponse)
42
+ # GetDocument retrieves a document with full metadata for replication.
43
+ rpc :GetDocument, ::Couchbase::Internal::Xdcr::V1::GetDocumentRequest, ::Couchbase::Internal::Xdcr::V1::GetDocumentResponse
44
+ # CheckDocument checks if a document exists with the given metadata,
45
+ # used for conflict resolution before pushing.
46
+ rpc :CheckDocument, ::Couchbase::Internal::Xdcr::V1::CheckDocumentRequest, ::Couchbase::Internal::Xdcr::V1::CheckDocumentResponse
47
+ # PushDocument pushes a replicated document to the target cluster.
48
+ rpc :PushDocument, ::Couchbase::Internal::Xdcr::V1::PushDocumentRequest, ::Couchbase::Internal::Xdcr::V1::PushDocumentResponse
49
+ end
50
+
51
+ Stub = Service.rpc_stub_class
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -8,33 +8,10 @@ require 'google/rpc/status_pb'
8
8
  require 'google/protobuf/timestamp_pb'
9
9
 
10
10
 
11
- descriptor_data = "\n\x18\x63ouchbase/kv/v1/kv.proto\x12\x0f\x63ouchbase.kv.v1\x1a\x17google/rpc/status.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"E\n\x14LegacyDurabilitySpec\x12\x16\n\x0enum_replicated\x18\x01 \x01(\r\x12\x15\n\rnum_persisted\x18\x02 \x01(\r\"^\n\rMutationToken\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nvbucket_id\x18\x02 \x01(\r\x12\x14\n\x0cvbucket_uuid\x18\x03 \x01(\x04\x12\x0e\n\x06seq_no\x18\x04 \x01(\x04\"\xbb\x01\n\nGetRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x0f\n\x07project\x18\x05 \x03(\t\x12=\n\x0b\x63ompression\x18\x06 \x01(\x0e\x32#.couchbase.kv.v1.CompressionEnabledH\x00\x88\x01\x01\x42\x0e\n\x0c_compression\"\xb2\x01\n\x0bGetResponse\x12\x1e\n\x14\x63ontent_uncompressed\x18\x01 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\x07 \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x06 \x01(\r\x12\x0b\n\x03\x63\x61s\x18\x03 \x01(\x04\x12*\n\x06\x65xpiry\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\t\n\x07\x63ontentJ\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06\"\x86\x02\n\x12GetAndTouchRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x31\n\x0b\x65xpiry_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\x06 \x01(\rH\x00\x12=\n\x0b\x63ompression\x18\x07 \x01(\x0e\x32#.couchbase.kv.v1.CompressionEnabledH\x01\x88\x01\x01\x42\x08\n\x06\x65xpiryB\x0e\n\x0c_compression\"\xba\x01\n\x13GetAndTouchResponse\x12\x1e\n\x14\x63ontent_uncompressed\x18\x01 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\x07 \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x06 \x01(\r\x12\x0b\n\x03\x63\x61s\x18\x03 \x01(\x04\x12*\n\x06\x65xpiry\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\t\n\x07\x63ontentJ\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06\"\xc4\x01\n\x11GetAndLockRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x11\n\tlock_time\x18\x05 \x01(\r\x12=\n\x0b\x63ompression\x18\x06 \x01(\x0e\x32#.couchbase.kv.v1.CompressionEnabledH\x00\x88\x01\x01\x42\x0e\n\x0c_compression\"\xb9\x01\n\x12GetAndLockResponse\x12\x1e\n\x14\x63ontent_uncompressed\x18\x01 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\x07 \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x06 \x01(\r\x12\x0b\n\x03\x63\x61s\x18\x03 \x01(\x04\x12*\n\x06\x65xpiry\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\t\n\x07\x63ontentJ\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06\"k\n\rUnlockRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x0b\n\x03\x63\x61s\x18\x05 \x01(\x04\"\x10\n\x0eUnlockResponse\"\xb1\x01\n\x0cTouchRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x31\n\x0b\x65xpiry_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\x06 \x01(\rH\x00\x42\x08\n\x06\x65xpiry\"T\n\rTouchResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"^\n\rExistsRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\"-\n\x0e\x45xistsResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\x12\x0b\n\x03\x63\x61s\x18\x02 \x01(\x04\"\xee\x02\n\rInsertRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x1e\n\x14\x63ontent_uncompressed\x18\x05 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\x0c \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x0b \x01(\r\x12\x31\n\x0b\x65xpiry_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x12\x15\n\x0b\x65xpiry_secs\x18\n \x01(\rH\x01\x12?\n\x10\x64urability_level\x18\t \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x02\x88\x01\x01\x42\t\n\x07\x63ontentB\x08\n\x06\x65xpiryB\x13\n\x11_durability_levelJ\x04\x08\x06\x10\x07\"U\n\x0eInsertResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xb8\x03\n\rUpsertRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x1e\n\x14\x63ontent_uncompressed\x18\x05 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\r \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x0b \x01(\r\x12\x31\n\x0b\x65xpiry_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x12\x15\n\x0b\x65xpiry_secs\x18\n \x01(\rH\x01\x12(\n\x1bpreserve_expiry_on_existing\x18\x0c \x01(\x08H\x02\x88\x01\x01\x12?\n\x10\x64urability_level\x18\t \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x03\x88\x01\x01\x42\t\n\x07\x63ontentB\x08\n\x06\x65xpiryB\x1e\n\x1c_preserve_expiry_on_existingB\x13\n\x11_durability_levelJ\x04\x08\x06\x10\x07\"U\n\x0eUpsertResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\x89\x03\n\x0eReplaceRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x1e\n\x14\x63ontent_uncompressed\x18\x05 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\r \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x0c \x01(\r\x12\x10\n\x03\x63\x61s\x18\x07 \x01(\x04H\x02\x88\x01\x01\x12\x31\n\x0b\x65xpiry_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x12\x15\n\x0b\x65xpiry_secs\x18\x0b \x01(\rH\x01\x12?\n\x10\x64urability_level\x18\n \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x03\x88\x01\x01\x42\t\n\x07\x63ontentB\x08\n\x06\x65xpiryB\x06\n\x04_casB\x13\n\x11_durability_levelJ\x04\x08\x06\x10\x07\"V\n\x0fReplaceResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xce\x01\n\rRemoveRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x10\n\x03\x63\x61s\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12?\n\x10\x64urability_level\x18\x07 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x01\x88\x01\x01\x42\x06\n\x04_casB\x13\n\x11_durability_level\"U\n\x0eRemoveResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xbc\x02\n\x10IncrementRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x05 \x01(\x04\x12\x31\n\x0b\x65xpiry_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\n \x01(\rH\x00\x12\x14\n\x07initial\x18\x07 \x01(\x03H\x01\x88\x01\x01\x12?\n\x10\x64urability_level\x18\t \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x02\x88\x01\x01\x42\x08\n\x06\x65xpiryB\n\n\x08_initialB\x13\n\x11_durability_level\"i\n\x11IncrementResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x03\x12\x36\n\x0emutation_token\x18\x03 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xbc\x02\n\x10\x44\x65\x63rementRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x05 \x01(\x04\x12\x31\n\x0b\x65xpiry_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\n \x01(\rH\x00\x12\x14\n\x07initial\x18\x07 \x01(\x03H\x01\x88\x01\x01\x12?\n\x10\x64urability_level\x18\t \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x02\x88\x01\x01\x42\x08\n\x06\x65xpiryB\n\n\x08_initialB\x13\n\x11_durability_level\"i\n\x11\x44\x65\x63rementResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x03\x12\x36\n\x0emutation_token\x18\x03 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xdf\x01\n\rAppendRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x05 \x01(\x0c\x12\x10\n\x03\x63\x61s\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12?\n\x10\x64urability_level\x18\x08 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x01\x88\x01\x01\x42\x06\n\x04_casB\x13\n\x11_durability_level\"U\n\x0e\x41ppendResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xe0\x01\n\x0ePrependRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x05 \x01(\x0c\x12\x10\n\x03\x63\x61s\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12?\n\x10\x64urability_level\x18\x08 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x01\x88\x01\x01\x42\x06\n\x04_casB\x13\n\x11_durability_level\"V\n\x0fPrependResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xad\x04\n\x0fLookupInRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x34\n\x05specs\x18\x05 \x03(\x0b\x32%.couchbase.kv.v1.LookupInRequest.Spec\x12:\n\x05\x66lags\x18\x06 \x01(\x0b\x32&.couchbase.kv.v1.LookupInRequest.FlagsH\x00\x88\x01\x01\x1a\x95\x02\n\x04Spec\x12\x42\n\toperation\x18\x01 \x01(\x0e\x32/.couchbase.kv.v1.LookupInRequest.Spec.Operation\x12\x0c\n\x04path\x18\x02 \x01(\t\x12?\n\x05\x66lags\x18\x03 \x01(\x0b\x32+.couchbase.kv.v1.LookupInRequest.Spec.FlagsH\x00\x88\x01\x01\x1a%\n\x05\x46lags\x12\x12\n\x05xattr\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_xattr\"I\n\tOperation\x12\x11\n\rOPERATION_GET\x10\x00\x12\x14\n\x10OPERATION_EXISTS\x10\x01\x12\x13\n\x0fOPERATION_COUNT\x10\x02\x42\x08\n\x06_flags\x1a\x37\n\x05\x46lags\x12\x1b\n\x0e\x61\x63\x63\x65ss_deleted\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_access_deletedB\x08\n\x06_flags\"\x93\x01\n\x10LookupInResponse\x12\x35\n\x05specs\x18\x01 \x03(\x0b\x32&.couchbase.kv.v1.LookupInResponse.Spec\x12\x0b\n\x03\x63\x61s\x18\x02 \x01(\x04\x1a;\n\x04Spec\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\"\x97\t\n\x0fMutateInRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x34\n\x05specs\x18\x05 \x03(\x0b\x32%.couchbase.kv.v1.MutateInRequest.Spec\x12K\n\x0estore_semantic\x18\x06 \x01(\x0e\x32..couchbase.kv.v1.MutateInRequest.StoreSemanticH\x01\x88\x01\x01\x12?\n\x10\x64urability_level\x18\x08 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x02\x88\x01\x01\x12\x10\n\x03\x63\x61s\x18\t \x01(\x04H\x03\x88\x01\x01\x12:\n\x05\x66lags\x18\n \x01(\x0b\x32&.couchbase.kv.v1.MutateInRequest.FlagsH\x04\x88\x01\x01\x12\x31\n\x0b\x65xpiry_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\x0c \x01(\rH\x00\x1a\xf8\x03\n\x04Spec\x12\x42\n\toperation\x18\x01 \x01(\x0e\x32/.couchbase.kv.v1.MutateInRequest.Spec.Operation\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12?\n\x05\x66lags\x18\x04 \x01(\x0b\x32+.couchbase.kv.v1.MutateInRequest.Spec.FlagsH\x00\x88\x01\x01\x1aO\n\x05\x46lags\x12\x18\n\x0b\x63reate_path\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x12\n\x05xattr\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_create_pathB\x08\n\x06_xattr\"\xf0\x01\n\tOperation\x12\x14\n\x10OPERATION_INSERT\x10\x00\x12\x14\n\x10OPERATION_UPSERT\x10\x01\x12\x15\n\x11OPERATION_REPLACE\x10\x02\x12\x14\n\x10OPERATION_REMOVE\x10\x03\x12\x1a\n\x16OPERATION_ARRAY_APPEND\x10\x04\x12\x1b\n\x17OPERATION_ARRAY_PREPEND\x10\x05\x12\x1a\n\x16OPERATION_ARRAY_INSERT\x10\x06\x12\x1e\n\x1aOPERATION_ARRAY_ADD_UNIQUE\x10\x07\x12\x15\n\x11OPERATION_COUNTER\x10\x08\x42\x08\n\x06_flags\x1a\x37\n\x05\x46lags\x12\x1b\n\x0e\x61\x63\x63\x65ss_deleted\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_access_deleted\"a\n\rStoreSemantic\x12\x1a\n\x16STORE_SEMANTIC_REPLACE\x10\x00\x12\x19\n\x15STORE_SEMANTIC_UPSERT\x10\x01\x12\x19\n\x15STORE_SEMANTIC_INSERT\x10\x02\x42\x08\n\x06\x65xpiryB\x11\n\x0f_store_semanticB\x13\n\x11_durability_levelB\x06\n\x04_casB\x08\n\x06_flags\"\xb8\x01\n\x10MutateInResponse\x12\x35\n\x05specs\x18\x01 \x03(\x0b\x32&.couchbase.kv.v1.MutateInResponse.Spec\x12\x0b\n\x03\x63\x61s\x18\x02 \x01(\x04\x12\x36\n\x0emutation_token\x18\x03 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\x1a(\n\x04Spec\x12\x14\n\x07\x63ontent\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\n\n\x08_content\"f\n\x15GetAllReplicasRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\"a\n\x16GetAllReplicasResponse\x12\x12\n\nis_replica\x18\x01 \x01(\x08\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\x12\x15\n\rcontent_flags\x18\x03 \x01(\r\x12\x0b\n\x03\x63\x61s\x18\x04 \x01(\x04*\x8f\x01\n\x0f\x44urabilityLevel\x12\x1d\n\x19\x44URABILITY_LEVEL_MAJORITY\x10\x00\x12\x33\n/DURABILITY_LEVEL_MAJORITY_AND_PERSIST_TO_ACTIVE\x10\x01\x12(\n$DURABILITY_LEVEL_PERSIST_TO_MAJORITY\x10\x02*V\n\x12\x43ompressionEnabled\x12 \n\x1c\x43OMPRESSION_ENABLED_OPTIONAL\x10\x00\x12\x1e\n\x1a\x43OMPRESSION_ENABLED_ALWAYS\x10\x01\x32\xf5\n\n\tKvService\x12\x42\n\x03Get\x12\x1b.couchbase.kv.v1.GetRequest\x1a\x1c.couchbase.kv.v1.GetResponse\"\x00\x12Z\n\x0bGetAndTouch\x12#.couchbase.kv.v1.GetAndTouchRequest\x1a$.couchbase.kv.v1.GetAndTouchResponse\"\x00\x12W\n\nGetAndLock\x12\".couchbase.kv.v1.GetAndLockRequest\x1a#.couchbase.kv.v1.GetAndLockResponse\"\x00\x12K\n\x06Unlock\x12\x1e.couchbase.kv.v1.UnlockRequest\x1a\x1f.couchbase.kv.v1.UnlockResponse\"\x00\x12H\n\x05Touch\x12\x1d.couchbase.kv.v1.TouchRequest\x1a\x1e.couchbase.kv.v1.TouchResponse\"\x00\x12K\n\x06\x45xists\x12\x1e.couchbase.kv.v1.ExistsRequest\x1a\x1f.couchbase.kv.v1.ExistsResponse\"\x00\x12K\n\x06Insert\x12\x1e.couchbase.kv.v1.InsertRequest\x1a\x1f.couchbase.kv.v1.InsertResponse\"\x00\x12K\n\x06Upsert\x12\x1e.couchbase.kv.v1.UpsertRequest\x1a\x1f.couchbase.kv.v1.UpsertResponse\"\x00\x12N\n\x07Replace\x12\x1f.couchbase.kv.v1.ReplaceRequest\x1a .couchbase.kv.v1.ReplaceResponse\"\x00\x12K\n\x06Remove\x12\x1e.couchbase.kv.v1.RemoveRequest\x1a\x1f.couchbase.kv.v1.RemoveResponse\"\x00\x12T\n\tIncrement\x12!.couchbase.kv.v1.IncrementRequest\x1a\".couchbase.kv.v1.IncrementResponse\"\x00\x12T\n\tDecrement\x12!.couchbase.kv.v1.DecrementRequest\x1a\".couchbase.kv.v1.DecrementResponse\"\x00\x12K\n\x06\x41ppend\x12\x1e.couchbase.kv.v1.AppendRequest\x1a\x1f.couchbase.kv.v1.AppendResponse\"\x00\x12N\n\x07Prepend\x12\x1f.couchbase.kv.v1.PrependRequest\x1a .couchbase.kv.v1.PrependResponse\"\x00\x12Q\n\x08LookupIn\x12 .couchbase.kv.v1.LookupInRequest\x1a!.couchbase.kv.v1.LookupInResponse\"\x00\x12Q\n\x08MutateIn\x12 .couchbase.kv.v1.MutateInRequest\x1a!.couchbase.kv.v1.MutateInResponse\"\x00\x12\x65\n\x0eGetAllReplicas\x12&.couchbase.kv.v1.GetAllReplicasRequest\x1a\'.couchbase.kv.v1.GetAllReplicasResponse\"\x00\x30\x01\x42\xda\x01\n\'com.couchbase.client.protostellar.kv.v1P\x01Z8github.com/couchbase/goprotostellar/genproto/kv_v1;kv_v1\xaa\x02\x1c\x43ouchbase.Protostellar.KV.V1\xca\x02&Couchbase\\Protostellar\\Generated\\KV\\V1\xea\x02*Couchbase::Protostellar::Generated::KV::V1b\x06proto3"
11
+ descriptor_data = "\n\x18\x63ouchbase/kv/v1/kv.proto\x12\x0f\x63ouchbase.kv.v1\x1a\x17google/rpc/status.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"E\n\x14LegacyDurabilitySpec\x12\x16\n\x0enum_replicated\x18\x01 \x01(\r\x12\x15\n\rnum_persisted\x18\x02 \x01(\r\"^\n\rMutationToken\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nvbucket_id\x18\x02 \x01(\r\x12\x14\n\x0cvbucket_uuid\x18\x03 \x01(\x04\x12\x0e\n\x06seq_no\x18\x04 \x01(\x04\"\xbb\x01\n\nGetRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x0f\n\x07project\x18\x05 \x03(\t\x12=\n\x0b\x63ompression\x18\x06 \x01(\x0e\x32#.couchbase.kv.v1.CompressionEnabledH\x00\x88\x01\x01\x42\x0e\n\x0c_compression\"\xb2\x01\n\x0bGetResponse\x12\x1e\n\x14\x63ontent_uncompressed\x18\x01 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\x07 \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x06 \x01(\r\x12\x0b\n\x03\x63\x61s\x18\x03 \x01(\x04\x12*\n\x06\x65xpiry\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\t\n\x07\x63ontentJ\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06\"\x86\x02\n\x12GetAndTouchRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x31\n\x0b\x65xpiry_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\x06 \x01(\rH\x00\x12=\n\x0b\x63ompression\x18\x07 \x01(\x0e\x32#.couchbase.kv.v1.CompressionEnabledH\x01\x88\x01\x01\x42\x08\n\x06\x65xpiryB\x0e\n\x0c_compression\"\xba\x01\n\x13GetAndTouchResponse\x12\x1e\n\x14\x63ontent_uncompressed\x18\x01 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\x07 \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x06 \x01(\r\x12\x0b\n\x03\x63\x61s\x18\x03 \x01(\x04\x12*\n\x06\x65xpiry\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\t\n\x07\x63ontentJ\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06\"\xc9\x01\n\x11GetAndLockRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x16\n\x0elock_time_secs\x18\x05 \x01(\r\x12=\n\x0b\x63ompression\x18\x06 \x01(\x0e\x32#.couchbase.kv.v1.CompressionEnabledH\x00\x88\x01\x01\x42\x0e\n\x0c_compression\"\xb9\x01\n\x12GetAndLockResponse\x12\x1e\n\x14\x63ontent_uncompressed\x18\x01 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\x07 \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x06 \x01(\r\x12\x0b\n\x03\x63\x61s\x18\x03 \x01(\x04\x12*\n\x06\x65xpiry\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\t\n\x07\x63ontentJ\x04\x08\x02\x10\x03J\x04\x08\x05\x10\x06\"k\n\rUnlockRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x0b\n\x03\x63\x61s\x18\x05 \x01(\x04\"\x10\n\x0eUnlockResponse\"\xb1\x01\n\x0cTouchRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x31\n\x0b\x65xpiry_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\x06 \x01(\rH\x00\x42\x08\n\x06\x65xpiry\"T\n\rTouchResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"^\n\rExistsRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\"-\n\x0e\x45xistsResponse\x12\x0e\n\x06result\x18\x01 \x01(\x08\x12\x0b\n\x03\x63\x61s\x18\x02 \x01(\x04\"\xee\x02\n\rInsertRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x1e\n\x14\x63ontent_uncompressed\x18\x05 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\x0c \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x0b \x01(\r\x12\x31\n\x0b\x65xpiry_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x12\x15\n\x0b\x65xpiry_secs\x18\n \x01(\rH\x01\x12?\n\x10\x64urability_level\x18\t \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x02\x88\x01\x01\x42\t\n\x07\x63ontentB\x08\n\x06\x65xpiryB\x13\n\x11_durability_levelJ\x04\x08\x06\x10\x07\"U\n\x0eInsertResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xb8\x03\n\rUpsertRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x1e\n\x14\x63ontent_uncompressed\x18\x05 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\r \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x0b \x01(\r\x12\x31\n\x0b\x65xpiry_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x12\x15\n\x0b\x65xpiry_secs\x18\n \x01(\rH\x01\x12(\n\x1bpreserve_expiry_on_existing\x18\x0c \x01(\x08H\x02\x88\x01\x01\x12?\n\x10\x64urability_level\x18\t \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x03\x88\x01\x01\x42\t\n\x07\x63ontentB\x08\n\x06\x65xpiryB\x1e\n\x1c_preserve_expiry_on_existingB\x13\n\x11_durability_levelJ\x04\x08\x06\x10\x07\"U\n\x0eUpsertResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\x89\x03\n\x0eReplaceRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x1e\n\x14\x63ontent_uncompressed\x18\x05 \x01(\x0cH\x00\x12\x1c\n\x12\x63ontent_compressed\x18\r \x01(\x0cH\x00\x12\x15\n\rcontent_flags\x18\x0c \x01(\r\x12\x10\n\x03\x63\x61s\x18\x07 \x01(\x04H\x02\x88\x01\x01\x12\x31\n\x0b\x65xpiry_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01\x12\x15\n\x0b\x65xpiry_secs\x18\x0b \x01(\rH\x01\x12?\n\x10\x64urability_level\x18\n \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x03\x88\x01\x01\x42\t\n\x07\x63ontentB\x08\n\x06\x65xpiryB\x06\n\x04_casB\x13\n\x11_durability_levelJ\x04\x08\x06\x10\x07\"V\n\x0fReplaceResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xce\x01\n\rRemoveRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x10\n\x03\x63\x61s\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12?\n\x10\x64urability_level\x18\x07 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x01\x88\x01\x01\x42\x06\n\x04_casB\x13\n\x11_durability_level\"U\n\x0eRemoveResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xbc\x02\n\x10IncrementRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x05 \x01(\x04\x12\x31\n\x0b\x65xpiry_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\n \x01(\rH\x00\x12\x14\n\x07initial\x18\x07 \x01(\x03H\x01\x88\x01\x01\x12?\n\x10\x64urability_level\x18\t \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x02\x88\x01\x01\x42\x08\n\x06\x65xpiryB\n\n\x08_initialB\x13\n\x11_durability_level\"i\n\x11IncrementResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x03\x12\x36\n\x0emutation_token\x18\x03 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xbc\x02\n\x10\x44\x65\x63rementRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\r\n\x05\x64\x65lta\x18\x05 \x01(\x04\x12\x31\n\x0b\x65xpiry_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\n \x01(\rH\x00\x12\x14\n\x07initial\x18\x07 \x01(\x03H\x01\x88\x01\x01\x12?\n\x10\x64urability_level\x18\t \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x02\x88\x01\x01\x42\x08\n\x06\x65xpiryB\n\n\x08_initialB\x13\n\x11_durability_level\"i\n\x11\x44\x65\x63rementResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x03\x12\x36\n\x0emutation_token\x18\x03 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xdf\x01\n\rAppendRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x05 \x01(\x0c\x12\x10\n\x03\x63\x61s\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12?\n\x10\x64urability_level\x18\x08 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x01\x88\x01\x01\x42\x06\n\x04_casB\x13\n\x11_durability_level\"U\n\x0e\x41ppendResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xe0\x01\n\x0ePrependRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x05 \x01(\x0c\x12\x10\n\x03\x63\x61s\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12?\n\x10\x64urability_level\x18\x08 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x01\x88\x01\x01\x42\x06\n\x04_casB\x13\n\x11_durability_level\"V\n\x0fPrependResponse\x12\x0b\n\x03\x63\x61s\x18\x01 \x01(\x04\x12\x36\n\x0emutation_token\x18\x02 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\"\xad\x04\n\x0fLookupInRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x34\n\x05specs\x18\x05 \x03(\x0b\x32%.couchbase.kv.v1.LookupInRequest.Spec\x12:\n\x05\x66lags\x18\x06 \x01(\x0b\x32&.couchbase.kv.v1.LookupInRequest.FlagsH\x00\x88\x01\x01\x1a\x95\x02\n\x04Spec\x12\x42\n\toperation\x18\x01 \x01(\x0e\x32/.couchbase.kv.v1.LookupInRequest.Spec.Operation\x12\x0c\n\x04path\x18\x02 \x01(\t\x12?\n\x05\x66lags\x18\x03 \x01(\x0b\x32+.couchbase.kv.v1.LookupInRequest.Spec.FlagsH\x00\x88\x01\x01\x1a%\n\x05\x46lags\x12\x12\n\x05xattr\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_xattr\"I\n\tOperation\x12\x11\n\rOPERATION_GET\x10\x00\x12\x14\n\x10OPERATION_EXISTS\x10\x01\x12\x13\n\x0fOPERATION_COUNT\x10\x02\x42\x08\n\x06_flags\x1a\x37\n\x05\x46lags\x12\x1b\n\x0e\x61\x63\x63\x65ss_deleted\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_access_deletedB\x08\n\x06_flags\"\x93\x01\n\x10LookupInResponse\x12\x35\n\x05specs\x18\x01 \x03(\x0b\x32&.couchbase.kv.v1.LookupInResponse.Spec\x12\x0b\n\x03\x63\x61s\x18\x02 \x01(\x04\x1a;\n\x04Spec\x12\"\n\x06status\x18\x01 \x01(\x0b\x32\x12.google.rpc.Status\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\"\x97\t\n\x0fMutateInRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\x12\x34\n\x05specs\x18\x05 \x03(\x0b\x32%.couchbase.kv.v1.MutateInRequest.Spec\x12K\n\x0estore_semantic\x18\x06 \x01(\x0e\x32..couchbase.kv.v1.MutateInRequest.StoreSemanticH\x01\x88\x01\x01\x12?\n\x10\x64urability_level\x18\x08 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x02\x88\x01\x01\x12\x10\n\x03\x63\x61s\x18\t \x01(\x04H\x03\x88\x01\x01\x12:\n\x05\x66lags\x18\n \x01(\x0b\x32&.couchbase.kv.v1.MutateInRequest.FlagsH\x04\x88\x01\x01\x12\x31\n\x0b\x65xpiry_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x15\n\x0b\x65xpiry_secs\x18\x0c \x01(\rH\x00\x1a\xf8\x03\n\x04Spec\x12\x42\n\toperation\x18\x01 \x01(\x0e\x32/.couchbase.kv.v1.MutateInRequest.Spec.Operation\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x03 \x01(\x0c\x12?\n\x05\x66lags\x18\x04 \x01(\x0b\x32+.couchbase.kv.v1.MutateInRequest.Spec.FlagsH\x00\x88\x01\x01\x1aO\n\x05\x46lags\x12\x18\n\x0b\x63reate_path\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x12\n\x05xattr\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_create_pathB\x08\n\x06_xattr\"\xf0\x01\n\tOperation\x12\x14\n\x10OPERATION_INSERT\x10\x00\x12\x14\n\x10OPERATION_UPSERT\x10\x01\x12\x15\n\x11OPERATION_REPLACE\x10\x02\x12\x14\n\x10OPERATION_REMOVE\x10\x03\x12\x1a\n\x16OPERATION_ARRAY_APPEND\x10\x04\x12\x1b\n\x17OPERATION_ARRAY_PREPEND\x10\x05\x12\x1a\n\x16OPERATION_ARRAY_INSERT\x10\x06\x12\x1e\n\x1aOPERATION_ARRAY_ADD_UNIQUE\x10\x07\x12\x15\n\x11OPERATION_COUNTER\x10\x08\x42\x08\n\x06_flags\x1a\x37\n\x05\x46lags\x12\x1b\n\x0e\x61\x63\x63\x65ss_deleted\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_access_deleted\"a\n\rStoreSemantic\x12\x1a\n\x16STORE_SEMANTIC_REPLACE\x10\x00\x12\x19\n\x15STORE_SEMANTIC_UPSERT\x10\x01\x12\x19\n\x15STORE_SEMANTIC_INSERT\x10\x02\x42\x08\n\x06\x65xpiryB\x11\n\x0f_store_semanticB\x13\n\x11_durability_levelB\x06\n\x04_casB\x08\n\x06_flags\"\xb8\x01\n\x10MutateInResponse\x12\x35\n\x05specs\x18\x01 \x03(\x0b\x32&.couchbase.kv.v1.MutateInResponse.Spec\x12\x0b\n\x03\x63\x61s\x18\x02 \x01(\x04\x12\x36\n\x0emutation_token\x18\x03 \x01(\x0b\x32\x1e.couchbase.kv.v1.MutationToken\x1a(\n\x04Spec\x12\x14\n\x07\x63ontent\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\n\n\x08_content\"f\n\x15GetAllReplicasRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\x12\x17\n\x0f\x63ollection_name\x18\x03 \x01(\t\x12\x0b\n\x03key\x18\x04 \x01(\t\"a\n\x16GetAllReplicasResponse\x12\x12\n\nis_replica\x18\x01 \x01(\x08\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\x0c\x12\x15\n\rcontent_flags\x18\x03 \x01(\r\x12\x0b\n\x03\x63\x61s\x18\x04 \x01(\x04*\x8f\x01\n\x0f\x44urabilityLevel\x12\x1d\n\x19\x44URABILITY_LEVEL_MAJORITY\x10\x00\x12\x33\n/DURABILITY_LEVEL_MAJORITY_AND_PERSIST_TO_ACTIVE\x10\x01\x12(\n$DURABILITY_LEVEL_PERSIST_TO_MAJORITY\x10\x02*V\n\x12\x43ompressionEnabled\x12 \n\x1c\x43OMPRESSION_ENABLED_OPTIONAL\x10\x00\x12\x1e\n\x1a\x43OMPRESSION_ENABLED_ALWAYS\x10\x01\x32\xf5\n\n\tKvService\x12\x42\n\x03Get\x12\x1b.couchbase.kv.v1.GetRequest\x1a\x1c.couchbase.kv.v1.GetResponse\"\x00\x12Z\n\x0bGetAndTouch\x12#.couchbase.kv.v1.GetAndTouchRequest\x1a$.couchbase.kv.v1.GetAndTouchResponse\"\x00\x12W\n\nGetAndLock\x12\".couchbase.kv.v1.GetAndLockRequest\x1a#.couchbase.kv.v1.GetAndLockResponse\"\x00\x12K\n\x06Unlock\x12\x1e.couchbase.kv.v1.UnlockRequest\x1a\x1f.couchbase.kv.v1.UnlockResponse\"\x00\x12H\n\x05Touch\x12\x1d.couchbase.kv.v1.TouchRequest\x1a\x1e.couchbase.kv.v1.TouchResponse\"\x00\x12K\n\x06\x45xists\x12\x1e.couchbase.kv.v1.ExistsRequest\x1a\x1f.couchbase.kv.v1.ExistsResponse\"\x00\x12K\n\x06Insert\x12\x1e.couchbase.kv.v1.InsertRequest\x1a\x1f.couchbase.kv.v1.InsertResponse\"\x00\x12K\n\x06Upsert\x12\x1e.couchbase.kv.v1.UpsertRequest\x1a\x1f.couchbase.kv.v1.UpsertResponse\"\x00\x12N\n\x07Replace\x12\x1f.couchbase.kv.v1.ReplaceRequest\x1a .couchbase.kv.v1.ReplaceResponse\"\x00\x12K\n\x06Remove\x12\x1e.couchbase.kv.v1.RemoveRequest\x1a\x1f.couchbase.kv.v1.RemoveResponse\"\x00\x12T\n\tIncrement\x12!.couchbase.kv.v1.IncrementRequest\x1a\".couchbase.kv.v1.IncrementResponse\"\x00\x12T\n\tDecrement\x12!.couchbase.kv.v1.DecrementRequest\x1a\".couchbase.kv.v1.DecrementResponse\"\x00\x12K\n\x06\x41ppend\x12\x1e.couchbase.kv.v1.AppendRequest\x1a\x1f.couchbase.kv.v1.AppendResponse\"\x00\x12N\n\x07Prepend\x12\x1f.couchbase.kv.v1.PrependRequest\x1a .couchbase.kv.v1.PrependResponse\"\x00\x12Q\n\x08LookupIn\x12 .couchbase.kv.v1.LookupInRequest\x1a!.couchbase.kv.v1.LookupInResponse\"\x00\x12Q\n\x08MutateIn\x12 .couchbase.kv.v1.MutateInRequest\x1a!.couchbase.kv.v1.MutateInResponse\"\x00\x12\x65\n\x0eGetAllReplicas\x12&.couchbase.kv.v1.GetAllReplicasRequest\x1a\'.couchbase.kv.v1.GetAllReplicasResponse\"\x00\x30\x01\x42\xda\x01\n\'com.couchbase.client.protostellar.kv.v1P\x01Z8github.com/couchbase/goprotostellar/genproto/kv_v1;kv_v1\xaa\x02\x1c\x43ouchbase.Protostellar.KV.V1\xca\x02&Couchbase\\Protostellar\\Generated\\KV\\V1\xea\x02*Couchbase::Protostellar::Generated::KV::V1b\x06proto3"
12
12
 
13
- pool = Google::Protobuf::DescriptorPool.generated_pool
14
-
15
- begin
16
- pool.add_serialized_file(descriptor_data)
17
- rescue TypeError => e
18
- # Compatibility code: will be removed in the next major version.
19
- require 'google/protobuf/descriptor_pb'
20
- parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
21
- parsed.clear_dependency
22
- serialized = parsed.class.encode(parsed)
23
- file = pool.add_serialized_file(serialized)
24
- warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
25
- imports = [
26
- ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
27
- ["google.rpc.Status", "google/rpc/status.proto"],
28
- ]
29
- imports.each do |type_name, expected_filename|
30
- import_file = pool.lookup(type_name).file_descriptor
31
- if import_file.name != expected_filename
32
- warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
33
- end
34
- end
35
- warn "Each proto file must use a consistent fully-qualified name."
36
- warn "This will become an error in the next major version."
37
- end
13
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
14
+ pool.add_serialized_file(descriptor_data)
38
15
 
39
16
  module Couchbase
40
17
  module Protostellar
@@ -1,5 +1,12 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: couchbase/kv/v1/kv.proto for package 'Couchbase.Protostellar.Generated.KV.V1'
3
+ # Original file comments:
4
+ # Key-Value (KV) Service
5
+ #
6
+ # Provides full key-value document operations for Couchbase, including
7
+ # CRUD, sub-document lookups and mutations, binary append/prepend,
8
+ # atomic counters, pessimistic locking, and replica reads.
9
+ # All operations are scoped to a bucket/scope/collection/key address.
3
10
 
4
11
  require 'grpc'
5
12
  require 'couchbase/protostellar/generated/kv/v1/kv_pb'
@@ -10,6 +17,9 @@ module Couchbase
10
17
  module KV
11
18
  module V1
12
19
  module KvService
20
+ # KvService provides key-value document operations against a Couchbase cluster.
21
+ # Operations are organized into reads, mutations, counters, binary operations,
22
+ # sub-document operations, and replica reads.
13
23
  class Service
14
24
 
15
25
  include ::GRPC::GenericService
@@ -18,22 +28,59 @@ module Couchbase
18
28
  self.unmarshal_class_method = :decode
19
29
  self.service_name = 'couchbase.kv.v1.KvService'
20
30
 
31
+ # Get retrieves a document by key. Supports field-level projection via the
32
+ # `project` field and optional compressed responses.
21
33
  rpc :Get, ::Couchbase::Protostellar::Generated::KV::V1::GetRequest, ::Couchbase::Protostellar::Generated::KV::V1::GetResponse
34
+ # GetAndTouch retrieves a document and simultaneously resets its expiry.
22
35
  rpc :GetAndTouch, ::Couchbase::Protostellar::Generated::KV::V1::GetAndTouchRequest, ::Couchbase::Protostellar::Generated::KV::V1::GetAndTouchResponse
36
+ # GetAndLock retrieves a document and acquires a pessimistic lock for the
37
+ # specified duration. The lock must be released via Unlock or will
38
+ # auto-expire after lock_time_secs.
23
39
  rpc :GetAndLock, ::Couchbase::Protostellar::Generated::KV::V1::GetAndLockRequest, ::Couchbase::Protostellar::Generated::KV::V1::GetAndLockResponse
40
+ # Unlock releases a pessimistic lock previously acquired by GetAndLock.
41
+ # Requires the CAS value returned by the locking operation.
24
42
  rpc :Unlock, ::Couchbase::Protostellar::Generated::KV::V1::UnlockRequest, ::Couchbase::Protostellar::Generated::KV::V1::UnlockResponse
43
+ # Touch resets a document's expiry without retrieving its content.
25
44
  rpc :Touch, ::Couchbase::Protostellar::Generated::KV::V1::TouchRequest, ::Couchbase::Protostellar::Generated::KV::V1::TouchResponse
45
+ # Exists checks whether a document exists without retrieving its content.
46
+ # Returns a boolean result and the current CAS.
26
47
  rpc :Exists, ::Couchbase::Protostellar::Generated::KV::V1::ExistsRequest, ::Couchbase::Protostellar::Generated::KV::V1::ExistsResponse
48
+ # Insert creates a new document. Fails if the document already exists.
49
+ # Supports durability requirements.
27
50
  rpc :Insert, ::Couchbase::Protostellar::Generated::KV::V1::InsertRequest, ::Couchbase::Protostellar::Generated::KV::V1::InsertResponse
51
+ # Upsert creates or replaces a document unconditionally.
52
+ # Supports preserving the existing expiry on update.
28
53
  rpc :Upsert, ::Couchbase::Protostellar::Generated::KV::V1::UpsertRequest, ::Couchbase::Protostellar::Generated::KV::V1::UpsertResponse
54
+ # Replace updates an existing document. Fails if the document does not exist.
55
+ # Supports optimistic locking via optional CAS.
29
56
  rpc :Replace, ::Couchbase::Protostellar::Generated::KV::V1::ReplaceRequest, ::Couchbase::Protostellar::Generated::KV::V1::ReplaceResponse
57
+ # Remove deletes a document. Supports optimistic locking via optional CAS
58
+ # and durability requirements.
30
59
  rpc :Remove, ::Couchbase::Protostellar::Generated::KV::V1::RemoveRequest, ::Couchbase::Protostellar::Generated::KV::V1::RemoveResponse
60
+ # Increment atomically increments a counter document by the specified delta.
61
+ # If the document does not exist and an initial value is provided, it is
62
+ # created with that value.
31
63
  rpc :Increment, ::Couchbase::Protostellar::Generated::KV::V1::IncrementRequest, ::Couchbase::Protostellar::Generated::KV::V1::IncrementResponse
64
+ # Decrement atomically decrements a counter document by the specified delta.
65
+ # If the document does not exist and an initial value is provided, it is
66
+ # created with that value.
32
67
  rpc :Decrement, ::Couchbase::Protostellar::Generated::KV::V1::DecrementRequest, ::Couchbase::Protostellar::Generated::KV::V1::DecrementResponse
68
+ # Append appends raw bytes to the end of an existing document's value.
33
69
  rpc :Append, ::Couchbase::Protostellar::Generated::KV::V1::AppendRequest, ::Couchbase::Protostellar::Generated::KV::V1::AppendResponse
70
+ # Prepend prepends raw bytes to the beginning of an existing document's
71
+ # value.
34
72
  rpc :Prepend, ::Couchbase::Protostellar::Generated::KV::V1::PrependRequest, ::Couchbase::Protostellar::Generated::KV::V1::PrependResponse
73
+ # LookupIn performs one or more sub-document lookup operations (get, exists,
74
+ # count) on paths within a JSON document. Supports xattr and access_deleted
75
+ # flags.
35
76
  rpc :LookupIn, ::Couchbase::Protostellar::Generated::KV::V1::LookupInRequest, ::Couchbase::Protostellar::Generated::KV::V1::LookupInResponse
77
+ # MutateIn performs one or more sub-document mutation operations on paths
78
+ # within a JSON document. Supports insert, upsert, replace, remove, array
79
+ # operations, and counters at the sub-document level.
36
80
  rpc :MutateIn, ::Couchbase::Protostellar::Generated::KV::V1::MutateInRequest, ::Couchbase::Protostellar::Generated::KV::V1::MutateInResponse
81
+ # GetAllReplicas returns the document from the active node and all replica
82
+ # nodes as a server-streamed response. Each response indicates whether it
83
+ # is from a replica via the is_replica flag.
37
84
  rpc :GetAllReplicas, ::Couchbase::Protostellar::Generated::KV::V1::GetAllReplicasRequest, stream(::Couchbase::Protostellar::Generated::KV::V1::GetAllReplicasResponse)
38
85
  end
39
86