1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab ft=cpp
4 #ifndef CEPH_RGW_SYNC_MODULE_ES_H
5 #define CEPH_RGW_SYNC_MODULE_ES_H
7 #include "rgw_sync_module.h"
10 /* string datatypes */
11 String
, /* Deprecated Since 5.X+ */
16 Long
, Integer
, Short
, Byte
, Double
, Float
, Half_Float
, Scaled_Float
,
24 /* Binary; Must Be Base64 Encoded */
28 Integer_Range
, Float_Range
, Long_Range
, Double_Range
, Date_Range
,
30 /* A Few Specialized Types */
36 class RGWElasticSyncModule
: public RGWSyncModule
{
38 RGWElasticSyncModule() {}
39 bool supports_data_export() override
{
42 int create_instance(const DoutPrefixProvider
*dpp
, CephContext
*cct
, const JSONFormattable
& config
, RGWSyncModuleInstanceRef
*instance
) override
;
45 class RGWElasticDataSyncModule
;
48 class RGWElasticSyncModuleInstance
: public RGWSyncModuleInstance
{
49 std::unique_ptr
<RGWElasticDataSyncModule
> data_handler
;
51 RGWElasticSyncModuleInstance(const DoutPrefixProvider
*dpp
, CephContext
*cct
, const JSONFormattable
& config
);
52 RGWDataSyncModule
*get_data_handler() override
;
53 RGWRESTMgr
*get_rest_filter(int dialect
, RGWRESTMgr
*orig
) override
;
54 RGWRESTConn
*get_rest_conn();
55 std::string
get_index_path();
56 std::map
<std::string
, std::string
>& get_request_headers();
57 bool supports_user_writes() override
{