couchbase 3.7.0 → 3.8.1
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.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/ext/CMakeLists.txt +4 -1
- data/ext/cache/extconf_include.rb +4 -3
- data/ext/cache/mozilla-ca-bundle.crt +66 -665
- data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
- data/ext/couchbase/CMakeLists.txt +26 -11
- data/ext/couchbase/cmake/APKBUILD.in +17 -1
- data/ext/couchbase/cmake/Bundler.cmake +9 -1
- data/ext/couchbase/cmake/Cache.cmake +48 -19
- data/ext/couchbase/cmake/CompilerOptions.cmake +3 -1
- data/ext/couchbase/cmake/OpenSSL.cmake +10 -2
- data/ext/couchbase/cmake/Packaging.cmake +48 -8
- data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +43 -1
- data/ext/couchbase/cmake/build_config.hxx.in +2 -0
- data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +18 -0
- data/ext/couchbase/cmake/tarball_glob.txt +10 -0
- data/ext/couchbase/core/app_telemetry_meter.cxx +1 -0
- data/ext/couchbase/core/app_telemetry_reporter.cxx +45 -43
- data/ext/couchbase/core/app_telemetry_reporter.hxx +4 -3
- data/ext/couchbase/core/bucket.cxx +128 -13
- data/ext/couchbase/core/bucket.hxx +12 -2
- data/ext/couchbase/core/cluster.cxx +304 -152
- data/ext/couchbase/core/cluster.hxx +32 -0
- data/ext/couchbase/core/cluster_credentials.cxx +25 -0
- data/ext/couchbase/core/cluster_credentials.hxx +5 -0
- data/ext/couchbase/core/cluster_label_listener.cxx +72 -0
- data/ext/couchbase/core/cluster_label_listener.hxx +46 -0
- data/ext/couchbase/core/cluster_options.hxx +4 -0
- data/ext/couchbase/core/deprecation_utils.hxx +26 -0
- data/ext/couchbase/core/error.hxx +27 -0
- data/ext/couchbase/core/error_context/base_error_context.hxx +32 -0
- data/ext/couchbase/core/error_context/key_value.cxx +1 -0
- data/ext/couchbase/core/error_context/key_value.hxx +23 -0
- data/ext/couchbase/core/error_context/key_value_error_context.hxx +35 -0
- data/ext/couchbase/core/error_context/subdocument_error_context.hxx +41 -0
- data/ext/couchbase/core/free_form_http_request.hxx +0 -2
- data/ext/couchbase/core/http_component.cxx +12 -48
- data/ext/couchbase/core/impl/analytics.cxx +3 -2
- data/ext/couchbase/core/impl/analytics.hxx +2 -1
- data/ext/couchbase/core/impl/analytics_index_manager.cxx +249 -137
- data/ext/couchbase/core/impl/binary_collection.cxx +239 -128
- data/ext/couchbase/core/impl/bucket_manager.cxx +87 -35
- data/ext/couchbase/core/impl/collection.cxx +914 -372
- data/ext/couchbase/core/impl/collection_manager.cxx +89 -49
- data/ext/couchbase/core/impl/dns_srv_tracker.cxx +4 -4
- data/ext/couchbase/core/impl/error.cxx +49 -17
- data/ext/couchbase/core/impl/error.hxx +15 -10
- data/ext/couchbase/core/impl/get_all_replicas.hxx +1 -1
- data/ext/couchbase/core/impl/get_any_replica.hxx +2 -1
- data/ext/couchbase/core/impl/get_replica.hxx +2 -0
- data/ext/couchbase/core/impl/invoke_with_node_id.hxx +44 -0
- data/ext/couchbase/core/impl/lookup_in_replica.hxx +1 -1
- data/ext/couchbase/core/impl/node_id.cxx +110 -0
- data/ext/couchbase/core/impl/node_id.hxx +40 -0
- data/ext/couchbase/core/impl/observability_recorder.cxx +161 -0
- data/ext/couchbase/core/impl/observability_recorder.hxx +77 -0
- data/ext/couchbase/core/impl/observe_seqno.hxx +2 -0
- data/ext/couchbase/core/impl/public_bucket.cxx +31 -7
- data/ext/couchbase/core/impl/public_cluster.cxx +107 -19
- data/ext/couchbase/core/impl/query.cxx +6 -3
- data/ext/couchbase/core/impl/query.hxx +3 -1
- data/ext/couchbase/core/impl/query_index_manager.cxx +267 -102
- data/ext/couchbase/core/impl/scope.cxx +53 -11
- data/ext/couchbase/core/impl/search.cxx +8 -4
- data/ext/couchbase/core/impl/search.hxx +6 -2
- data/ext/couchbase/core/impl/search_index_manager.cxx +131 -41
- data/ext/couchbase/core/impl/with_cancellation.hxx +75 -0
- data/ext/couchbase/core/io/config_tracker.cxx +9 -9
- data/ext/couchbase/core/io/config_tracker.hxx +2 -1
- data/ext/couchbase/core/io/http_command.hxx +98 -49
- data/ext/couchbase/core/io/http_context.hxx +2 -0
- data/ext/couchbase/core/io/http_session.cxx +23 -10
- data/ext/couchbase/core/io/http_session.hxx +17 -9
- data/ext/couchbase/core/io/http_session_manager.hxx +245 -270
- data/ext/couchbase/core/io/http_traits.hxx +0 -7
- data/ext/couchbase/core/io/mcbp_command.hxx +123 -44
- data/ext/couchbase/core/io/mcbp_session.cxx +251 -26
- data/ext/couchbase/core/io/mcbp_session.hxx +9 -1
- data/ext/couchbase/core/io/mcbp_traits.hxx +0 -8
- data/ext/couchbase/core/io/streams.cxx +3 -3
- data/ext/couchbase/core/io/streams.hxx +3 -2
- data/ext/couchbase/core/meta/features.hxx +15 -0
- data/ext/couchbase/core/meta/version.cxx +13 -0
- data/ext/couchbase/core/meta/version.hxx +3 -0
- data/ext/couchbase/core/metrics/constants.hxx +23 -0
- data/ext/couchbase/core/metrics/logging_meter.cxx +5 -5
- data/ext/couchbase/core/metrics/meter_wrapper.cxx +65 -63
- data/ext/couchbase/core/metrics/meter_wrapper.hxx +12 -10
- data/ext/couchbase/core/operations/document_analytics.hxx +0 -5
- data/ext/couchbase/core/operations/document_append.hxx +0 -4
- data/ext/couchbase/core/operations/document_decrement.hxx +0 -5
- data/ext/couchbase/core/operations/document_exists.hxx +0 -7
- data/ext/couchbase/core/operations/document_get.hxx +0 -7
- data/ext/couchbase/core/operations/document_get_all_replicas.hxx +89 -29
- data/ext/couchbase/core/operations/document_get_and_lock.hxx +0 -9
- data/ext/couchbase/core/operations/document_get_and_touch.hxx +0 -9
- data/ext/couchbase/core/operations/document_get_any_replica.hxx +83 -2
- data/ext/couchbase/core/operations/document_get_projected.cxx +3 -4
- data/ext/couchbase/core/operations/document_get_projected.hxx +0 -9
- data/ext/couchbase/core/operations/document_increment.hxx +0 -5
- data/ext/couchbase/core/operations/document_insert.hxx +0 -4
- data/ext/couchbase/core/operations/document_lookup_in.hxx +0 -9
- data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +50 -4
- data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +121 -43
- data/ext/couchbase/core/operations/document_mutate_in.hxx +0 -5
- data/ext/couchbase/core/operations/document_prepend.hxx +0 -4
- data/ext/couchbase/core/operations/document_query.cxx +12 -12
- data/ext/couchbase/core/operations/document_query.hxx +0 -4
- data/ext/couchbase/core/operations/document_remove.hxx +0 -4
- data/ext/couchbase/core/operations/document_replace.hxx +0 -4
- data/ext/couchbase/core/operations/document_search.hxx +0 -7
- data/ext/couchbase/core/operations/document_touch.hxx +0 -7
- data/ext/couchbase/core/operations/document_unlock.hxx +0 -6
- data/ext/couchbase/core/operations/document_upsert.hxx +0 -4
- data/ext/couchbase/core/operations/document_view.cxx +2 -0
- data/ext/couchbase/core/operations/document_view.hxx +10 -13
- data/ext/couchbase/core/operations/http_noop.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_index_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_link_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +2 -0
- data/ext/couchbase/core/operations/management/bucket_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/bucket_describe.hxx +2 -0
- data/ext/couchbase/core/operations/management/bucket_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/bucket_flush.hxx +2 -0
- data/ext/couchbase/core/operations/management/bucket_get.hxx +2 -0
- data/ext/couchbase/core/operations/management/bucket_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/bucket_update.hxx +2 -0
- data/ext/couchbase/core/operations/management/change_password.hxx +2 -0
- data/ext/couchbase/core/operations/management/cluster_describe.hxx +2 -0
- data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +2 -0
- data/ext/couchbase/core/operations/management/collection_create.cxx +11 -11
- data/ext/couchbase/core/operations/management/collection_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/collection_drop.cxx +11 -11
- data/ext/couchbase/core/operations/management/collection_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/collection_update.cxx +11 -11
- data/ext/couchbase/core/operations/management/collection_update.hxx +2 -0
- data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +2 -0
- data/ext/couchbase/core/operations/management/error_utils.cxx +13 -7
- data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_get_function.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_get_status.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +2 -0
- data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +2 -0
- data/ext/couchbase/core/operations/management/freeform.hxx +2 -0
- data/ext/couchbase/core/operations/management/group_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/group_get.hxx +2 -0
- data/ext/couchbase/core/operations/management/group_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/group_upsert.hxx +2 -0
- data/ext/couchbase/core/operations/management/query_index_build.hxx +2 -0
- data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +68 -30
- data/ext/couchbase/core/operations/management/query_index_create.cxx +5 -4
- data/ext/couchbase/core/operations/management/query_index_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/query_index_drop.cxx +7 -6
- data/ext/couchbase/core/operations/management/query_index_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/query_index_get_all.hxx +4 -3
- data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +2 -1
- data/ext/couchbase/core/operations/management/role_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/scope_create.cxx +12 -13
- data/ext/couchbase/core/operations/management/scope_create.hxx +2 -0
- data/ext/couchbase/core/operations/management/scope_drop.cxx +8 -9
- data/ext/couchbase/core/operations/management/scope_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/scope_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_get_stats.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_control_query.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_get.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +2 -0
- data/ext/couchbase/core/operations/management/search_index_upsert.hxx +2 -0
- data/ext/couchbase/core/operations/management/user_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/user_get.hxx +2 -0
- data/ext/couchbase/core/operations/management/user_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/user_upsert.hxx +2 -0
- data/ext/couchbase/core/operations/management/view_index_drop.hxx +2 -0
- data/ext/couchbase/core/operations/management/view_index_get.hxx +2 -0
- data/ext/couchbase/core/operations/management/view_index_get_all.hxx +2 -0
- data/ext/couchbase/core/operations/management/view_index_upsert.hxx +2 -0
- data/ext/couchbase/core/operations/operation_traits.hxx +6 -0
- data/ext/couchbase/core/operations.hxx +0 -1
- data/ext/couchbase/core/operations_fwd.hxx +8 -0
- data/ext/couchbase/core/origin.cxx +67 -12
- data/ext/couchbase/core/origin.hxx +13 -8
- data/ext/couchbase/core/orphan_reporter.cxx +164 -0
- data/ext/couchbase/core/orphan_reporter.hxx +65 -0
- data/ext/couchbase/core/sasl/CMakeLists.txt +1 -0
- data/ext/couchbase/core/sasl/client.cc +6 -0
- data/ext/couchbase/core/sasl/mechanism.cc +2 -1
- data/ext/couchbase/core/sasl/mechanism.h +2 -1
- data/ext/couchbase/core/sasl/oauthbearer/oauthbearer.cc +41 -0
- data/ext/couchbase/core/sasl/oauthbearer/oauthbearer.h +47 -0
- data/ext/couchbase/core/tls_context_provider.cxx +44 -0
- data/ext/couchbase/core/tls_context_provider.hxx +44 -0
- data/ext/couchbase/core/topology/configuration.cxx +21 -0
- data/ext/couchbase/core/topology/configuration.hxx +28 -0
- data/ext/couchbase/core/tracing/attribute_helpers.hxx +45 -0
- data/ext/couchbase/core/tracing/constants.hxx +148 -68
- data/ext/couchbase/core/tracing/threshold_logging_options.hxx +0 -3
- data/ext/couchbase/core/tracing/threshold_logging_tracer.cxx +122 -170
- data/ext/couchbase/core/tracing/tracer_wrapper.cxx +17 -24
- data/ext/couchbase/core/tracing/tracer_wrapper.hxx +8 -10
- data/ext/couchbase/core/tracing/wrapper_sdk_tracer.cxx +114 -0
- data/ext/couchbase/core/tracing/wrapper_sdk_tracer.hxx +85 -0
- data/ext/couchbase/core/transactions/attempt_context_impl.cxx +16 -14
- data/ext/couchbase/core/transactions/attempt_context_impl.hxx +4 -4
- data/ext/couchbase/core/transactions/transactions.cxx +1 -1
- data/ext/couchbase/core/transactions/transactions_cleanup.cxx +1 -2
- data/ext/couchbase/core/utils/byteswap.hxx +12 -0
- data/ext/couchbase/core/utils/concurrent_fixed_priority_queue.hxx +102 -0
- data/ext/couchbase/core/utils/connection_string.cxx +2 -0
- data/ext/couchbase/core/utils/contains_string.cxx +61 -0
- data/ext/couchbase/core/utils/contains_string.hxx +26 -0
- data/ext/couchbase/couchbase/certificate_authenticator.hxx +1 -0
- data/ext/couchbase/couchbase/cluster.hxx +47 -0
- data/ext/couchbase/couchbase/cluster_options.hxx +16 -0
- data/ext/couchbase/couchbase/collection.hxx +133 -15
- data/ext/couchbase/couchbase/error.hxx +16 -0
- data/ext/couchbase/couchbase/error_codes.hxx +48 -48
- data/ext/couchbase/couchbase/jwt_authenticator.hxx +52 -0
- data/ext/couchbase/couchbase/metrics/meter.hxx +2 -1
- data/ext/couchbase/couchbase/metrics/otel_meter.hxx +75 -80
- data/ext/couchbase/couchbase/network_options.hxx +19 -0
- data/ext/couchbase/couchbase/node_id.hxx +123 -0
- data/ext/couchbase/couchbase/node_id_for_options.hxx +61 -0
- data/ext/couchbase/couchbase/node_ids_options.hxx +62 -0
- data/ext/couchbase/couchbase/password_authenticator.hxx +1 -0
- data/ext/couchbase/couchbase/result.hxx +42 -0
- data/ext/couchbase/couchbase/tracing/otel_tracer.hxx +15 -17
- data/ext/couchbase/couchbase/tracing/request_span.hxx +2 -2
- data/ext/couchbase.cxx +4 -0
- data/ext/extconf.rb +1 -0
- data/ext/rcb_analytics.cxx +157 -47
- data/ext/rcb_backend.cxx +118 -71
- data/ext/rcb_buckets.cxx +39 -16
- data/ext/rcb_collections.cxx +36 -12
- data/ext/rcb_crud.cxx +589 -294
- data/ext/rcb_hdr_histogram.cxx +219 -0
- data/ext/rcb_hdr_histogram.hxx +28 -0
- data/ext/rcb_logger.cxx +15 -17
- data/ext/rcb_multi.cxx +142 -59
- data/ext/rcb_observability.cxx +132 -0
- data/ext/rcb_observability.hxx +49 -0
- data/ext/rcb_query.cxx +77 -27
- data/ext/rcb_search.cxx +92 -31
- data/ext/rcb_users.cxx +69 -26
- data/ext/rcb_utils.cxx +91 -0
- data/ext/rcb_utils.hxx +141 -168
- data/ext/rcb_views.cxx +36 -12
- data/lib/active_support/cache/couchbase_store.rb +6 -6
- data/lib/couchbase/authenticator.rb +14 -0
- data/lib/couchbase/binary_collection.rb +37 -22
- data/lib/couchbase/bucket.rb +46 -31
- data/lib/couchbase/cluster.rb +146 -61
- data/lib/couchbase/collection.rb +257 -186
- data/lib/couchbase/datastructures/couchbase_list.rb +82 -50
- data/lib/couchbase/datastructures/couchbase_map.rb +87 -50
- data/lib/couchbase/datastructures/couchbase_queue.rb +65 -38
- data/lib/couchbase/datastructures/couchbase_set.rb +58 -41
- data/lib/couchbase/deprecations.rb +1 -1
- data/lib/couchbase/diagnostics.rb +8 -8
- data/lib/couchbase/errors.rb +7 -1
- data/lib/couchbase/json_transcoder.rb +1 -1
- data/lib/couchbase/management/analytics_index_manager.rb +90 -59
- data/lib/couchbase/management/bucket_manager.rb +73 -45
- data/lib/couchbase/management/collection_manager.rb +86 -43
- data/lib/couchbase/management/collection_query_index_manager.rb +56 -33
- data/lib/couchbase/management/query_index_manager.rb +88 -36
- data/lib/couchbase/management/scope_search_index_manager.rb +119 -52
- data/lib/couchbase/management/search_index_manager.rb +401 -178
- data/lib/couchbase/management/user_manager.rb +343 -174
- data/lib/couchbase/management/view_index_manager.rb +166 -73
- data/lib/couchbase/metrics/logging_meter.rb +108 -0
- data/lib/couchbase/metrics/logging_value_recorder.rb +50 -0
- data/lib/couchbase/metrics/meter.rb +27 -0
- data/lib/couchbase/metrics/noop_meter.rb +30 -0
- data/lib/couchbase/metrics/noop_value_recorder.rb +27 -0
- data/lib/couchbase/metrics/value_recorder.rb +25 -0
- data/lib/couchbase/options.rb +71 -5
- data/lib/couchbase/protostellar/client.rb +0 -2
- data/lib/couchbase/protostellar/cluster.rb +7 -0
- data/lib/couchbase/protostellar/generated/admin/analytics/v1/analytics_pb.rb +54 -0
- data/lib/couchbase/protostellar/generated/admin/analytics/v1/analytics_services_pb.rb +51 -0
- data/lib/couchbase/protostellar/generated/admin/bucket/v1/bucket_pb.rb +5 -24
- data/lib/couchbase/protostellar/generated/admin/bucket/v1/bucket_services_pb.rb +16 -0
- data/lib/couchbase/protostellar/generated/admin/collection/v1/collection_pb.rb +5 -24
- data/lib/couchbase/protostellar/generated/admin/collection/v1/collection_services_pb.rb +16 -0
- data/lib/couchbase/protostellar/generated/admin/query/v1/query_pb.rb +5 -24
- data/lib/couchbase/protostellar/generated/admin/query/v1/query_services_pb.rb +18 -0
- data/lib/couchbase/protostellar/generated/admin/search/v1/search_pb.rb +2 -23
- data/lib/couchbase/protostellar/generated/admin/search/v1/search_services_pb.rb +23 -0
- data/lib/couchbase/protostellar/generated/analytics/v1/analytics_pb.rb +4 -25
- data/lib/couchbase/protostellar/generated/analytics/v1/analytics_services_pb.rb +10 -0
- data/lib/couchbase/protostellar/generated/internal/hooks/v1/hooks_pb.rb +6 -25
- data/lib/couchbase/protostellar/generated/internal/hooks/v1/hooks_services_pb.rb +18 -0
- data/lib/couchbase/protostellar/generated/internal/xdcr/v1/xdcr_pb.rb +46 -0
- data/lib/couchbase/protostellar/generated/internal/xdcr/v1/xdcr_services_pb.rb +56 -0
- data/lib/couchbase/protostellar/generated/kv/v1/kv_pb.rb +3 -26
- data/lib/couchbase/protostellar/generated/kv/v1/kv_services_pb.rb +47 -0
- data/lib/couchbase/protostellar/generated/query/v1/query_pb.rb +4 -26
- data/lib/couchbase/protostellar/generated/query/v1/query_services_pb.rb +10 -0
- data/lib/couchbase/protostellar/generated/routing/v2/routing_pb.rb +26 -0
- data/lib/couchbase/protostellar/generated/routing/v2/routing_services_pb.rb +43 -0
- data/lib/couchbase/protostellar/generated/search/v1/search_pb.rb +5 -26
- data/lib/couchbase/protostellar/generated/search/v1/search_services_pb.rb +11 -0
- data/lib/couchbase/protostellar/generated/transactions/v1/transactions_pb.rb +2 -23
- data/lib/couchbase/protostellar/generated/transactions/v1/transactions_services_pb.rb +30 -0
- data/lib/couchbase/protostellar/generated/view/v1/view_pb.rb +2 -23
- data/lib/couchbase/protostellar/generated/view/v1/view_services_pb.rb +9 -0
- data/lib/couchbase/protostellar/request_generator/admin/collection.rb +4 -2
- data/lib/couchbase/protostellar/request_generator/admin/query.rb +2 -0
- data/lib/couchbase/protostellar/request_generator/kv.rb +1 -1
- data/lib/couchbase/protostellar/scope.rb +4 -0
- data/lib/couchbase/scope.rb +62 -48
- data/lib/couchbase/search_options.rb +18 -18
- data/lib/couchbase/tracing/noop_span.rb +29 -0
- data/lib/couchbase/tracing/noop_tracer.rb +29 -0
- data/lib/couchbase/tracing/request_span.rb +34 -0
- data/lib/couchbase/tracing/request_tracer.rb +28 -0
- data/lib/couchbase/tracing/threshold_logging_span.rb +112 -0
- data/lib/couchbase/tracing/threshold_logging_tracer.rb +231 -0
- data/lib/couchbase/utils/hdr_histogram.rb +55 -0
- data/lib/couchbase/utils/observability.rb +263 -0
- data/lib/couchbase/utils/observability_constants.rb +200 -0
- data/lib/couchbase/utils/stdlib_logger_adapter.rb +1 -3
- data/lib/couchbase/version.rb +1 -1
- data/lib/couchbase.rb +2 -2
- metadata +72 -8
- data/lib/couchbase/protostellar/generated/routing/v1/routing_pb.rb +0 -52
- data/lib/couchbase/protostellar/generated/routing/v1/routing_services_pb.rb +0 -30
data/lib/couchbase/options.rb
CHANGED
|
@@ -107,7 +107,7 @@ module Couchbase
|
|
|
107
107
|
# @api private
|
|
108
108
|
# @return [Boolean]
|
|
109
109
|
def need_projected_get?
|
|
110
|
-
@with_expiry || !@projections
|
|
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
|
|
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\"\
|
|
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\"\
|
|
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\
|
|
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
|