couchbase 3.7.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/lib/active_support/cache/couchbase_store.rb +6 -6
  4. data/lib/couchbase/3.2/libcouchbase.so +0 -0
  5. data/lib/couchbase/3.3/libcouchbase.so +0 -0
  6. data/lib/couchbase/3.4/libcouchbase.so +0 -0
  7. data/lib/couchbase/{3.1 → 4.0}/libcouchbase.so +0 -0
  8. data/lib/couchbase/authenticator.rb +14 -0
  9. data/lib/couchbase/binary_collection.rb +37 -22
  10. data/lib/couchbase/bucket.rb +46 -31
  11. data/lib/couchbase/cluster.rb +146 -61
  12. data/lib/couchbase/collection.rb +257 -186
  13. data/lib/couchbase/datastructures/couchbase_list.rb +82 -50
  14. data/lib/couchbase/datastructures/couchbase_map.rb +87 -50
  15. data/lib/couchbase/datastructures/couchbase_queue.rb +65 -38
  16. data/lib/couchbase/datastructures/couchbase_set.rb +58 -41
  17. data/lib/couchbase/deprecations.rb +1 -1
  18. data/lib/couchbase/diagnostics.rb +8 -8
  19. data/lib/couchbase/errors.rb +7 -1
  20. data/lib/couchbase/json_transcoder.rb +1 -1
  21. data/lib/couchbase/libcouchbase.rb +1 -1
  22. data/lib/couchbase/management/analytics_index_manager.rb +90 -59
  23. data/lib/couchbase/management/bucket_manager.rb +73 -45
  24. data/lib/couchbase/management/collection_manager.rb +86 -43
  25. data/lib/couchbase/management/collection_query_index_manager.rb +56 -33
  26. data/lib/couchbase/management/query_index_manager.rb +88 -36
  27. data/lib/couchbase/management/scope_search_index_manager.rb +119 -52
  28. data/lib/couchbase/management/search_index_manager.rb +401 -178
  29. data/lib/couchbase/management/user_manager.rb +343 -174
  30. data/lib/couchbase/management/view_index_manager.rb +166 -73
  31. data/lib/couchbase/metrics/logging_meter.rb +108 -0
  32. data/lib/couchbase/metrics/logging_value_recorder.rb +50 -0
  33. data/lib/couchbase/metrics/meter.rb +27 -0
  34. data/lib/couchbase/metrics/noop_meter.rb +30 -0
  35. data/lib/couchbase/metrics/noop_value_recorder.rb +27 -0
  36. data/lib/couchbase/metrics/value_recorder.rb +25 -0
  37. data/lib/couchbase/options.rb +71 -5
  38. data/lib/couchbase/protostellar/client.rb +0 -2
  39. data/lib/couchbase/protostellar/cluster.rb +7 -0
  40. data/lib/couchbase/protostellar/generated/admin/analytics/v1/analytics_pb.rb +54 -0
  41. data/lib/couchbase/protostellar/generated/admin/analytics/v1/analytics_services_pb.rb +51 -0
  42. data/lib/couchbase/protostellar/generated/admin/bucket/v1/bucket_pb.rb +5 -24
  43. data/lib/couchbase/protostellar/generated/admin/bucket/v1/bucket_services_pb.rb +16 -0
  44. data/lib/couchbase/protostellar/generated/admin/collection/v1/collection_pb.rb +5 -24
  45. data/lib/couchbase/protostellar/generated/admin/collection/v1/collection_services_pb.rb +16 -0
  46. data/lib/couchbase/protostellar/generated/admin/query/v1/query_pb.rb +5 -24
  47. data/lib/couchbase/protostellar/generated/admin/query/v1/query_services_pb.rb +18 -0
  48. data/lib/couchbase/protostellar/generated/admin/search/v1/search_pb.rb +2 -23
  49. data/lib/couchbase/protostellar/generated/admin/search/v1/search_services_pb.rb +23 -0
  50. data/lib/couchbase/protostellar/generated/analytics/v1/analytics_pb.rb +4 -25
  51. data/lib/couchbase/protostellar/generated/analytics/v1/analytics_services_pb.rb +10 -0
  52. data/lib/couchbase/protostellar/generated/internal/hooks/v1/hooks_pb.rb +6 -25
  53. data/lib/couchbase/protostellar/generated/internal/hooks/v1/hooks_services_pb.rb +18 -0
  54. data/lib/couchbase/protostellar/generated/internal/xdcr/v1/xdcr_pb.rb +46 -0
  55. data/lib/couchbase/protostellar/generated/internal/xdcr/v1/xdcr_services_pb.rb +56 -0
  56. data/lib/couchbase/protostellar/generated/kv/v1/kv_pb.rb +3 -26
  57. data/lib/couchbase/protostellar/generated/kv/v1/kv_services_pb.rb +47 -0
  58. data/lib/couchbase/protostellar/generated/query/v1/query_pb.rb +4 -26
  59. data/lib/couchbase/protostellar/generated/query/v1/query_services_pb.rb +10 -0
  60. data/lib/couchbase/protostellar/generated/routing/v2/routing_pb.rb +26 -0
  61. data/lib/couchbase/protostellar/generated/routing/v2/routing_services_pb.rb +43 -0
  62. data/lib/couchbase/protostellar/generated/search/v1/search_pb.rb +5 -26
  63. data/lib/couchbase/protostellar/generated/search/v1/search_services_pb.rb +11 -0
  64. data/lib/couchbase/protostellar/generated/transactions/v1/transactions_pb.rb +2 -23
  65. data/lib/couchbase/protostellar/generated/transactions/v1/transactions_services_pb.rb +30 -0
  66. data/lib/couchbase/protostellar/generated/view/v1/view_pb.rb +2 -23
  67. data/lib/couchbase/protostellar/generated/view/v1/view_services_pb.rb +9 -0
  68. data/lib/couchbase/protostellar/request_generator/admin/collection.rb +4 -2
  69. data/lib/couchbase/protostellar/request_generator/admin/query.rb +2 -0
  70. data/lib/couchbase/protostellar/request_generator/kv.rb +1 -1
  71. data/lib/couchbase/protostellar/scope.rb +4 -0
  72. data/lib/couchbase/scope.rb +62 -48
  73. data/lib/couchbase/search_options.rb +18 -18
  74. data/lib/couchbase/tracing/noop_span.rb +29 -0
  75. data/lib/couchbase/tracing/noop_tracer.rb +29 -0
  76. data/lib/couchbase/tracing/request_span.rb +34 -0
  77. data/lib/couchbase/tracing/request_tracer.rb +28 -0
  78. data/lib/couchbase/tracing/threshold_logging_span.rb +112 -0
  79. data/lib/couchbase/tracing/threshold_logging_tracer.rb +231 -0
  80. data/lib/couchbase/utils/hdr_histogram.rb +55 -0
  81. data/lib/couchbase/utils/observability.rb +263 -0
  82. data/lib/couchbase/utils/observability_constants.rb +200 -0
  83. data/lib/couchbase/utils/stdlib_logger_adapter.rb +1 -3
  84. data/lib/couchbase/version.rb +1 -1
  85. data/lib/couchbase.rb +2 -2
  86. metadata +43 -10
  87. data/lib/couchbase/protostellar/generated/routing/v1/routing_pb.rb +0 -52
  88. data/lib/couchbase/protostellar/generated/routing/v1/routing_services_pb.rb +0 -30
@@ -107,7 +107,7 @@ module Couchbase
107
107
  # @api private
108
108
  # @return [Boolean]
109
109
  def need_projected_get?
110
- @with_expiry || !@projections&.empty?
110
+ @with_expiry || (!@projections.nil? && !@projections.empty?)
111
111
  end
112
112
 
113
113
  # @api private
@@ -116,7 +116,7 @@ module Couchbase
116
116
  timeout: Utils::Time.extract_duration(@timeout),
117
117
  }
118
118
  options.update(with_expiry: true) if @with_expiry
119
- unless @projections&.empty?
119
+ unless @projections.nil? || @projections.empty?
120
120
  options.update({
121
121
  projections: @projections,
122
122
  preserve_array_indexes: @preserve_array_indexes,
@@ -1672,7 +1672,7 @@ module Couchbase
1672
1672
  # @see .Cluster
1673
1673
  #
1674
1674
  class Cluster
1675
- attr_accessor :authenticator # @return [PasswordAuthenticator, CertificateAuthenticator]
1675
+ attr_accessor :authenticator # @return [PasswordAuthenticator, CertificateAuthenticator, JWTAuthenticator]
1676
1676
 
1677
1677
  attr_accessor :preferred_server_group # @return [String]
1678
1678
 
@@ -1706,6 +1706,13 @@ module Couchbase
1706
1706
  attr_accessor :config_idle_redial_timeout # @return [nil, Integer, #in_milliseconds]
1707
1707
  attr_accessor :idle_http_connection_timeout # @return [nil, Integer, #in_milliseconds]
1708
1708
 
1709
+ # @return [ApplicationTelemetry]
1710
+ # @!macro volatile
1711
+ attr_accessor :application_telemetry
1712
+
1713
+ attr_accessor :tracer # @return [nil, Tracing::RequestTracer]
1714
+ attr_accessor :meter # @return [nil, Metrics::Meter]
1715
+
1709
1716
  # Creates an instance of options for {Couchbase::Cluster.connect}
1710
1717
  #
1711
1718
  # @param [PasswordAuthenticator, CertificateAuthenticator] authenticator
@@ -1720,7 +1727,7 @@ module Couchbase
1720
1727
  # @see .Cluster
1721
1728
  #
1722
1729
  # @yieldparam [Cluster] self
1723
- def initialize(authenticator: nil,
1730
+ def initialize(authenticator: nil, # rubocop:disable Metrics/ParameterLists
1724
1731
  preferred_server_group: nil,
1725
1732
  enable_metrics: nil,
1726
1733
  metrics_emit_interval: nil,
@@ -1749,7 +1756,10 @@ module Couchbase
1749
1756
  config_poll_interval: nil,
1750
1757
  config_poll_floor: nil,
1751
1758
  config_idle_redial_timeout: nil,
1752
- idle_http_connection_timeout: nil)
1759
+ idle_http_connection_timeout: nil,
1760
+ tracer: nil,
1761
+ meter: nil,
1762
+ application_telemetry: ApplicationTelemetry.new)
1753
1763
  @authenticator = authenticator
1754
1764
  @preferred_server_group = preferred_server_group
1755
1765
  @enable_metrics = enable_metrics
@@ -1780,6 +1790,10 @@ module Couchbase
1780
1790
  @config_poll_floor = config_poll_floor
1781
1791
  @config_idle_redial_timeout = config_idle_redial_timeout
1782
1792
  @idle_http_connection_timeout = idle_http_connection_timeout
1793
+ @tracer = tracer
1794
+ @meter = meter
1795
+ @application_telemetry = application_telemetry
1796
+
1783
1797
  yield self if block_given?
1784
1798
  end
1785
1799
 
@@ -1826,8 +1840,60 @@ module Couchbase
1826
1840
  config_poll_floor: Utils::Time.extract_duration(@config_poll_floor),
1827
1841
  config_idle_redial_timeout: Utils::Time.extract_duration(@config_idle_redial_timeout),
1828
1842
  idle_http_connection_timeout: Utils::Time.extract_duration(@idle_http_connection_timeout),
1843
+ application_telemetry: @application_telemetry.to_backend,
1829
1844
  }
1830
1845
  end
1846
+
1847
+ # Application Telemetry Options for {Couchbase::Cluster.connect}. Part of {Couchbase::Options::Cluster}
1848
+ #
1849
+ # @see Options::Cluster#application_telemetry
1850
+ #
1851
+ # @!macro volatile
1852
+ class ApplicationTelemetry
1853
+ attr_accessor :enable # @return [nil, Boolean]
1854
+ attr_accessor :override_endpoint # @return [nil, String]
1855
+ attr_accessor :backoff # @return [nil, Integer, #in_milliseconds]
1856
+ attr_accessor :ping_interval # @return [nil, Integer, #in_milliseconds]
1857
+ attr_accessor :ping_timeout # @return [nil, Integer, #in_milliseconds]
1858
+
1859
+ # Creates an instance of app telemetry options for {Couchbase::Cluster.connect}.
1860
+ # Part of {Couchbase::Options::Cluster}.
1861
+ #
1862
+ # @param [nil, Boolean] enable whether to enable application telemetry capture.
1863
+ # Application telemetry is enabled by default.
1864
+ # @param [nil, String] override_endpoint overrides the default endpoint used for application service telemetry
1865
+ # The endpoint must use the WebSocket protocol and the string should start with `ws://`.
1866
+ # @param [nil, Integer, #in_milliseconds] backoff specifies the duration to wait between connection attempts
1867
+ # to an application telemetry endpoint
1868
+ # @param [nil, Integer, #in_milliseconds] ping_interval specifies how often the SDK should ping the application
1869
+ # service telemetry collector
1870
+ # @param [nil, Integer, #in_milliseconds] ping_timeout specifies how long the SDK should wait for a ping
1871
+ # response (pong) from the application service collector, before closing the connection and attempting to reconnect
1872
+ def initialize(enable: nil,
1873
+ override_endpoint: nil,
1874
+ backoff: nil,
1875
+ ping_interval: nil,
1876
+ ping_timeout: nil)
1877
+ @enable = enable
1878
+ @override_endpoint = override_endpoint
1879
+ @backoff = backoff
1880
+ @ping_interval = ping_interval
1881
+ @ping_timeout = ping_timeout
1882
+
1883
+ yield self if block_given?
1884
+ end
1885
+
1886
+ # @api private
1887
+ def to_backend
1888
+ {
1889
+ enable: @enable,
1890
+ override_endpoint: @override_endpoint,
1891
+ backoff: Utils::Time.extract_duration(@backoff),
1892
+ ping_interval: Utils::Time.extract_duration(@ping_interval),
1893
+ ping_timeout: Utils::Time.extract_duration(@ping_timeout),
1894
+ }
1895
+ end
1896
+ end
1831
1897
  end
1832
1898
 
1833
1899
  # Options for {Couchbase::Cluster#diagnostics}
@@ -16,7 +16,6 @@
16
16
 
17
17
  require_relative "error_handling"
18
18
 
19
- require_relative "generated/routing/v1/routing_services_pb"
20
19
  require_relative "generated/kv/v1/kv_services_pb"
21
20
  require_relative "generated/query/v1/query_services_pb"
22
21
  require_relative "generated/search/v1/search_services_pb"
@@ -37,7 +36,6 @@ module Couchbase
37
36
  @timeouts = timeouts
38
37
 
39
38
  @stubs = {
40
- routing: Generated::Routing::V1::RoutingService::Stub.new(host, credentials, channel_override: @channel),
41
39
  kv: Generated::KV::V1::KvService::Stub.new(host, credentials, channel_override: @channel),
42
40
  query: Generated::Query::V1::QueryService::Stub.new(host, credentials, channel_override: @channel),
43
41
  search: Generated::Search::V1::SearchService::Stub.new(host, credentials, channel_override: @channel),
@@ -79,6 +79,9 @@ module Couchbase
79
79
  when Couchbase::CertificateAuthenticator
80
80
  raise Couchbase::Error::FeatureNotAvailable,
81
81
  "The #{Couchbase::Protostellar::NAME} protocol does not support the CertificateAuthenticator"
82
+ when Couchbase::JWTAuthenticator
83
+ raise Couchbase::Error::FeatureNotAvailable,
84
+ "The #{Couchbase::Protostellar::NAME} protocol does not support the JWTAuthenticator"
82
85
  else
83
86
  raise ArgumentError, "options must have authenticator configured"
84
87
  end
@@ -152,6 +155,10 @@ module Couchbase
152
155
  raise Couchbase::Error::FeatureNotAvailable, "The #{Protostellar::NAME} protocol does not support ping"
153
156
  end
154
157
 
158
+ def search_indexes
159
+ raise Couchbase::Error::FeatureNotAvailable, "The #{Protostellar::NAME} protocol does not support search index management"
160
+ end
161
+
155
162
  private
156
163
 
157
164
  def initialize(host, options = ConnectOptions.new)
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: couchbase/admin/analytics/v1/analytics.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/protobuf/timestamp_pb'
8
+
9
+
10
+ descriptor_data = "\n,couchbase/admin/analytics/v1/analytics.proto\x12\x1c\x63ouchbase.admin.analytics.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x96\x0b\n\x11\x43reateLinkRequest\x12\x1c\n\x14\x61nalytics_scope_name\x18\x01 \x01(\t\x12\x11\n\tlink_name\x18\x02 \x01(\t\x12W\n\x0e\x63ouchbase_link\x18\x03 \x01(\x0b\x32=.couchbase.admin.analytics.v1.CreateLinkRequest.CouchbaseLinkH\x00\x12I\n\x07s3_link\x18\x04 \x01(\x0b\x32\x36.couchbase.admin.analytics.v1.CreateLinkRequest.S3LinkH\x00\x12W\n\x0e\x61zureblob_link\x18\x05 \x01(\x0b\x32=.couchbase.admin.analytics.v1.CreateLinkRequest.AzureBlobLinkH\x00\x12K\n\x08gcs_link\x18\x06 \x01(\x0b\x32\x37.couchbase.admin.analytics.v1.CreateLinkRequest.GcsLinkH\x00\x1a\xc3\x02\n\rCouchbaseLink\x12\x10\n\x08hostname\x18\x01 \x01(\t\x12N\n\x0f\x65ncryption_mode\x18\x02 \x01(\x0e\x32\x35.couchbase.admin.analytics.v1.CouchbaseEncryptionMode\x12\x15\n\x08username\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08password\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x63\x65rtificate\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1f\n\x12\x63lient_certificate\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x17\n\nclient_key\x18\x07 \x01(\tH\x04\x88\x01\x01\x42\x0b\n\t_usernameB\x0b\n\t_passwordB\x0e\n\x0c_certificateB\x15\n\x13_client_certificateB\r\n\x0b_client_key\x1a\xac\x01\n\x06S3Link\x12\x15\n\raccess_key_id\x18\x01 \x01(\t\x12\x19\n\x11secret_access_key\x18\x02 \x01(\t\x12\x1a\n\rsession_token\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x1d\n\x10service_endpoint\x18\x05 \x01(\tH\x01\x88\x01\x01\x42\x10\n\x0e_session_tokenB\x13\n\x11_service_endpoint\x1a\xc9\x03\n\rAzureBlobLink\x12\x19\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tH\x01\x88\x01\x01\x12$\n\x17shared_access_signature\x18\x03 \x01(\tH\x02\x88\x01\x01\x12 \n\x13managed_identity_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tclient_id\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x16\n\ttenant_id\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x1a\n\rclient_secret\x18\x07 \x01(\tH\x06\x88\x01\x01\x12(\n\x1b\x63lient_certificate_password\x18\x08 \x01(\tH\x07\x88\x01\x01\x12\x15\n\x08\x65ndpoint\x18\t \x01(\tH\x08\x88\x01\x01\x42\x0f\n\r_account_nameB\x0e\n\x0c_account_keyB\x1a\n\x18_shared_access_signatureB\x16\n\x14_managed_identity_idB\x0c\n\n_client_idB\x0c\n\n_tenant_idB\x10\n\x0e_client_secretB\x1e\n\x1c_client_certificate_passwordB\x0b\n\t_endpoint\x1a=\n\x07GcsLink\x12\x1d\n\x10json_credentials\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_json_credentialsB\x06\n\x04link\"\x14\n\x12\x43reateLinkResponse\"A\n\x0eGetLinkRequest\x12\x1c\n\x14\x61nalytics_scope_name\x18\x01 \x01(\t\x12\x11\n\tlink_name\x18\x02 \x01(\t\"\xe9\x07\n\x0fGetLinkResponse\x12U\n\x0e\x63ouchbase_link\x18\x01 \x01(\x0b\x32;.couchbase.admin.analytics.v1.GetLinkResponse.CouchbaseLinkH\x00\x12G\n\x07s3_link\x18\x02 \x01(\x0b\x32\x34.couchbase.admin.analytics.v1.GetLinkResponse.S3LinkH\x00\x12U\n\x0e\x61zureblob_link\x18\x03 \x01(\x0b\x32;.couchbase.admin.analytics.v1.GetLinkResponse.AzureBlobLinkH\x00\x12I\n\x08gcs_link\x18\x04 \x01(\x0b\x32\x35.couchbase.admin.analytics.v1.GetLinkResponse.GcsLinkH\x00\x1a\x86\x02\n\rCouchbaseLink\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x17\n\x0f\x61\x63tive_hostname\x18\x02 \x01(\t\x12\x1a\n\x12\x62ootstrap_hostname\x18\x03 \x01(\t\x12&\n\x1eis_bootstrap_alternate_address\x18\x04 \x01(\x08\x12\x18\n\x0b\x63\x65rtificate\x18\x05 \x01(\tH\x00\x88\x01\x01\x12N\n\x0f\x65ncryption_mode\x18\x06 \x01(\x0e\x32\x35.couchbase.admin.analytics.v1.CouchbaseEncryptionMode\x12\x10\n\x08username\x18\x07 \x01(\tB\x0e\n\x0c_certificate\x1a\x63\n\x06S3Link\x12\x15\n\raccess_key_id\x18\x01 \x01(\t\x12\x0e\n\x06region\x18\x02 \x01(\t\x12\x1d\n\x10service_endpoint\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_service_endpoint\x1a\xd3\x01\n\rAzureBlobLink\x12\x19\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tclient_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x10\n\x08\x65ndpoint\x18\x03 \x01(\t\x12 \n\x13managed_identity_id\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x16\n\ttenant_id\x18\x05 \x01(\tH\x03\x88\x01\x01\x42\x0f\n\r_account_nameB\x0c\n\n_client_idB\x16\n\x14_managed_identity_idB\x0c\n\n_tenant_id\x1aH\n\x07GcsLink\x12+\n#use_application_default_credentials\x18\x01 \x01(\x08\x12\x10\n\x08\x65ndpoint\x18\x02 \x01(\tB\x06\n\x04link\"\x96\x0b\n\x11UpdateLinkRequest\x12\x1c\n\x14\x61nalytics_scope_name\x18\x01 \x01(\t\x12\x11\n\tlink_name\x18\x02 \x01(\t\x12W\n\x0e\x63ouchbase_link\x18\x03 \x01(\x0b\x32=.couchbase.admin.analytics.v1.UpdateLinkRequest.CouchbaseLinkH\x00\x12I\n\x07s3_link\x18\x04 \x01(\x0b\x32\x36.couchbase.admin.analytics.v1.UpdateLinkRequest.S3LinkH\x00\x12W\n\x0e\x61zureblob_link\x18\x05 \x01(\x0b\x32=.couchbase.admin.analytics.v1.UpdateLinkRequest.AzureBlobLinkH\x00\x12K\n\x08gcs_link\x18\x06 \x01(\x0b\x32\x37.couchbase.admin.analytics.v1.UpdateLinkRequest.GcsLinkH\x00\x1a\xc3\x02\n\rCouchbaseLink\x12\x10\n\x08hostname\x18\x01 \x01(\t\x12N\n\x0f\x65ncryption_mode\x18\x02 \x01(\x0e\x32\x35.couchbase.admin.analytics.v1.CouchbaseEncryptionMode\x12\x15\n\x08username\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08password\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x63\x65rtificate\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1f\n\x12\x63lient_certificate\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x17\n\nclient_key\x18\x07 \x01(\tH\x04\x88\x01\x01\x42\x0b\n\t_usernameB\x0b\n\t_passwordB\x0e\n\x0c_certificateB\x15\n\x13_client_certificateB\r\n\x0b_client_key\x1a\xac\x01\n\x06S3Link\x12\x15\n\raccess_key_id\x18\x01 \x01(\t\x12\x19\n\x11secret_access_key\x18\x02 \x01(\t\x12\x1a\n\rsession_token\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0e\n\x06region\x18\x04 \x01(\t\x12\x1d\n\x10service_endpoint\x18\x05 \x01(\tH\x01\x88\x01\x01\x42\x10\n\x0e_session_tokenB\x13\n\x11_service_endpoint\x1a\xc9\x03\n\rAzureBlobLink\x12\x19\n\x0c\x61\x63\x63ount_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63\x63ount_key\x18\x02 \x01(\tH\x01\x88\x01\x01\x12$\n\x17shared_access_signature\x18\x03 \x01(\tH\x02\x88\x01\x01\x12 \n\x13managed_identity_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tclient_id\x18\x05 \x01(\tH\x04\x88\x01\x01\x12\x16\n\ttenant_id\x18\x06 \x01(\tH\x05\x88\x01\x01\x12\x1a\n\rclient_secret\x18\x07 \x01(\tH\x06\x88\x01\x01\x12(\n\x1b\x63lient_certificate_password\x18\x08 \x01(\tH\x07\x88\x01\x01\x12\x15\n\x08\x65ndpoint\x18\t \x01(\tH\x08\x88\x01\x01\x42\x0f\n\r_account_nameB\x0e\n\x0c_account_keyB\x1a\n\x18_shared_access_signatureB\x16\n\x14_managed_identity_idB\x0c\n\n_client_idB\x0c\n\n_tenant_idB\x10\n\x0e_client_secretB\x1e\n\x1c_client_certificate_passwordB\x0b\n\t_endpoint\x1a=\n\x07GcsLink\x12\x1d\n\x10json_credentials\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_json_credentialsB\x06\n\x04link\"\x14\n\x12UpdateLinkResponse\"D\n\x11\x44\x65leteLinkRequest\x12\x1c\n\x14\x61nalytics_scope_name\x18\x01 \x01(\t\x12\x11\n\tlink_name\x18\x02 \x01(\t\"\x14\n\x12\x44\x65leteLinkResponse\"\x1b\n\x19GetIngestionStatusRequest\"\x95\x06\n\x1aGetIngestionStatusResponse\x12L\n\x05links\x18\x01 \x03(\x0b\x32=.couchbase.admin.analytics.v1.GetIngestionStatusResponse.Link\x1a\xa8\x05\n\x04Link\x12\x11\n\tlink_name\x18\x01 \x01(\t\x12\x1c\n\x14\x61nalytics_scope_name\x18\x02 \x01(\t\x12\x38\n\x06status\x18\x03 \x01(\x0e\x32(.couchbase.admin.analytics.v1.LinkStatus\x12S\n\x06states\x18\x04 \x03(\x0b\x32\x43.couchbase.admin.analytics.v1.GetIngestionStatusResponse.Link.State\x1a\xdf\x03\n\x05State\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x10\n\x08progress\x18\x02 \x01(\x01\x12\x18\n\x0btime_lag_ms\x18\x03 \x01(\x03H\x00\x88\x01\x01\x12\x1c\n\x0fitems_processed\x18\x04 \x01(\x03H\x01\x88\x01\x01\x12\x1b\n\x0eseqno_advances\x18\x05 \x01(\x03H\x02\x88\x01\x01\x12Y\n\x06scopes\x18\x06 \x03(\x0b\x32I.couchbase.admin.analytics.v1.GetIngestionStatusResponse.Link.State.Scope\x1a\xad\x01\n\x05Scope\x12\x12\n\nscope_name\x18\x01 \x01(\t\x12i\n\x0b\x63ollections\x18\x02 \x03(\x0b\x32T.couchbase.admin.analytics.v1.GetIngestionStatusResponse.Link.State.Scope.Collection\x1a%\n\nCollection\x12\x17\n\x0f\x63ollection_name\x18\x01 \x01(\tB\x0e\n\x0c_time_lag_msB\x12\n\x10_items_processedB\x11\n\x0f_seqno_advances*\x8d\x01\n\nLinkStatus\x12\x17\n\x13LINK_STATUS_UNKNOWN\x10\x00\x12\x17\n\x13LINK_STATUS_HEALTHY\x10\x01\x12\x17\n\x13LINK_STATUS_STOPPED\x10\x02\x12\x19\n\x15LINK_STATUS_UNHEALTHY\x10\x03\x12\x19\n\x15LINK_STATUS_SUSPENDED\x10\x04*\x85\x01\n\x17\x43ouchbaseEncryptionMode\x12\"\n\x1e\x43OUCHBASE_ENCRYPTION_MODE_NONE\x10\x00\x12\"\n\x1e\x43OUCHBASE_ENCRYPTION_MODE_HALF\x10\x01\x12\"\n\x1e\x43OUCHBASE_ENCRYPTION_MODE_FULL\x10\x02\x32\xe6\x04\n\x15\x41nalyticsAdminService\x12q\n\nCreateLink\x12/.couchbase.admin.analytics.v1.CreateLinkRequest\x1a\x30.couchbase.admin.analytics.v1.CreateLinkResponse\"\x00\x12h\n\x07GetLink\x12,.couchbase.admin.analytics.v1.GetLinkRequest\x1a-.couchbase.admin.analytics.v1.GetLinkResponse\"\x00\x12q\n\nUpdateLink\x12/.couchbase.admin.analytics.v1.UpdateLinkRequest\x1a\x30.couchbase.admin.analytics.v1.UpdateLinkResponse\"\x00\x12q\n\nDeleteLink\x12/.couchbase.admin.analytics.v1.DeleteLinkRequest\x1a\x30.couchbase.admin.analytics.v1.DeleteLinkResponse\"\x00\x12\x89\x01\n\x12GetIngestionStatus\x12\x37.couchbase.admin.analytics.v1.GetIngestionStatusRequest\x1a\x38.couchbase.admin.analytics.v1.GetIngestionStatusResponse\"\x00\x42\xa9\x02\n4com.couchbase.client.protostellar.admin.analytics.v1P\x01ZRgithub.com/couchbase/goprotostellar/genproto/admin_analytics_v1;admin_analytics_v1\xaa\x02)Couchbase.Protostellar.Admin.Analytics.V1\xca\x02\x33\x43ouchbase\\Protostellar\\Generated\\Admin\\Analytics\\V1\xea\x02\x38\x43ouchbase::Protostellar::Generated::Admin::Analytics::V1b\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module Couchbase
16
+ module Protostellar
17
+ module Generated
18
+ module Admin
19
+ module Analytics
20
+ module V1
21
+ CreateLinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.CreateLinkRequest").msgclass
22
+ CreateLinkRequest::CouchbaseLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.CreateLinkRequest.CouchbaseLink").msgclass
23
+ CreateLinkRequest::S3Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.CreateLinkRequest.S3Link").msgclass
24
+ CreateLinkRequest::AzureBlobLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.CreateLinkRequest.AzureBlobLink").msgclass
25
+ CreateLinkRequest::GcsLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.CreateLinkRequest.GcsLink").msgclass
26
+ CreateLinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.CreateLinkResponse").msgclass
27
+ GetLinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetLinkRequest").msgclass
28
+ GetLinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetLinkResponse").msgclass
29
+ GetLinkResponse::CouchbaseLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetLinkResponse.CouchbaseLink").msgclass
30
+ GetLinkResponse::S3Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetLinkResponse.S3Link").msgclass
31
+ GetLinkResponse::AzureBlobLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetLinkResponse.AzureBlobLink").msgclass
32
+ GetLinkResponse::GcsLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetLinkResponse.GcsLink").msgclass
33
+ UpdateLinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.UpdateLinkRequest").msgclass
34
+ UpdateLinkRequest::CouchbaseLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.UpdateLinkRequest.CouchbaseLink").msgclass
35
+ UpdateLinkRequest::S3Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.UpdateLinkRequest.S3Link").msgclass
36
+ UpdateLinkRequest::AzureBlobLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.UpdateLinkRequest.AzureBlobLink").msgclass
37
+ UpdateLinkRequest::GcsLink = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.UpdateLinkRequest.GcsLink").msgclass
38
+ UpdateLinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.UpdateLinkResponse").msgclass
39
+ DeleteLinkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.DeleteLinkRequest").msgclass
40
+ DeleteLinkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.DeleteLinkResponse").msgclass
41
+ GetIngestionStatusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetIngestionStatusRequest").msgclass
42
+ GetIngestionStatusResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetIngestionStatusResponse").msgclass
43
+ GetIngestionStatusResponse::Link = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetIngestionStatusResponse.Link").msgclass
44
+ GetIngestionStatusResponse::Link::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetIngestionStatusResponse.Link.State").msgclass
45
+ GetIngestionStatusResponse::Link::State::Scope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetIngestionStatusResponse.Link.State.Scope").msgclass
46
+ GetIngestionStatusResponse::Link::State::Scope::Collection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.GetIngestionStatusResponse.Link.State.Scope.Collection").msgclass
47
+ LinkStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.LinkStatus").enummodule
48
+ CouchbaseEncryptionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.analytics.v1.CouchbaseEncryptionMode").enummodule
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,51 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: couchbase/admin/analytics/v1/analytics.proto for package 'Couchbase.Protostellar.Generated.Admin.Analytics.V1'
3
+ # Original file comments:
4
+ # Analytics Admin Service
5
+ #
6
+ # Provides analytics link lifecycle management and ingestion status
7
+ # monitoring. Analytics links connect the analytics service to external
8
+ # data sources (remote Couchbase clusters, S3, Azure Blob, GCS).
9
+
10
+ require 'grpc'
11
+ require 'couchbase/protostellar/generated/admin/analytics/v1/analytics_pb'
12
+
13
+ module Couchbase
14
+ module Protostellar
15
+ module Generated
16
+ module Admin
17
+ module Analytics
18
+ module V1
19
+ module AnalyticsAdminService
20
+ # AnalyticsAdminService provides CRUD for analytics links and
21
+ # ingestion status monitoring.
22
+ class Service
23
+
24
+ include ::GRPC::GenericService
25
+
26
+ self.marshal_class_method = :encode
27
+ self.unmarshal_class_method = :decode
28
+ self.service_name = 'couchbase.admin.analytics.v1.AnalyticsAdminService'
29
+
30
+ # CreateLink creates a new analytics link.
31
+ rpc :CreateLink, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::CreateLinkRequest, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::CreateLinkResponse
32
+ # GetLink retrieves an analytics link's configuration.
33
+ # Sensitive fields (passwords, secret keys) are omitted from the response.
34
+ rpc :GetLink, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::GetLinkRequest, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::GetLinkResponse
35
+ # UpdateLink updates an existing analytics link's configuration.
36
+ rpc :UpdateLink, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::UpdateLinkRequest, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::UpdateLinkResponse
37
+ # DeleteLink removes an analytics link.
38
+ rpc :DeleteLink, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::DeleteLinkRequest, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::DeleteLinkResponse
39
+ # GetIngestionStatus returns the current ingestion status for all links,
40
+ # including progress, time lag, and scope/collection details.
41
+ rpc :GetIngestionStatus, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::GetIngestionStatusRequest, ::Couchbase::Protostellar::Generated::Admin::Analytics::V1::GetIngestionStatusResponse
42
+ end
43
+
44
+ Stub = Service.rpc_stub_class
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -7,31 +7,10 @@ require 'google/protobuf'
7
7
  require 'couchbase/protostellar/generated/kv/v1/kv_pb'
8
8
 
9
9
 
10
- descriptor_data = "\n&couchbase/admin/bucket/v1/bucket.proto\x12\x19\x63ouchbase.admin.bucket.v1\x1a\x18\x63ouchbase/kv/v1/kv.proto\"\x14\n\x12ListBucketsRequest\"\xcc\x05\n\x13ListBucketsResponse\x12\x46\n\x07\x62uckets\x18\x01 \x03(\x0b\x32\x35.couchbase.admin.bucket.v1.ListBucketsResponse.Bucket\x1a\xec\x04\n\x06\x42ucket\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x15\n\rflush_enabled\x18\x02 \x01(\x08\x12\x14\n\x0cram_quota_mb\x18\x03 \x01(\x04\x12\x14\n\x0cnum_replicas\x18\x04 \x01(\r\x12\x17\n\x0freplica_indexes\x18\x05 \x01(\x08\x12:\n\x0b\x62ucket_type\x18\x06 \x01(\x0e\x32%.couchbase.admin.bucket.v1.BucketType\x12>\n\reviction_mode\x18\x07 \x01(\x0e\x32\'.couchbase.admin.bucket.v1.EvictionMode\x12\x17\n\x0fmax_expiry_secs\x18\x08 \x01(\r\x12\x44\n\x10\x63ompression_mode\x18\t \x01(\x0e\x32*.couchbase.admin.bucket.v1.CompressionMode\x12G\n\x18minimum_durability_level\x18\n \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x00\x88\x01\x01\x12G\n\x0fstorage_backend\x18\x0b \x01(\x0e\x32).couchbase.admin.bucket.v1.StorageBackendH\x01\x88\x01\x01\x12S\n\x18\x63onflict_resolution_type\x18\x0c \x01(\x0e\x32\x31.couchbase.admin.bucket.v1.ConflictResolutionTypeB\x1b\n\x19_minimum_durability_levelB\x12\n\x10_storage_backend\"\xc1\x06\n\x13\x43reateBucketRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12:\n\x0b\x62ucket_type\x18\x02 \x01(\x0e\x32%.couchbase.admin.bucket.v1.BucketType\x12\x19\n\x0cram_quota_mb\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0cnum_replicas\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rflush_enabled\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x1c\n\x0freplica_indexes\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x43\n\reviction_mode\x18\x07 \x01(\x0e\x32\'.couchbase.admin.bucket.v1.EvictionModeH\x04\x88\x01\x01\x12\x1c\n\x0fmax_expiry_secs\x18\x08 \x01(\rH\x05\x88\x01\x01\x12I\n\x10\x63ompression_mode\x18\t \x01(\x0e\x32*.couchbase.admin.bucket.v1.CompressionModeH\x06\x88\x01\x01\x12G\n\x18minimum_durability_level\x18\n \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x07\x88\x01\x01\x12G\n\x0fstorage_backend\x18\x0b \x01(\x0e\x32).couchbase.admin.bucket.v1.StorageBackendH\x08\x88\x01\x01\x12X\n\x18\x63onflict_resolution_type\x18\x0c \x01(\x0e\x32\x31.couchbase.admin.bucket.v1.ConflictResolutionTypeH\t\x88\x01\x01\x42\x0f\n\r_ram_quota_mbB\x0f\n\r_num_replicasB\x10\n\x0e_flush_enabledB\x12\n\x10_replica_indexesB\x10\n\x0e_eviction_modeB\x12\n\x10_max_expiry_secsB\x13\n\x11_compression_modeB\x1b\n\x19_minimum_durability_levelB\x12\n\x10_storage_backendB\x1b\n\x19_conflict_resolution_type\"+\n\x14\x43reateBucketResponse\x12\x13\n\x0b\x62ucket_uuid\x18\x01 \x01(\t\"\xff\x03\n\x13UpdateBucketRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x19\n\x0cram_quota_mb\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0cnum_replicas\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rflush_enabled\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x43\n\reviction_mode\x18\x05 \x01(\x0e\x32\'.couchbase.admin.bucket.v1.EvictionModeH\x03\x88\x01\x01\x12\x1c\n\x0fmax_expiry_secs\x18\x06 \x01(\rH\x04\x88\x01\x01\x12I\n\x10\x63ompression_mode\x18\x07 \x01(\x0e\x32*.couchbase.admin.bucket.v1.CompressionModeH\x05\x88\x01\x01\x12G\n\x18minimum_durability_level\x18\x08 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x06\x88\x01\x01\x42\x0f\n\r_ram_quota_mbB\x0f\n\r_num_replicasB\x10\n\x0e_flush_enabledB\x10\n\x0e_eviction_modeB\x12\n\x10_max_expiry_secsB\x13\n\x11_compression_modeB\x1b\n\x19_minimum_durability_level\"\x16\n\x14UpdateBucketResponse\"*\n\x13\x44\x65leteBucketRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\"\x16\n\x14\x44\x65leteBucketResponse*B\n\nBucketType\x12\x19\n\x15\x42UCKET_TYPE_COUCHBASE\x10\x00\x12\x19\n\x15\x42UCKET_TYPE_EPHEMERAL\x10\x01*\x81\x01\n\x0c\x45victionMode\x12\x16\n\x12\x45VICTION_MODE_FULL\x10\x00\x12#\n\x1f\x45VICTION_MODE_NOT_RECENTLY_USED\x10\x01\x12\x1c\n\x18\x45VICTION_MODE_VALUE_ONLY\x10\x02\x12\x16\n\x12\x45VICTION_MODE_NONE\x10\x03*f\n\x0f\x43ompressionMode\x12\x18\n\x14\x43OMPRESSION_MODE_OFF\x10\x00\x12\x1c\n\x18\x43OMPRESSION_MODE_PASSIVE\x10\x01\x12\x1b\n\x17\x43OMPRESSION_MODE_ACTIVE\x10\x02*K\n\x0eStorageBackend\x12\x1e\n\x1aSTORAGE_BACKEND_COUCHSTORE\x10\x00\x12\x19\n\x15STORAGE_BACKEND_MAGMA\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\x32\xdd\x03\n\x12\x42ucketAdminService\x12n\n\x0bListBuckets\x12-.couchbase.admin.bucket.v1.ListBucketsRequest\x1a..couchbase.admin.bucket.v1.ListBucketsResponse\"\x00\x12q\n\x0c\x43reateBucket\x12..couchbase.admin.bucket.v1.CreateBucketRequest\x1a/.couchbase.admin.bucket.v1.CreateBucketResponse\"\x00\x12q\n\x0cUpdateBucket\x12..couchbase.admin.bucket.v1.UpdateBucketRequest\x1a/.couchbase.admin.bucket.v1.UpdateBucketResponse\"\x00\x12q\n\x0c\x44\x65leteBucket\x12..couchbase.admin.bucket.v1.DeleteBucketRequest\x1a/.couchbase.admin.bucket.v1.DeleteBucketResponse\"\x00\x42\x97\x02\n1com.couchbase.client.protostellar.admin.bucket.v1P\x01ZLgithub.com/couchbase/goprotostellar/genproto/admin_bucket_v1;admin_bucket_v1\xaa\x02&Couchbase.Protostellar.Admin.Bucket.V1\xca\x02\x30\x43ouchbase\\Protostellar\\Generated\\Admin\\Bucket\\V1\xea\x02\x35\x43ouchbase::Protostellar::Generated::Admin::Bucket::V1b\x06proto3"
10
+ descriptor_data = "\n&couchbase/admin/bucket/v1/bucket.proto\x12\x19\x63ouchbase.admin.bucket.v1\x1a\x18\x63ouchbase/kv/v1/kv.proto\"\x14\n\x12ListBucketsRequest\"\xbc\x07\n\x13ListBucketsResponse\x12\x46\n\x07\x62uckets\x18\x01 \x03(\x0b\x32\x35.couchbase.admin.bucket.v1.ListBucketsResponse.Bucket\x1a\xdc\x06\n\x06\x42ucket\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x15\n\rflush_enabled\x18\x02 \x01(\x08\x12\x14\n\x0cram_quota_mb\x18\x03 \x01(\x04\x12\x14\n\x0cnum_replicas\x18\x04 \x01(\r\x12\x17\n\x0freplica_indexes\x18\x05 \x01(\x08\x12:\n\x0b\x62ucket_type\x18\x06 \x01(\x0e\x32%.couchbase.admin.bucket.v1.BucketType\x12>\n\reviction_mode\x18\x07 \x01(\x0e\x32\'.couchbase.admin.bucket.v1.EvictionMode\x12\x17\n\x0fmax_expiry_secs\x18\x08 \x01(\r\x12\x44\n\x10\x63ompression_mode\x18\t \x01(\x0e\x32*.couchbase.admin.bucket.v1.CompressionMode\x12G\n\x18minimum_durability_level\x18\n \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x00\x88\x01\x01\x12G\n\x0fstorage_backend\x18\x0b \x01(\x0e\x32).couchbase.admin.bucket.v1.StorageBackendH\x01\x88\x01\x01\x12S\n\x18\x63onflict_resolution_type\x18\x0c \x01(\x0e\x32\x31.couchbase.admin.bucket.v1.ConflictResolutionType\x12\x31\n$history_retention_collection_default\x18\r \x01(\x08H\x02\x88\x01\x01\x12$\n\x17history_retention_bytes\x18\x0e \x01(\x04H\x03\x88\x01\x01\x12,\n\x1fhistory_retention_duration_secs\x18\x0f \x01(\rH\x04\x88\x01\x01\x42\x1b\n\x19_minimum_durability_levelB\x12\n\x10_storage_backendB\'\n%_history_retention_collection_defaultB\x1a\n\x18_history_retention_bytesB\"\n _history_retention_duration_secs\"\xb1\x08\n\x13\x43reateBucketRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12:\n\x0b\x62ucket_type\x18\x02 \x01(\x0e\x32%.couchbase.admin.bucket.v1.BucketType\x12\x19\n\x0cram_quota_mb\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0cnum_replicas\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rflush_enabled\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x1c\n\x0freplica_indexes\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x43\n\reviction_mode\x18\x07 \x01(\x0e\x32\'.couchbase.admin.bucket.v1.EvictionModeH\x04\x88\x01\x01\x12\x1c\n\x0fmax_expiry_secs\x18\x08 \x01(\rH\x05\x88\x01\x01\x12I\n\x10\x63ompression_mode\x18\t \x01(\x0e\x32*.couchbase.admin.bucket.v1.CompressionModeH\x06\x88\x01\x01\x12G\n\x18minimum_durability_level\x18\n \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x07\x88\x01\x01\x12G\n\x0fstorage_backend\x18\x0b \x01(\x0e\x32).couchbase.admin.bucket.v1.StorageBackendH\x08\x88\x01\x01\x12X\n\x18\x63onflict_resolution_type\x18\x0c \x01(\x0e\x32\x31.couchbase.admin.bucket.v1.ConflictResolutionTypeH\t\x88\x01\x01\x12\x31\n$history_retention_collection_default\x18\r \x01(\x08H\n\x88\x01\x01\x12$\n\x17history_retention_bytes\x18\x0e \x01(\x04H\x0b\x88\x01\x01\x12,\n\x1fhistory_retention_duration_secs\x18\x0f \x01(\rH\x0c\x88\x01\x01\x42\x0f\n\r_ram_quota_mbB\x0f\n\r_num_replicasB\x10\n\x0e_flush_enabledB\x12\n\x10_replica_indexesB\x10\n\x0e_eviction_modeB\x12\n\x10_max_expiry_secsB\x13\n\x11_compression_modeB\x1b\n\x19_minimum_durability_levelB\x12\n\x10_storage_backendB\x1b\n\x19_conflict_resolution_typeB\'\n%_history_retention_collection_defaultB\x1a\n\x18_history_retention_bytesB\"\n _history_retention_duration_secs\"+\n\x14\x43reateBucketResponse\x12\x13\n\x0b\x62ucket_uuid\x18\x01 \x01(\t\"\xef\x05\n\x13UpdateBucketRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x19\n\x0cram_quota_mb\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x19\n\x0cnum_replicas\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rflush_enabled\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x43\n\reviction_mode\x18\x05 \x01(\x0e\x32\'.couchbase.admin.bucket.v1.EvictionModeH\x03\x88\x01\x01\x12\x1c\n\x0fmax_expiry_secs\x18\x06 \x01(\rH\x04\x88\x01\x01\x12I\n\x10\x63ompression_mode\x18\x07 \x01(\x0e\x32*.couchbase.admin.bucket.v1.CompressionModeH\x05\x88\x01\x01\x12G\n\x18minimum_durability_level\x18\x08 \x01(\x0e\x32 .couchbase.kv.v1.DurabilityLevelH\x06\x88\x01\x01\x12\x31\n$history_retention_collection_default\x18\n \x01(\x08H\x07\x88\x01\x01\x12$\n\x17history_retention_bytes\x18\x0b \x01(\x04H\x08\x88\x01\x01\x12,\n\x1fhistory_retention_duration_secs\x18\x0c \x01(\rH\t\x88\x01\x01\x42\x0f\n\r_ram_quota_mbB\x0f\n\r_num_replicasB\x10\n\x0e_flush_enabledB\x10\n\x0e_eviction_modeB\x12\n\x10_max_expiry_secsB\x13\n\x11_compression_modeB\x1b\n\x19_minimum_durability_levelB\'\n%_history_retention_collection_defaultB\x1a\n\x18_history_retention_bytesB\"\n _history_retention_duration_secs\"\x16\n\x14UpdateBucketResponse\"*\n\x13\x44\x65leteBucketRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\"\x16\n\x14\x44\x65leteBucketResponse\")\n\x12\x46lushBucketRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\"\x15\n\x13\x46lushBucketResponse*B\n\nBucketType\x12\x19\n\x15\x42UCKET_TYPE_COUCHBASE\x10\x00\x12\x19\n\x15\x42UCKET_TYPE_EPHEMERAL\x10\x01*\x81\x01\n\x0c\x45victionMode\x12\x16\n\x12\x45VICTION_MODE_FULL\x10\x00\x12#\n\x1f\x45VICTION_MODE_NOT_RECENTLY_USED\x10\x01\x12\x1c\n\x18\x45VICTION_MODE_VALUE_ONLY\x10\x02\x12\x16\n\x12\x45VICTION_MODE_NONE\x10\x03*f\n\x0f\x43ompressionMode\x12\x18\n\x14\x43OMPRESSION_MODE_OFF\x10\x00\x12\x1c\n\x18\x43OMPRESSION_MODE_PASSIVE\x10\x01\x12\x1b\n\x17\x43OMPRESSION_MODE_ACTIVE\x10\x02*K\n\x0eStorageBackend\x12\x1e\n\x1aSTORAGE_BACKEND_COUCHSTORE\x10\x00\x12\x19\n\x15STORAGE_BACKEND_MAGMA\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\x32\xcd\x04\n\x12\x42ucketAdminService\x12n\n\x0bListBuckets\x12-.couchbase.admin.bucket.v1.ListBucketsRequest\x1a..couchbase.admin.bucket.v1.ListBucketsResponse\"\x00\x12q\n\x0c\x43reateBucket\x12..couchbase.admin.bucket.v1.CreateBucketRequest\x1a/.couchbase.admin.bucket.v1.CreateBucketResponse\"\x00\x12q\n\x0cUpdateBucket\x12..couchbase.admin.bucket.v1.UpdateBucketRequest\x1a/.couchbase.admin.bucket.v1.UpdateBucketResponse\"\x00\x12q\n\x0c\x44\x65leteBucket\x12..couchbase.admin.bucket.v1.DeleteBucketRequest\x1a/.couchbase.admin.bucket.v1.DeleteBucketResponse\"\x00\x12n\n\x0b\x46lushBucket\x12-.couchbase.admin.bucket.v1.FlushBucketRequest\x1a..couchbase.admin.bucket.v1.FlushBucketResponse\"\x00\x42\x97\x02\n1com.couchbase.client.protostellar.admin.bucket.v1P\x01ZLgithub.com/couchbase/goprotostellar/genproto/admin_bucket_v1;admin_bucket_v1\xaa\x02&Couchbase.Protostellar.Admin.Bucket.V1\xca\x02\x30\x43ouchbase\\Protostellar\\Generated\\Admin\\Bucket\\V1\xea\x02\x35\x43ouchbase::Protostellar::Generated::Admin::Bucket::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
- ]
26
- imports.each do |type_name, expected_filename|
27
- import_file = pool.lookup(type_name).file_descriptor
28
- if import_file.name != expected_filename
29
- warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
30
- end
31
- end
32
- warn "Each proto file must use a consistent fully-qualified name."
33
- warn "This will become an error in the next major version."
34
- end
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
35
14
 
36
15
  module Couchbase
37
16
  module Protostellar
@@ -48,6 +27,8 @@ module Couchbase
48
27
  UpdateBucketResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.bucket.v1.UpdateBucketResponse").msgclass
49
28
  DeleteBucketRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.bucket.v1.DeleteBucketRequest").msgclass
50
29
  DeleteBucketResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.bucket.v1.DeleteBucketResponse").msgclass
30
+ FlushBucketRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.bucket.v1.FlushBucketRequest").msgclass
31
+ FlushBucketResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.bucket.v1.FlushBucketResponse").msgclass
51
32
  BucketType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.bucket.v1.BucketType").enummodule
52
33
  EvictionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.bucket.v1.EvictionMode").enummodule
53
34
  CompressionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.bucket.v1.CompressionMode").enummodule
@@ -1,5 +1,12 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: couchbase/admin/bucket/v1/bucket.proto for package 'Couchbase.Protostellar.Generated.Admin.Bucket.V1'
3
+ # Original file comments:
4
+ # Bucket Admin Service
5
+ #
6
+ # Provides bucket lifecycle management for a Couchbase cluster, including
7
+ # creating, updating, deleting, listing, and flushing buckets. Bucket
8
+ # configuration includes type, memory quota, replicas, eviction, compression,
9
+ # storage backend, conflict resolution, and history retention settings.
3
10
 
4
11
  require 'grpc'
5
12
  require 'couchbase/protostellar/generated/admin/bucket/v1/bucket_pb'
@@ -11,6 +18,7 @@ module Couchbase
11
18
  module Bucket
12
19
  module V1
13
20
  module BucketAdminService
21
+ # BucketAdminService provides CRUD operations for Couchbase buckets.
14
22
  class Service
15
23
 
16
24
  include ::GRPC::GenericService
@@ -19,10 +27,18 @@ module Couchbase
19
27
  self.unmarshal_class_method = :decode
20
28
  self.service_name = 'couchbase.admin.bucket.v1.BucketAdminService'
21
29
 
30
+ # ListBuckets returns all buckets in the cluster with their configurations.
22
31
  rpc :ListBuckets, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::ListBucketsRequest, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::ListBucketsResponse
32
+ # CreateBucket creates a new bucket with the specified configuration.
23
33
  rpc :CreateBucket, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::CreateBucketRequest, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::CreateBucketResponse
34
+ # UpdateBucket modifies the configuration of an existing bucket.
35
+ # Only mutable properties can be changed (e.g., ram_quota, replicas).
24
36
  rpc :UpdateBucket, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::UpdateBucketRequest, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::UpdateBucketResponse
37
+ # DeleteBucket permanently removes a bucket and all its data.
25
38
  rpc :DeleteBucket, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::DeleteBucketRequest, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::DeleteBucketResponse
39
+ # FlushBucket removes all documents from a bucket while preserving its
40
+ # configuration. Requires flush_enabled to be true on the bucket.
41
+ rpc :FlushBucket, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::FlushBucketRequest, ::Couchbase::Protostellar::Generated::Admin::Bucket::V1::FlushBucketResponse
26
42
  end
27
43
 
28
44
  Stub = Service.rpc_stub_class
@@ -5,31 +5,10 @@
5
5
  require 'google/protobuf'
6
6
 
7
7
 
8
- descriptor_data = "\n.couchbase/admin/collection/v1/collection.proto\x12\x1d\x63ouchbase.admin.collection.v1\"-\n\x16ListCollectionsRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\"\xa4\x02\n\x17ListCollectionsResponse\x12L\n\x06scopes\x18\x01 \x03(\x0b\x32<.couchbase.admin.collection.v1.ListCollectionsResponse.Scope\x1aL\n\nCollection\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1c\n\x0fmax_expiry_secs\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\x12\n\x10_max_expiry_secs\x1am\n\x05Scope\x12\x0c\n\x04name\x18\x01 \x01(\t\x12V\n\x0b\x63ollections\x18\x02 \x03(\x0b\x32\x41.couchbase.admin.collection.v1.ListCollectionsResponse.Collection\"=\n\x12\x43reateScopeRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\"\x15\n\x13\x43reateScopeResponse\"=\n\x12\x44\x65leteScopeRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\"\x15\n\x13\x44\x65leteScopeResponse\"\x8d\x01\n\x17\x43reateCollectionRequest\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\x1c\n\x0fmax_expiry_secs\x18\x04 \x01(\rH\x00\x88\x01\x01\x42\x12\n\x10_max_expiry_secs\"\x1a\n\x18\x43reateCollectionResponse\"[\n\x17\x44\x65leteCollectionRequest\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\"\x1a\n\x18\x44\x65leteCollectionResponse2\x9d\x05\n\x16\x43ollectionAdminService\x12\x82\x01\n\x0fListCollections\x12\x35.couchbase.admin.collection.v1.ListCollectionsRequest\x1a\x36.couchbase.admin.collection.v1.ListCollectionsResponse\"\x00\x12v\n\x0b\x43reateScope\x12\x31.couchbase.admin.collection.v1.CreateScopeRequest\x1a\x32.couchbase.admin.collection.v1.CreateScopeResponse\"\x00\x12v\n\x0b\x44\x65leteScope\x12\x31.couchbase.admin.collection.v1.DeleteScopeRequest\x1a\x32.couchbase.admin.collection.v1.DeleteScopeResponse\"\x00\x12\x85\x01\n\x10\x43reateCollection\x12\x36.couchbase.admin.collection.v1.CreateCollectionRequest\x1a\x37.couchbase.admin.collection.v1.CreateCollectionResponse\"\x00\x12\x85\x01\n\x10\x44\x65leteCollection\x12\x36.couchbase.admin.collection.v1.DeleteCollectionRequest\x1a\x37.couchbase.admin.collection.v1.DeleteCollectionResponse\"\x00\x42\xaf\x02\n5com.couchbase.client.protostellar.admin.collection.v1P\x01ZTgithub.com/couchbase/goprotostellar/genproto/admin_collection_v1;admin_collection_v1\xaa\x02*Couchbase.Protostellar.Admin.Collection.V1\xca\x02\x34\x43ouchbase\\Protostellar\\Generated\\Admin\\Collection\\V1\xea\x02\x39\x43ouchbase::Protostellar::Generated::Admin::Collection::V1b\x06proto3"
8
+ descriptor_data = "\n.couchbase/admin/collection/v1/collection.proto\x12\x1d\x63ouchbase.admin.collection.v1\"-\n\x16ListCollectionsRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\"\x81\x03\n\x17ListCollectionsResponse\x12L\n\x06scopes\x18\x01 \x03(\x0b\x32<.couchbase.admin.collection.v1.ListCollectionsResponse.Scope\x12\x14\n\x0cmanifest_uid\x18\x02 \x01(\x04\x1a\x92\x01\n\nCollection\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1c\n\x0fmax_expiry_secs\x18\x02 \x01(\rH\x00\x88\x01\x01\x12&\n\x19history_retention_enabled\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_max_expiry_secsB\x1c\n\x1a_history_retention_enabled\x1am\n\x05Scope\x12\x0c\n\x04name\x18\x01 \x01(\t\x12V\n\x0b\x63ollections\x18\x02 \x03(\x0b\x32\x41.couchbase.admin.collection.v1.ListCollectionsResponse.Collection\"=\n\x12\x43reateScopeRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\"+\n\x13\x43reateScopeResponse\x12\x14\n\x0cmanifest_uid\x18\x01 \x01(\x04\"=\n\x12\x44\x65leteScopeRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x12\n\nscope_name\x18\x02 \x01(\t\"+\n\x13\x44\x65leteScopeResponse\x12\x14\n\x0cmanifest_uid\x18\x01 \x01(\x04\"\xd3\x01\n\x17\x43reateCollectionRequest\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\x1c\n\x0fmax_expiry_secs\x18\x04 \x01(\rH\x00\x88\x01\x01\x12&\n\x19history_retention_enabled\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_max_expiry_secsB\x1c\n\x1a_history_retention_enabled\"0\n\x18\x43reateCollectionResponse\x12\x14\n\x0cmanifest_uid\x18\x01 \x01(\x04\"\xd3\x01\n\x17UpdateCollectionRequest\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\x1c\n\x0fmax_expiry_secs\x18\x04 \x01(\rH\x00\x88\x01\x01\x12&\n\x19history_retention_enabled\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x12\n\x10_max_expiry_secsB\x1c\n\x1a_history_retention_enabled\"0\n\x18UpdateCollectionResponse\x12\x14\n\x0cmanifest_uid\x18\x01 \x01(\x04\"[\n\x17\x44\x65leteCollectionRequest\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\"0\n\x18\x44\x65leteCollectionResponse\x12\x14\n\x0cmanifest_uid\x18\x01 \x01(\x04\x32\xa5\x06\n\x16\x43ollectionAdminService\x12\x82\x01\n\x0fListCollections\x12\x35.couchbase.admin.collection.v1.ListCollectionsRequest\x1a\x36.couchbase.admin.collection.v1.ListCollectionsResponse\"\x00\x12v\n\x0b\x43reateScope\x12\x31.couchbase.admin.collection.v1.CreateScopeRequest\x1a\x32.couchbase.admin.collection.v1.CreateScopeResponse\"\x00\x12v\n\x0b\x44\x65leteScope\x12\x31.couchbase.admin.collection.v1.DeleteScopeRequest\x1a\x32.couchbase.admin.collection.v1.DeleteScopeResponse\"\x00\x12\x85\x01\n\x10\x43reateCollection\x12\x36.couchbase.admin.collection.v1.CreateCollectionRequest\x1a\x37.couchbase.admin.collection.v1.CreateCollectionResponse\"\x00\x12\x85\x01\n\x10UpdateCollection\x12\x36.couchbase.admin.collection.v1.UpdateCollectionRequest\x1a\x37.couchbase.admin.collection.v1.UpdateCollectionResponse\"\x00\x12\x85\x01\n\x10\x44\x65leteCollection\x12\x36.couchbase.admin.collection.v1.DeleteCollectionRequest\x1a\x37.couchbase.admin.collection.v1.DeleteCollectionResponse\"\x00\x42\xaf\x02\n5com.couchbase.client.protostellar.admin.collection.v1P\x01ZTgithub.com/couchbase/goprotostellar/genproto/admin_collection_v1;admin_collection_v1\xaa\x02*Couchbase.Protostellar.Admin.Collection.V1\xca\x02\x34\x43ouchbase\\Protostellar\\Generated\\Admin\\Collection\\V1\xea\x02\x39\x43ouchbase::Protostellar::Generated::Admin::Collection::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
@@ -47,6 +26,8 @@ module Couchbase
47
26
  DeleteScopeResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.collection.v1.DeleteScopeResponse").msgclass
48
27
  CreateCollectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.collection.v1.CreateCollectionRequest").msgclass
49
28
  CreateCollectionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.collection.v1.CreateCollectionResponse").msgclass
29
+ UpdateCollectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.collection.v1.UpdateCollectionRequest").msgclass
30
+ UpdateCollectionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.collection.v1.UpdateCollectionResponse").msgclass
50
31
  DeleteCollectionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.collection.v1.DeleteCollectionRequest").msgclass
51
32
  DeleteCollectionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.collection.v1.DeleteCollectionResponse").msgclass
52
33
  end
@@ -1,5 +1,12 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: couchbase/admin/collection/v1/collection.proto for package 'Couchbase.Protostellar.Generated.Admin.Collection.V1'
3
+ # Original file comments:
4
+ # Collection Admin Service
5
+ #
6
+ # Provides scope and collection lifecycle management within a Couchbase
7
+ # bucket. Scopes provide a logical grouping of collections (similar to
8
+ # schemas in SQL databases). Each mutation returns a manifest_uid that
9
+ # tracks the version of the scope/collection configuration.
3
10
 
4
11
  require 'grpc'
5
12
  require 'couchbase/protostellar/generated/admin/collection/v1/collection_pb'
@@ -11,6 +18,7 @@ module Couchbase
11
18
  module Collection
12
19
  module V1
13
20
  module CollectionAdminService
21
+ # CollectionAdminService provides CRUD for scopes and collections.
14
22
  class Service
15
23
 
16
24
  include ::GRPC::GenericService
@@ -19,10 +27,18 @@ module Couchbase
19
27
  self.unmarshal_class_method = :decode
20
28
  self.service_name = 'couchbase.admin.collection.v1.CollectionAdminService'
21
29
 
30
+ # ListCollections returns all scopes and collections within a bucket,
31
+ # along with the current manifest_uid.
22
32
  rpc :ListCollections, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::ListCollectionsRequest, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::ListCollectionsResponse
33
+ # CreateScope creates a new scope within a bucket.
23
34
  rpc :CreateScope, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::CreateScopeRequest, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::CreateScopeResponse
35
+ # DeleteScope removes a scope and all its collections from a bucket.
24
36
  rpc :DeleteScope, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::DeleteScopeRequest, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::DeleteScopeResponse
37
+ # CreateCollection creates a new collection within a scope.
25
38
  rpc :CreateCollection, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::CreateCollectionRequest, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::CreateCollectionResponse
39
+ # UpdateCollection modifies a collection's configuration (e.g., max expiry).
40
+ rpc :UpdateCollection, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::UpdateCollectionRequest, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::UpdateCollectionResponse
41
+ # DeleteCollection removes a collection from a scope.
26
42
  rpc :DeleteCollection, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::DeleteCollectionRequest, ::Couchbase::Protostellar::Generated::Admin::Collection::V1::DeleteCollectionResponse
27
43
  end
28
44
 
@@ -5,31 +5,10 @@
5
5
  require 'google/protobuf'
6
6
 
7
7
 
8
- descriptor_data = "\n$couchbase/admin/query/v1/query.proto\x12\x18\x63ouchbase.admin.query.v1\"\x9a\x01\n\x14GetAllIndexesRequest\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\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_nameB\x12\n\x10_collection_name\"\x91\x03\n\x15GetAllIndexesResponse\x12\x46\n\x07indexes\x18\x01 \x03(\x0b\x32\x35.couchbase.admin.query.v1.GetAllIndexesResponse.Index\x1a\xaf\x02\n\x05Index\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\x0c\n\x04name\x18\x04 \x01(\t\x12\x12\n\nis_primary\x18\x05 \x01(\x08\x12\x31\n\x04type\x18\x06 \x01(\x0e\x32#.couchbase.admin.query.v1.IndexType\x12\x33\n\x05state\x18\x07 \x01(\x0e\x32$.couchbase.admin.query.v1.IndexState\x12\x0e\n\x06\x66ields\x18\x08 \x03(\t\x12\x16\n\tcondition\x18\t \x01(\tH\x00\x88\x01\x01\x12\x16\n\tpartition\x18\n \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_conditionB\x0c\n\n_partition\"\xaa\x02\n\x19\x43reatePrimaryIndexRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0cnum_replicas\x18\x05 \x01(\x05H\x03\x88\x01\x01\x12\x15\n\x08\x64\x65\x66\x65rred\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1d\n\x10ignore_if_exists\x18\x07 \x01(\x08H\x05\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_nameB\x07\n\x05_nameB\x0f\n\r_num_replicasB\x0b\n\t_deferredB\x13\n\x11_ignore_if_exists\"\x1c\n\x1a\x43reatePrimaryIndexResponse\"\xa5\x02\n\x12\x43reateIndexRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x19\n\x0cnum_replicas\x18\x05 \x01(\x05H\x02\x88\x01\x01\x12\x0e\n\x06\x66ields\x18\x06 \x03(\t\x12\x15\n\x08\x64\x65\x66\x65rred\x18\x07 \x01(\x08H\x03\x88\x01\x01\x12\x1d\n\x10ignore_if_exists\x18\x08 \x01(\x08H\x04\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_nameB\x0f\n\r_num_replicasB\x0b\n\t_deferredB\x13\n\x11_ignore_if_exists\"\x15\n\x13\x43reateIndexResponse\"\xda\x01\n\x17\x44ropPrimaryIndexRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1e\n\x11ignore_if_missing\x18\x05 \x01(\x08H\x03\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_nameB\x07\n\x05_nameB\x14\n\x12_ignore_if_missing\"\x1a\n\x18\x44ropPrimaryIndexResponse\"\xc5\x01\n\x10\x44ropIndexRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1e\n\x11ignore_if_missing\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_nameB\x14\n\x12_ignore_if_missing\"\x13\n\x11\x44ropIndexResponse\"\x8c\x01\n\x1b\x42uildDeferredIndexesRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_name\"\xf4\x01\n\x1c\x42uildDeferredIndexesResponse\x12M\n\x07indexes\x18\x01 \x03(\x0b\x32<.couchbase.admin.query.v1.BuildDeferredIndexesResponse.Index\x1a\x84\x01\n\x05Index\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0c\n\x04name\x18\x04 \x01(\tB\r\n\x0b_scope_nameB\x12\n\x10_collection_name*4\n\tIndexType\x12\x13\n\x0fINDEX_TYPE_VIEW\x10\x00\x12\x12\n\x0eINDEX_TYPE_GSI\x10\x01*\xbf\x01\n\nIndexState\x12\x18\n\x14INDEX_STATE_DEFERRED\x10\x00\x12\x18\n\x14INDEX_STATE_BUILDING\x10\x01\x12\x17\n\x13INDEX_STATE_PENDING\x10\x02\x12\x16\n\x12INDEX_STATE_ONLINE\x10\x03\x12\x17\n\x13INDEX_STATE_OFFLINE\x10\x04\x12\x18\n\x14INDEX_STATE_ABRIDGED\x10\x05\x12\x19\n\x15INDEX_STATE_SCHEDULED\x10\x06\x32\xe8\x05\n\x11QueryAdminService\x12r\n\rGetAllIndexes\x12..couchbase.admin.query.v1.GetAllIndexesRequest\x1a/.couchbase.admin.query.v1.GetAllIndexesResponse\"\x00\x12\x81\x01\n\x12\x43reatePrimaryIndex\x12\x33.couchbase.admin.query.v1.CreatePrimaryIndexRequest\x1a\x34.couchbase.admin.query.v1.CreatePrimaryIndexResponse\"\x00\x12l\n\x0b\x43reateIndex\x12,.couchbase.admin.query.v1.CreateIndexRequest\x1a-.couchbase.admin.query.v1.CreateIndexResponse\"\x00\x12{\n\x10\x44ropPrimaryIndex\x12\x31.couchbase.admin.query.v1.DropPrimaryIndexRequest\x1a\x32.couchbase.admin.query.v1.DropPrimaryIndexResponse\"\x00\x12\x66\n\tDropIndex\x12*.couchbase.admin.query.v1.DropIndexRequest\x1a+.couchbase.admin.query.v1.DropIndexResponse\"\x00\x12\x87\x01\n\x14\x42uildDeferredIndexes\x12\x35.couchbase.admin.query.v1.BuildDeferredIndexesRequest\x1a\x36.couchbase.admin.query.v1.BuildDeferredIndexesResponse\"\x00\x42\x91\x02\n0com.couchbase.client.protostellar.admin.query.v1P\x01ZJgithub.com/couchbase/goprotostellar/genproto/admin_query_v1;admin_query_v1\xaa\x02%Couchbase.Protostellar.Admin.Query.V1\xca\x02/Couchbase\\Protostellar\\Generated\\Admin\\Query\\V1\xea\x02\x34\x43ouchbase::Protostellar::Generated::Admin::Query::V1b\x06proto3"
8
+ descriptor_data = "\n$couchbase/admin/query/v1/query.proto\x12\x18\x63ouchbase.admin.query.v1\"\x9a\x01\n\x14GetAllIndexesRequest\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\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x0e\n\x0c_bucket_nameB\r\n\x0b_scope_nameB\x12\n\x10_collection_name\"\x91\x03\n\x15GetAllIndexesResponse\x12\x46\n\x07indexes\x18\x01 \x03(\x0b\x32\x35.couchbase.admin.query.v1.GetAllIndexesResponse.Index\x1a\xaf\x02\n\x05Index\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\x0c\n\x04name\x18\x04 \x01(\t\x12\x12\n\nis_primary\x18\x05 \x01(\x08\x12\x31\n\x04type\x18\x06 \x01(\x0e\x32#.couchbase.admin.query.v1.IndexType\x12\x33\n\x05state\x18\x07 \x01(\x0e\x32$.couchbase.admin.query.v1.IndexState\x12\x0e\n\x06\x66ields\x18\x08 \x03(\t\x12\x16\n\tcondition\x18\t \x01(\tH\x00\x88\x01\x01\x12\x16\n\tpartition\x18\n \x01(\tH\x01\x88\x01\x01\x42\x0c\n\n_conditionB\x0c\n\n_partition\"\xaa\x02\n\x19\x43reatePrimaryIndexRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0cnum_replicas\x18\x05 \x01(\x05H\x03\x88\x01\x01\x12\x15\n\x08\x64\x65\x66\x65rred\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1d\n\x10ignore_if_exists\x18\x07 \x01(\x08H\x05\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_nameB\x07\n\x05_nameB\x0f\n\r_num_replicasB\x0b\n\t_deferredB\x13\n\x11_ignore_if_exists\"\x1c\n\x1a\x43reatePrimaryIndexResponse\"\xa5\x02\n\x12\x43reateIndexRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x19\n\x0cnum_replicas\x18\x05 \x01(\x05H\x02\x88\x01\x01\x12\x0e\n\x06\x66ields\x18\x06 \x03(\t\x12\x15\n\x08\x64\x65\x66\x65rred\x18\x07 \x01(\x08H\x03\x88\x01\x01\x12\x1d\n\x10ignore_if_exists\x18\x08 \x01(\x08H\x04\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_nameB\x0f\n\r_num_replicasB\x0b\n\t_deferredB\x13\n\x11_ignore_if_exists\"\x15\n\x13\x43reateIndexResponse\"\xda\x01\n\x17\x44ropPrimaryIndexRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04name\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1e\n\x11ignore_if_missing\x18\x05 \x01(\x08H\x03\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_nameB\x07\n\x05_nameB\x14\n\x12_ignore_if_missing\"\x1a\n\x18\x44ropPrimaryIndexResponse\"\xc5\x01\n\x10\x44ropIndexRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0c\n\x04name\x18\x04 \x01(\t\x12\x1e\n\x11ignore_if_missing\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_nameB\x14\n\x12_ignore_if_missing\"\x13\n\x11\x44ropIndexResponse\"\x8c\x01\n\x1b\x42uildDeferredIndexesRequest\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_scope_nameB\x12\n\x10_collection_name\"\xf4\x01\n\x1c\x42uildDeferredIndexesResponse\x12M\n\x07indexes\x18\x01 \x03(\x0b\x32<.couchbase.admin.query.v1.BuildDeferredIndexesResponse.Index\x1a\x84\x01\n\x05Index\x12\x13\n\x0b\x62ucket_name\x18\x01 \x01(\t\x12\x17\n\nscope_name\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0f\x63ollection_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0c\n\x04name\x18\x04 \x01(\tB\r\n\x0b_scope_nameB\x12\n\x10_collection_name\"k\n\x19WaitForIndexOnlineRequest\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\x0c\n\x04name\x18\x04 \x01(\t\"\x1c\n\x1aWaitForIndexOnlineResponse*4\n\tIndexType\x12\x13\n\x0fINDEX_TYPE_VIEW\x10\x00\x12\x12\n\x0eINDEX_TYPE_GSI\x10\x01*\xbf\x01\n\nIndexState\x12\x18\n\x14INDEX_STATE_DEFERRED\x10\x00\x12\x18\n\x14INDEX_STATE_BUILDING\x10\x01\x12\x17\n\x13INDEX_STATE_PENDING\x10\x02\x12\x16\n\x12INDEX_STATE_ONLINE\x10\x03\x12\x17\n\x13INDEX_STATE_OFFLINE\x10\x04\x12\x18\n\x14INDEX_STATE_ABRIDGED\x10\x05\x12\x19\n\x15INDEX_STATE_SCHEDULED\x10\x06\x32\xec\x06\n\x11QueryAdminService\x12r\n\rGetAllIndexes\x12..couchbase.admin.query.v1.GetAllIndexesRequest\x1a/.couchbase.admin.query.v1.GetAllIndexesResponse\"\x00\x12\x81\x01\n\x12\x43reatePrimaryIndex\x12\x33.couchbase.admin.query.v1.CreatePrimaryIndexRequest\x1a\x34.couchbase.admin.query.v1.CreatePrimaryIndexResponse\"\x00\x12l\n\x0b\x43reateIndex\x12,.couchbase.admin.query.v1.CreateIndexRequest\x1a-.couchbase.admin.query.v1.CreateIndexResponse\"\x00\x12{\n\x10\x44ropPrimaryIndex\x12\x31.couchbase.admin.query.v1.DropPrimaryIndexRequest\x1a\x32.couchbase.admin.query.v1.DropPrimaryIndexResponse\"\x00\x12\x66\n\tDropIndex\x12*.couchbase.admin.query.v1.DropIndexRequest\x1a+.couchbase.admin.query.v1.DropIndexResponse\"\x00\x12\x87\x01\n\x14\x42uildDeferredIndexes\x12\x35.couchbase.admin.query.v1.BuildDeferredIndexesRequest\x1a\x36.couchbase.admin.query.v1.BuildDeferredIndexesResponse\"\x00\x12\x81\x01\n\x12WaitForIndexOnline\x12\x33.couchbase.admin.query.v1.WaitForIndexOnlineRequest\x1a\x34.couchbase.admin.query.v1.WaitForIndexOnlineResponse\"\x00\x42\x91\x02\n0com.couchbase.client.protostellar.admin.query.v1P\x01ZJgithub.com/couchbase/goprotostellar/genproto/admin_query_v1;admin_query_v1\xaa\x02%Couchbase.Protostellar.Admin.Query.V1\xca\x02/Couchbase\\Protostellar\\Generated\\Admin\\Query\\V1\xea\x02\x34\x43ouchbase::Protostellar::Generated::Admin::Query::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
@@ -51,6 +30,8 @@ module Couchbase
51
30
  BuildDeferredIndexesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.query.v1.BuildDeferredIndexesRequest").msgclass
52
31
  BuildDeferredIndexesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.query.v1.BuildDeferredIndexesResponse").msgclass
53
32
  BuildDeferredIndexesResponse::Index = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.query.v1.BuildDeferredIndexesResponse.Index").msgclass
33
+ WaitForIndexOnlineRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.query.v1.WaitForIndexOnlineRequest").msgclass
34
+ WaitForIndexOnlineResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.query.v1.WaitForIndexOnlineResponse").msgclass
54
35
  IndexType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.query.v1.IndexType").enummodule
55
36
  IndexState = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("couchbase.admin.query.v1.IndexState").enummodule
56
37
  end
@@ -1,5 +1,12 @@
1
1
  # Generated by the protocol buffer compiler. DO NOT EDIT!
2
2
  # Source: couchbase/admin/query/v1/query.proto for package 'Couchbase.Protostellar.Generated.Admin.Query.V1'
3
+ # Original file comments:
4
+ # Query Admin Service
5
+ #
6
+ # Provides N1QL / GSI index management for a Couchbase cluster.
7
+ # Supports listing, creating (primary and secondary), dropping,
8
+ # building deferred indexes, and waiting for indexes to come online.
9
+ # All operations are scoped to bucket/scope/collection.
3
10
 
4
11
  require 'grpc'
5
12
  require 'couchbase/protostellar/generated/admin/query/v1/query_pb'
@@ -11,6 +18,7 @@ module Couchbase
11
18
  module Query
12
19
  module V1
13
20
  module QueryAdminService
21
+ # QueryAdminService provides N1QL index lifecycle management.
14
22
  class Service
15
23
 
16
24
  include ::GRPC::GenericService
@@ -19,12 +27,22 @@ module Couchbase
19
27
  self.unmarshal_class_method = :decode
20
28
  self.service_name = 'couchbase.admin.query.v1.QueryAdminService'
21
29
 
30
+ # GetAllIndexes returns all indexes matching the optional scope filter.
22
31
  rpc :GetAllIndexes, ::Couchbase::Protostellar::Generated::Admin::Query::V1::GetAllIndexesRequest, ::Couchbase::Protostellar::Generated::Admin::Query::V1::GetAllIndexesResponse
32
+ # CreatePrimaryIndex creates a primary index on a collection.
33
+ # A primary index indexes all document keys.
23
34
  rpc :CreatePrimaryIndex, ::Couchbase::Protostellar::Generated::Admin::Query::V1::CreatePrimaryIndexRequest, ::Couchbase::Protostellar::Generated::Admin::Query::V1::CreatePrimaryIndexResponse
35
+ # CreateIndex creates a secondary index on specific document fields.
24
36
  rpc :CreateIndex, ::Couchbase::Protostellar::Generated::Admin::Query::V1::CreateIndexRequest, ::Couchbase::Protostellar::Generated::Admin::Query::V1::CreateIndexResponse
37
+ # DropPrimaryIndex removes a primary index.
25
38
  rpc :DropPrimaryIndex, ::Couchbase::Protostellar::Generated::Admin::Query::V1::DropPrimaryIndexRequest, ::Couchbase::Protostellar::Generated::Admin::Query::V1::DropPrimaryIndexResponse
39
+ # DropIndex removes a named secondary index.
26
40
  rpc :DropIndex, ::Couchbase::Protostellar::Generated::Admin::Query::V1::DropIndexRequest, ::Couchbase::Protostellar::Generated::Admin::Query::V1::DropIndexResponse
41
+ # BuildDeferredIndexes triggers the build of all indexes that were created
42
+ # with deferred=true. Returns the list of indexes that will be built.
27
43
  rpc :BuildDeferredIndexes, ::Couchbase::Protostellar::Generated::Admin::Query::V1::BuildDeferredIndexesRequest, ::Couchbase::Protostellar::Generated::Admin::Query::V1::BuildDeferredIndexesResponse
44
+ # WaitForIndexOnline blocks until the specified index reaches ONLINE state.
45
+ rpc :WaitForIndexOnline, ::Couchbase::Protostellar::Generated::Admin::Query::V1::WaitForIndexOnlineRequest, ::Couchbase::Protostellar::Generated::Admin::Query::V1::WaitForIndexOnlineResponse
28
46
  end
29
47
 
30
48
  Stub = Service.rpc_stub_class