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