// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- // vim: ts=8 sw=2 smarttab ft=cpp #ifndef CEPH_RGW_CR_TOOLS_H #define CEPH_RGW_CR_TOOLS_H #include "rgw_cr_rados.h" #include "rgw_tools.h" #include "rgw_lc.h" #include "services/svc_bucket_sync.h" struct rgw_user_create_params { rgw_user user; std::string display_name; std::string email; std::string access_key; std::string secret_key; std::string key_type; /* "swift" or "s3" */ std::string caps; bool generate_key{true}; bool suspended{false}; std::optional max_buckets; bool system{false}; bool exclusive{false}; bool apply_quota{true}; }; using RGWUserCreateCR = RGWSimpleWriteOnlyAsyncCR; struct rgw_get_user_info_params { rgw_user user; }; using RGWGetUserInfoCR = RGWSimpleAsyncCR; struct rgw_get_bucket_info_params { string tenant; string bucket_name; }; struct rgw_get_bucket_info_result { ceph::real_time mtime; RGWBucketInfo bucket_info; map attrs; }; using RGWGetBucketInfoCR = RGWSimpleAsyncCR; struct rgw_bucket_create_local_params { shared_ptr user_info; std::string bucket_name; rgw_placement_rule placement_rule; }; using RGWBucketCreateLocalCR = RGWSimpleWriteOnlyAsyncCR; struct rgw_object_simple_put_params { RGWDataAccess::BucketRef bucket; rgw_obj_key key; bufferlist data; map attrs; std::optional user_data; }; using RGWObjectSimplePutCR = RGWSimpleWriteOnlyAsyncCR; struct rgw_bucket_lifecycle_config_params { RGWBucketInfo bucket_info; map bucket_attrs; RGWLifecycleConfiguration config; }; using RGWBucketLifecycleConfigCR = RGWSimpleWriteOnlyAsyncCR; struct rgw_bucket_get_sync_policy_params { std::optional zone; std::optional bucket; }; struct rgw_bucket_get_sync_policy_result { RGWBucketSyncPolicyHandlerRef policy_handler; }; using RGWBucketGetSyncPolicyHandlerCR = RGWSimpleAsyncCR; #endif