/*
 *   Copyright 2016-2026. Couchbase, Inc.
 *   All Rights Reserved.
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

// ====================================================================================================
// AUTOGENERATED FILE START - DO NOT EDIT MANUALLY
// Generated-On: 2026-03-21 17:10:03
// ====================================================================================================

#pragma once

#include "Python.h"
#include "cpp_core_enum_conversion_macros.hxx"
#include <core/analytics_scan_consistency.hxx>
#include <core/design_document_namespace.hxx>
#include <core/diagnostics.hxx>
#include <core/error_context/key_value_status_code.hxx>
#include <core/impl/subdoc/opcode.hxx>
#include <core/io/ip_protocol.hxx>
#include <core/management/analytics_link_couchbase_remote.hxx>
#include <core/management/bucket_settings.hxx>
#include <core/management/eventing_function.hxx>
#include <core/management/eventing_status.hxx>
#include <core/management/rbac.hxx>
#include <core/operations/document_analytics.hxx>
#include <core/protocol/client_opcode.hxx>
#include <core/search_highlight_style.hxx>
#include <core/search_scan_consistency.hxx>
#include <core/service_type.hxx>
#include <core/tls_verify_mode.hxx>
#include <core/vector_query_combination.hxx>
#include <core/view_on_error.hxx>
#include <core/view_scan_consistency.hxx>
#include <core/view_sort_order.hxx>
#include <couchbase/durability_level.hxx>
#include <couchbase/persist_to.hxx>
#include <couchbase/query_profile.hxx>
#include <couchbase/query_scan_consistency.hxx>
#include <couchbase/read_preference.hxx>
#include <couchbase/replicate_to.hxx>
#include <couchbase/retry_reason.hxx>
#include <couchbase/store_semantics.hxx>
#include <string>

namespace pycbc
{

// ==========================================================================================
// IP_PROTOCOL enum
// Default: any
// ==========================================================================================
#define IP_PROTOCOL_MAPPINGS(X, ...)                                                               \
  X(any, "any", __VA_ARGS__)                                                                       \
  X(force_ipv4, "force_ipv4", __VA_ARGS__)                                                         \
  X(force_ipv6, "force_ipv6", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::io::ip_protocol, any, IP_PROTOCOL_MAPPINGS)

// ==========================================================================================
// TLS_VERIFY_MODE enum
// Default: none
// ==========================================================================================
#define TLS_VERIFY_MODE_MAPPINGS(X, ...)                                                           \
  X(none, "none", __VA_ARGS__)                                                                     \
  X(peer, "peer", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::tls_verify_mode, none, TLS_VERIFY_MODE_MAPPINGS)

// ==========================================================================================
// RETRY_REASON enum
// Default: unknown
// ==========================================================================================
#define RETRY_REASON_MAPPINGS(X, ...)                                                              \
  X(do_not_retry, "do_not_retry", __VA_ARGS__)                                                     \
  X(unknown, "unknown", __VA_ARGS__)                                                               \
  X(socket_not_available, "socket_not_available", __VA_ARGS__)                                     \
  X(service_not_available, "service_not_available", __VA_ARGS__)                                   \
  X(node_not_available, "node_not_available", __VA_ARGS__)                                         \
  X(key_value_not_my_vbucket, "key_value_not_my_vbucket", __VA_ARGS__)                             \
  X(key_value_collection_outdated, "key_value_collection_outdated", __VA_ARGS__)                   \
  X(key_value_error_map_retry_indicated, "key_value_error_map_retry_indicated", __VA_ARGS__)       \
  X(key_value_locked, "key_value_locked", __VA_ARGS__)                                             \
  X(key_value_temporary_failure, "key_value_temporary_failure", __VA_ARGS__)                       \
  X(key_value_sync_write_in_progress, "key_value_sync_write_in_progress", __VA_ARGS__)             \
  X(key_value_sync_write_re_commit_in_progress,                                                    \
    "key_value_sync_write_re_commit_in_progress",                                                  \
    __VA_ARGS__)                                                                                   \
  X(service_response_code_indicated, "service_response_code_indicated", __VA_ARGS__)               \
  X(socket_closed_while_in_flight, "socket_closed_while_in_flight", __VA_ARGS__)                   \
  X(circuit_breaker_open, "circuit_breaker_open", __VA_ARGS__)                                     \
  X(query_prepared_statement_failure, "query_prepared_statement_failure", __VA_ARGS__)             \
  X(query_index_not_found, "query_index_not_found", __VA_ARGS__)                                   \
  X(analytics_temporary_failure, "analytics_temporary_failure", __VA_ARGS__)                       \
  X(search_too_many_requests, "search_too_many_requests", __VA_ARGS__)                             \
  X(views_temporary_failure, "views_temporary_failure", __VA_ARGS__)                               \
  X(views_no_active_partition, "views_no_active_partition", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::retry_reason, unknown, RETRY_REASON_MAPPINGS)

// ==========================================================================================
// CLUSTER_STATE enum
// Default: online
// ==========================================================================================
#define CLUSTER_STATE_MAPPINGS(X, ...)                                                             \
  X(online, "online", __VA_ARGS__)                                                                 \
  X(degraded, "degraded", __VA_ARGS__)                                                             \
  X(offline, "offline", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::diag::cluster_state, online, CLUSTER_STATE_MAPPINGS)

// ==========================================================================================
// SERVICE_TYPE enum
// Default: key_value
// ==========================================================================================
#define SERVICE_TYPE_MAPPINGS(X, ...)                                                              \
  X(key_value, "key_value", __VA_ARGS__)                                                           \
  X(query, "query", __VA_ARGS__)                                                                   \
  X(analytics, "analytics", __VA_ARGS__)                                                           \
  X(search, "search", __VA_ARGS__)                                                                 \
  X(view, "view", __VA_ARGS__)                                                                     \
  X(management, "management", __VA_ARGS__)                                                         \
  X(eventing, "eventing", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::service_type, key_value, SERVICE_TYPE_MAPPINGS)

// ==========================================================================================
// ENDPOINT_STATE enum
// Default: disconnected
// ==========================================================================================
#define ENDPOINT_STATE_MAPPINGS(X, ...)                                                            \
  X(disconnected, "disconnected", __VA_ARGS__)                                                     \
  X(connecting, "connecting", __VA_ARGS__)                                                         \
  X(connected, "connected", __VA_ARGS__)                                                           \
  X(disconnecting, "disconnecting", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::diag::endpoint_state,
                             disconnected,
                             ENDPOINT_STATE_MAPPINGS)

// ==========================================================================================
// PING_STATE enum
// Default: ok
// ==========================================================================================
#define PING_STATE_MAPPINGS(X, ...)                                                                \
  X(ok, "ok", __VA_ARGS__)                                                                         \
  X(timeout, "timeout", __VA_ARGS__)                                                               \
  X(error, "error", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::diag::ping_state, ok, PING_STATE_MAPPINGS)

// ==========================================================================================
// READ_PREFERENCE enum
// Default: no_preference
// ==========================================================================================
#define READ_PREFERENCE_MAPPINGS(X, ...)                                                           \
  X(no_preference, 0, __VA_ARGS__)                                                                 \
  X(selected_server_group, 1, __VA_ARGS__)                                                         \
  X(selected_server_group_or_all_available, 2, __VA_ARGS__)

PYCBC_DEFINE_INT_ENUM_CONVERSION(couchbase::read_preference,
                                 no_preference,
                                 READ_PREFERENCE_MAPPINGS)

// ==========================================================================================
// DURABILITY_LEVEL enum
// Default: none
// ==========================================================================================
#define DURABILITY_LEVEL_MAPPINGS(X, ...)                                                          \
  X(none, 0, __VA_ARGS__)                                                                          \
  X(majority, 1, __VA_ARGS__)                                                                      \
  X(majority_and_persist_to_active, 2, __VA_ARGS__)                                                \
  X(persist_to_majority, 3, __VA_ARGS__)

PYCBC_DEFINE_INT_ENUM_CONVERSION(couchbase::durability_level, none, DURABILITY_LEVEL_MAPPINGS)

// ==========================================================================================
// PERSIST_TO enum
// Default: none
// ==========================================================================================
#define PERSIST_TO_MAPPINGS(X, ...)                                                                \
  X(none, 0, __VA_ARGS__)                                                                          \
  X(active, 1, __VA_ARGS__)                                                                        \
  X(one, 2, __VA_ARGS__)                                                                           \
  X(two, 3, __VA_ARGS__)                                                                           \
  X(three, 4, __VA_ARGS__)                                                                         \
  X(four, 5, __VA_ARGS__)

PYCBC_DEFINE_INT_ENUM_CONVERSION(couchbase::persist_to, none, PERSIST_TO_MAPPINGS)

// ==========================================================================================
// REPLICATE_TO enum
// Default: none
// ==========================================================================================
#define REPLICATE_TO_MAPPINGS(X, ...)                                                              \
  X(none, 0, __VA_ARGS__)                                                                          \
  X(one, 1, __VA_ARGS__)                                                                           \
  X(two, 2, __VA_ARGS__)                                                                           \
  X(three, 3, __VA_ARGS__)

PYCBC_DEFINE_INT_ENUM_CONVERSION(couchbase::replicate_to, none, REPLICATE_TO_MAPPINGS)

// ==========================================================================================
// KEY_VALUE_STATUS_CODE enum
// Default: success
// ==========================================================================================
#define KEY_VALUE_STATUS_CODE_MAPPINGS(X, ...)                                                     \
  X(success, 0x00, __VA_ARGS__)                                                                    \
  X(not_found, 0x01, __VA_ARGS__)                                                                  \
  X(exists, 0x02, __VA_ARGS__)                                                                     \
  X(too_big, 0x03, __VA_ARGS__)                                                                    \
  X(invalid, 0x04, __VA_ARGS__)                                                                    \
  X(not_stored, 0x05, __VA_ARGS__)                                                                 \
  X(delta_bad_value, 0x06, __VA_ARGS__)                                                            \
  X(not_my_vbucket, 0x07, __VA_ARGS__)                                                             \
  X(no_bucket, 0x08, __VA_ARGS__)                                                                  \
  X(dcp_stream_not_found, 0x0a, __VA_ARGS__)                                                       \
  X(opaque_no_match, 0x0b, __VA_ARGS__)                                                            \
  X(locked, 0x09, __VA_ARGS__)                                                                     \
  X(not_locked, 0x0e, __VA_ARGS__)                                                                 \
  X(config_only, 0x0d, __VA_ARGS__)                                                                \
  X(auth_stale, 0x1f, __VA_ARGS__)                                                                 \
  X(auth_error, 0x20, __VA_ARGS__)                                                                 \
  X(auth_continue, 0x21, __VA_ARGS__)                                                              \
  X(range_error, 0x22, __VA_ARGS__)                                                                \
  X(rollback, 0x23, __VA_ARGS__)                                                                   \
  X(no_access, 0x24, __VA_ARGS__)                                                                  \
  X(not_initialized, 0x25, __VA_ARGS__)                                                            \
  X(rate_limited_network_ingress, 0x30, __VA_ARGS__)                                               \
  X(rate_limited_network_egress, 0x31, __VA_ARGS__)                                                \
  X(rate_limited_max_connections, 0x32, __VA_ARGS__)                                               \
  X(rate_limited_max_commands, 0x33, __VA_ARGS__)                                                  \
  X(scope_size_limit_exceeded, 0x34, __VA_ARGS__)                                                  \
  X(unknown_frame_info, 0x80, __VA_ARGS__)                                                         \
  X(unknown_command, 0x81, __VA_ARGS__)                                                            \
  X(no_memory, 0x82, __VA_ARGS__)                                                                  \
  X(not_supported, 0x83, __VA_ARGS__)                                                              \
  X(internal, 0x84, __VA_ARGS__)                                                                   \
  X(busy, 0x85, __VA_ARGS__)                                                                       \
  X(temporary_failure, 0x86, __VA_ARGS__)                                                          \
  X(xattr_invalid, 0x87, __VA_ARGS__)                                                              \
  X(unknown_collection, 0x88, __VA_ARGS__)                                                         \
  X(no_collections_manifest, 0x89, __VA_ARGS__)                                                    \
  X(cannot_apply_collections_manifest, 0x8a, __VA_ARGS__)                                          \
  X(collections_manifest_is_ahead, 0x8b, __VA_ARGS__)                                              \
  X(unknown_scope, 0x8c, __VA_ARGS__)                                                              \
  X(dcp_stream_id_invalid, 0x8d, __VA_ARGS__)                                                      \
  X(durability_invalid_level, 0xa0, __VA_ARGS__)                                                   \
  X(durability_impossible, 0xa1, __VA_ARGS__)                                                      \
  X(sync_write_in_progress, 0xa2, __VA_ARGS__)                                                     \
  X(sync_write_ambiguous, 0xa3, __VA_ARGS__)                                                       \
  X(sync_write_re_commit_in_progress, 0xa4, __VA_ARGS__)                                           \
  X(subdoc_path_not_found, 0xc0, __VA_ARGS__)                                                      \
  X(subdoc_path_mismatch, 0xc1, __VA_ARGS__)                                                       \
  X(subdoc_path_invalid, 0xc2, __VA_ARGS__)                                                        \
  X(subdoc_path_too_big, 0xc3, __VA_ARGS__)                                                        \
  X(subdoc_doc_too_deep, 0xc4, __VA_ARGS__)                                                        \
  X(subdoc_value_cannot_insert, 0xc5, __VA_ARGS__)                                                 \
  X(subdoc_doc_not_json, 0xc6, __VA_ARGS__)                                                        \
  X(subdoc_num_range_error, 0xc7, __VA_ARGS__)                                                     \
  X(subdoc_delta_invalid, 0xc8, __VA_ARGS__)                                                       \
  X(subdoc_path_exists, 0xc9, __VA_ARGS__)                                                         \
  X(subdoc_value_too_deep, 0xca, __VA_ARGS__)                                                      \
  X(subdoc_invalid_combo, 0xcb, __VA_ARGS__)                                                       \
  X(subdoc_multi_path_failure, 0xcc, __VA_ARGS__)                                                  \
  X(subdoc_success_deleted, 0xcd, __VA_ARGS__)                                                     \
  X(subdoc_xattr_invalid_flag_combo, 0xce, __VA_ARGS__)                                            \
  X(subdoc_xattr_invalid_key_combo, 0xcf, __VA_ARGS__)                                             \
  X(subdoc_xattr_unknown_macro, 0xd0, __VA_ARGS__)                                                 \
  X(subdoc_xattr_unknown_vattr, 0xd1, __VA_ARGS__)                                                 \
  X(subdoc_xattr_cannot_modify_vattr, 0xd2, __VA_ARGS__)                                           \
  X(subdoc_multi_path_failure_deleted, 0xd3, __VA_ARGS__)                                          \
  X(subdoc_invalid_xattr_order, 0xd4, __VA_ARGS__)                                                 \
  X(subdoc_xattr_unknown_vattr_macro, 0xd5, __VA_ARGS__)                                           \
  X(subdoc_can_only_revive_deleted_documents, 0xd6, __VA_ARGS__)                                   \
  X(subdoc_deleted_document_cannot_have_value, 0xd7, __VA_ARGS__)                                  \
  X(range_scan_cancelled, 0xa5, __VA_ARGS__)                                                       \
  X(range_scan_more, 0xa6, __VA_ARGS__)                                                            \
  X(range_scan_complete, 0xa7, __VA_ARGS__)                                                        \
  X(range_scan_vb_uuid_not_equal, 0xa8, __VA_ARGS__)                                               \
  X(unknown, 0xffff, __VA_ARGS__)

PYCBC_DEFINE_INT16_ENUM_CONVERSION(couchbase::core::key_value_status_code,
                                   success,
                                   KEY_VALUE_STATUS_CODE_MAPPINGS)

// ==========================================================================================
// SUBDOC_OPCODE enum
// Default: get
// ==========================================================================================
#define SUBDOC_OPCODE_MAPPINGS(X, ...)                                                             \
  X(get_doc, 0x00, __VA_ARGS__)                                                                    \
  X(set_doc, 0x01, __VA_ARGS__)                                                                    \
  X(remove_doc, 0x04, __VA_ARGS__)                                                                 \
  X(get, 0xc5, __VA_ARGS__)                                                                        \
  X(exists, 0xc6, __VA_ARGS__)                                                                     \
  X(dict_add, 0xc7, __VA_ARGS__)                                                                   \
  X(dict_upsert, 0xc8, __VA_ARGS__)                                                                \
  X(remove, 0xc9, __VA_ARGS__)                                                                     \
  X(replace, 0xca, __VA_ARGS__)                                                                    \
  X(array_push_last, 0xcb, __VA_ARGS__)                                                            \
  X(array_push_first, 0xcc, __VA_ARGS__)                                                           \
  X(array_insert, 0xcd, __VA_ARGS__)                                                               \
  X(array_add_unique, 0xce, __VA_ARGS__)                                                           \
  X(counter, 0xcf, __VA_ARGS__)                                                                    \
  X(get_count, 0xd2, __VA_ARGS__)                                                                  \
  X(replace_body_with_xattr, 0xd3, __VA_ARGS__)

PYCBC_DEFINE_INT_ENUM_CONVERSION(couchbase::core::impl::subdoc::opcode, get, SUBDOC_OPCODE_MAPPINGS)

// ==========================================================================================
// PROTOCOL_SUBDOC_OPCODE enum
// Default: get
// ==========================================================================================
#define PROTOCOL_SUBDOC_OPCODE_MAPPINGS(X, ...)                                                    \
  X(get_doc, 0x00, __VA_ARGS__)                                                                    \
  X(set_doc, 0x01, __VA_ARGS__)                                                                    \
  X(remove_doc, 0x04, __VA_ARGS__)                                                                 \
  X(get, 0xc5, __VA_ARGS__)                                                                        \
  X(exists, 0xc6, __VA_ARGS__)                                                                     \
  X(dict_add, 0xc7, __VA_ARGS__)                                                                   \
  X(dict_upsert, 0xc8, __VA_ARGS__)                                                                \
  X(remove, 0xc9, __VA_ARGS__)                                                                     \
  X(replace, 0xca, __VA_ARGS__)                                                                    \
  X(array_push_last, 0xcb, __VA_ARGS__)                                                            \
  X(array_push_first, 0xcc, __VA_ARGS__)                                                           \
  X(array_insert, 0xcd, __VA_ARGS__)                                                               \
  X(array_add_unique, 0xce, __VA_ARGS__)                                                           \
  X(counter, 0xcf, __VA_ARGS__)                                                                    \
  X(get_count, 0xd2, __VA_ARGS__)                                                                  \
  X(replace_body_with_xattr, 0xd3, __VA_ARGS__)

PYCBC_DEFINE_INT_ENUM_CONVERSION(couchbase::core::protocol::subdoc_opcode,
                                 get,
                                 PROTOCOL_SUBDOC_OPCODE_MAPPINGS)

// ==========================================================================================
// STORE_SEMANTICS enum
// Default: upsert
// ==========================================================================================
#define STORE_SEMANTICS_MAPPINGS(X, ...)                                                           \
  X(replace, 0, __VA_ARGS__)                                                                       \
  X(upsert, 1, __VA_ARGS__)                                                                        \
  X(insert, 2, __VA_ARGS__)                                                                        \
  X(revive, 3, __VA_ARGS__)

PYCBC_DEFINE_INT_ENUM_CONVERSION(couchbase::store_semantics, upsert, STORE_SEMANTICS_MAPPINGS)

// ==========================================================================================
// ANALYTICS_SCAN_CONSISTENCY enum
// Default: not_bounded
// ==========================================================================================
#define ANALYTICS_SCAN_CONSISTENCY_MAPPINGS(X, ...)                                                \
  X(not_bounded, "not_bounded", __VA_ARGS__)                                                       \
  X(request_plus, "request_plus", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::analytics_scan_consistency,
                             not_bounded,
                             ANALYTICS_SCAN_CONSISTENCY_MAPPINGS)

// ==========================================================================================
// ANALYTICS_STATUS enum
// Default: running
// ==========================================================================================
#define ANALYTICS_STATUS_MAPPINGS(X, ...)                                                          \
  X(running, "running", __VA_ARGS__)                                                               \
  X(success, "success", __VA_ARGS__)                                                               \
  X(errors, "errors", __VA_ARGS__)                                                                 \
  X(completed, "completed", __VA_ARGS__)                                                           \
  X(stopped, "stopped", __VA_ARGS__)                                                               \
  X(timedout, "timedout", __VA_ARGS__)                                                             \
  X(closed, "closed", __VA_ARGS__)                                                                 \
  X(fatal, "fatal", __VA_ARGS__)                                                                   \
  X(aborted, "aborted", __VA_ARGS__)                                                               \
  X(unknown, "unknown", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::operations::analytics_response::analytics_status,
                             running,
                             ANALYTICS_STATUS_MAPPINGS)

// ==========================================================================================
// QUERY_SCAN_CONSISTENCY enum
// Default: not_bounded
// ==========================================================================================
#define QUERY_SCAN_CONSISTENCY_MAPPINGS(X, ...)                                                    \
  X(not_bounded, "not_bounded", __VA_ARGS__)                                                       \
  X(request_plus, "request_plus", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::query_scan_consistency,
                             not_bounded,
                             QUERY_SCAN_CONSISTENCY_MAPPINGS)

// ==========================================================================================
// QUERY_PROFILE enum
// Default: off
// ==========================================================================================
#define QUERY_PROFILE_MAPPINGS(X, ...)                                                             \
  X(off, "off", __VA_ARGS__)                                                                       \
  X(phases, "phases", __VA_ARGS__)                                                                 \
  X(timings, "timings", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::query_profile, off, QUERY_PROFILE_MAPPINGS)

// ==========================================================================================
// VECTOR_QUERY_COMBINATION enum
// Default: combination_and
// ==========================================================================================
#define VECTOR_QUERY_COMBINATION_MAPPINGS(X, ...)                                                  \
  X(combination_and, "combination_and", __VA_ARGS__)                                               \
  X(combination_or, "combination_or", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::vector_query_combination,
                             combination_and,
                             VECTOR_QUERY_COMBINATION_MAPPINGS)

// ==========================================================================================
// SEARCH_HIGHLIGHT_STYLE enum
// Default: html
// ==========================================================================================
#define SEARCH_HIGHLIGHT_STYLE_MAPPINGS(X, ...)                                                    \
  X(html, "html", __VA_ARGS__)                                                                     \
  X(ansi, "ansi", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::search_highlight_style,
                             html,
                             SEARCH_HIGHLIGHT_STYLE_MAPPINGS)

// ==========================================================================================
// SEARCH_SCAN_CONSISTENCY enum
// Default: not_bounded
// ==========================================================================================
#define SEARCH_SCAN_CONSISTENCY_MAPPINGS(X, ...) X(not_bounded, "not_bounded", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::search_scan_consistency,
                             not_bounded,
                             SEARCH_SCAN_CONSISTENCY_MAPPINGS)

// ==========================================================================================
// DESIGN_DOCUMENT_NAMESPACE enum
// Default: production
// ==========================================================================================
#define DESIGN_DOCUMENT_NAMESPACE_MAPPINGS(X, ...)                                                 \
  X(development, "development", __VA_ARGS__)                                                       \
  X(production, "production", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::design_document_namespace,
                             production,
                             DESIGN_DOCUMENT_NAMESPACE_MAPPINGS)

// ==========================================================================================
// VIEW_SCAN_CONSISTENCY enum
// Default: not_bounded
// ==========================================================================================
#define VIEW_SCAN_CONSISTENCY_MAPPINGS(X, ...)                                                     \
  X(not_bounded, "not_bounded", __VA_ARGS__)                                                       \
  X(update_after, "update_after", __VA_ARGS__)                                                     \
  X(request_plus, "request_plus", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::view_scan_consistency,
                             not_bounded,
                             VIEW_SCAN_CONSISTENCY_MAPPINGS)

// ==========================================================================================
// VIEW_SORT_ORDER enum
// Default: ascending
// ==========================================================================================
#define VIEW_SORT_ORDER_MAPPINGS(X, ...)                                                           \
  X(ascending, "ascending", __VA_ARGS__)                                                           \
  X(descending, "descending", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::view_sort_order, ascending, VIEW_SORT_ORDER_MAPPINGS)

// ==========================================================================================
// VIEW_ON_ERROR enum
// Default: resume
// ==========================================================================================
#define VIEW_ON_ERROR_MAPPINGS(X, ...)                                                             \
  X(resume, "resume", __VA_ARGS__)                                                                 \
  X(stop, "stop", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::view_on_error, resume, VIEW_ON_ERROR_MAPPINGS)

// ==========================================================================================
// COUCHBASE_LINK_ENCRYPTION_LEVEL enum
// Default: none
// ==========================================================================================
#define COUCHBASE_LINK_ENCRYPTION_LEVEL_MAPPINGS(X, ...)                                           \
  X(none, "none", __VA_ARGS__)                                                                     \
  X(half, "half", __VA_ARGS__)                                                                     \
  X(full, "full", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(
  couchbase::core::management::analytics::couchbase_link_encryption_level,
  none,
  COUCHBASE_LINK_ENCRYPTION_LEVEL_MAPPINGS)

// ==========================================================================================
// BUCKET_TYPE enum
// Default: unknown
// ==========================================================================================
#define BUCKET_TYPE_MAPPINGS(X, ...)                                                               \
  X(unknown, "unknown", __VA_ARGS__)                                                               \
  X(couchbase, "couchbase", __VA_ARGS__)                                                           \
  X(memcached, "memcached", __VA_ARGS__)                                                           \
  X(ephemeral, "ephemeral", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::cluster::bucket_type,
                             unknown,
                             BUCKET_TYPE_MAPPINGS)

// ==========================================================================================
// BUCKET_COMPRESSION enum
// Default: unknown
// ==========================================================================================
#define BUCKET_COMPRESSION_MAPPINGS(X, ...)                                                        \
  X(unknown, "unknown", __VA_ARGS__)                                                               \
  X(off, "off", __VA_ARGS__)                                                                       \
  X(active, "active", __VA_ARGS__)                                                                 \
  X(passive, "passive", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::cluster::bucket_compression,
                             unknown,
                             BUCKET_COMPRESSION_MAPPINGS)

// ==========================================================================================
// BUCKET_EVICTION_POLICY enum
// Default: unknown
// ==========================================================================================
#define BUCKET_EVICTION_POLICY_MAPPINGS(X, ...)                                                    \
  X(unknown, "unknown", __VA_ARGS__)                                                               \
  X(full, "full", __VA_ARGS__)                                                                     \
  X(value_only, "value_only", __VA_ARGS__)                                                         \
  X(no_eviction, "no_eviction", __VA_ARGS__)                                                       \
  X(not_recently_used, "not_recently_used", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::cluster::bucket_eviction_policy,
                             unknown,
                             BUCKET_EVICTION_POLICY_MAPPINGS)

// ==========================================================================================
// BUCKET_CONFLICT_RESOLUTION enum
// Default: unknown
// ==========================================================================================
#define BUCKET_CONFLICT_RESOLUTION_MAPPINGS(X, ...)                                                \
  X(unknown, "unknown", __VA_ARGS__)                                                               \
  X(timestamp, "timestamp", __VA_ARGS__)                                                           \
  X(sequence_number, "sequence_number", __VA_ARGS__)                                               \
  X(custom, "custom", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::cluster::bucket_conflict_resolution,
                             unknown,
                             BUCKET_CONFLICT_RESOLUTION_MAPPINGS)

// ==========================================================================================
// BUCKET_STORAGE_BACKEND enum
// Default: unknown
// ==========================================================================================
#define BUCKET_STORAGE_BACKEND_MAPPINGS(X, ...)                                                    \
  X(unknown, "unknown", __VA_ARGS__)                                                               \
  X(couchstore, "couchstore", __VA_ARGS__)                                                         \
  X(magma, "magma", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::cluster::bucket_storage_backend,
                             unknown,
                             BUCKET_STORAGE_BACKEND_MAPPINGS)

// ==========================================================================================
// FUNCTION_DCP_BOUNDARY enum
// Default: everything
// ==========================================================================================
#define FUNCTION_DCP_BOUNDARY_MAPPINGS(X, ...)                                                     \
  X(everything, "everything", __VA_ARGS__)                                                         \
  X(from_now, "from_now", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::eventing::function_dcp_boundary,
                             everything,
                             FUNCTION_DCP_BOUNDARY_MAPPINGS)

// ==========================================================================================
// FUNCTION_LANGUAGE_COMPATIBILITY enum
// Default: version_6_0_0
// ==========================================================================================
#define FUNCTION_LANGUAGE_COMPATIBILITY_MAPPINGS(X, ...)                                           \
  X(version_6_0_0, "version_6_0_0", __VA_ARGS__)                                                   \
  X(version_6_5_0, "version_6_5_0", __VA_ARGS__)                                                   \
  X(version_6_6_2, "version_6_6_2", __VA_ARGS__)                                                   \
  X(version_7_2_0, "version_7_2_0", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::eventing::function_language_compatibility,
                             version_6_0_0,
                             FUNCTION_LANGUAGE_COMPATIBILITY_MAPPINGS)

// ==========================================================================================
// FUNCTION_LOG_LEVEL enum
// Default: info
// ==========================================================================================
#define FUNCTION_LOG_LEVEL_MAPPINGS(X, ...)                                                        \
  X(info, "info", __VA_ARGS__)                                                                     \
  X(error, "error", __VA_ARGS__)                                                                   \
  X(warning, "warning", __VA_ARGS__)                                                               \
  X(debug, "debug", __VA_ARGS__)                                                                   \
  X(trace, "trace", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::eventing::function_log_level,
                             info,
                             FUNCTION_LOG_LEVEL_MAPPINGS)

// ==========================================================================================
// FUNCTION_BUCKET_ACCESS enum
// Default: read_write
// ==========================================================================================
#define FUNCTION_BUCKET_ACCESS_MAPPINGS(X, ...)                                                    \
  X(read_only, "read_only", __VA_ARGS__)                                                           \
  X(read_write, "read_write", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::eventing::function_bucket_access,
                             read_write,
                             FUNCTION_BUCKET_ACCESS_MAPPINGS)

// ==========================================================================================
// FUNCTION_STATUS enum
// Default: undeployed
// ==========================================================================================
#define FUNCTION_STATUS_MAPPINGS(X, ...)                                                           \
  X(undeployed, "undeployed", __VA_ARGS__)                                                         \
  X(undeploying, "undeploying", __VA_ARGS__)                                                       \
  X(deploying, "deploying", __VA_ARGS__)                                                           \
  X(deployed, "deployed", __VA_ARGS__)                                                             \
  X(paused, "paused", __VA_ARGS__)                                                                 \
  X(pausing, "pausing", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::eventing::function_status,
                             undeployed,
                             FUNCTION_STATUS_MAPPINGS)

// ==========================================================================================
// FUNCTION_DEPLOYMENT_STATUS enum
// Default: undeployed
// ==========================================================================================
#define FUNCTION_DEPLOYMENT_STATUS_MAPPINGS(X, ...)                                                \
  X(deployed, "deployed", __VA_ARGS__)                                                             \
  X(undeployed, "undeployed", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::eventing::function_deployment_status,
                             undeployed,
                             FUNCTION_DEPLOYMENT_STATUS_MAPPINGS)

// ==========================================================================================
// FUNCTION_PROCESSING_STATUS enum
// Default: paused
// ==========================================================================================
#define FUNCTION_PROCESSING_STATUS_MAPPINGS(X, ...)                                                \
  X(running, "running", __VA_ARGS__)                                                               \
  X(paused, "paused", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::eventing::function_processing_status,
                             paused,
                             FUNCTION_PROCESSING_STATUS_MAPPINGS)

// ==========================================================================================
// AUTH_DOMAIN enum
// Default: local
// ==========================================================================================
#define AUTH_DOMAIN_MAPPINGS(X, ...)                                                               \
  X(unknown, "unknown", __VA_ARGS__)                                                               \
  X(local, "local", __VA_ARGS__)                                                                   \
  X(external, "external", __VA_ARGS__)

PYCBC_DEFINE_ENUM_CONVERSION(couchbase::core::management::rbac::auth_domain,
                             local,
                             AUTH_DOMAIN_MAPPINGS)

} // namespace pycbc

// ====================================================================================================
// AUTOGENERATED FILE END - DO NOT EDIT MANUALLY
// Generated-On: 2026-03-21 17:10:03
// ====================================================================================================
