static const std::string& get_path_oid_prefix();
};
WRITE_CLASS_ENCODER(RGWRole)
+
+class RGWRoleMetadataHandler;
+class RGWSI_Role;
+class RGWSI_MetaBackend_Handler;
+
+class RGWRoleCtl {
+ struct Svc {
+ RGWSI_Role *role {nullptr};
+ } svc;
+ RGWRoleMetadataHandler *rmhandler;
+ RGWSI_MetaBackend_Handler *be_handler{nullptr};
+public:
+ RGWRoleCtl(RGWSI_Role *_role_svc,
+ RGWRoleMetadataHandler *_rmhander);
+
+ struct PutParams {
+ ceph::real_time mtime;
+ bool exclusive {false};
+ RGWObjVersionTracker *objv_tracker {nullptr};
+ std::map<std::string, bufferlist> *attrs {nullptr};
+
+ PutParams() {};
+ };
+
+ int store_info(const RGWRole& role,
+ optional_yield y,
+ const PutParams& params = {});
+};
} } // namespace rgw::sal
#endif /* CEPH_RGW_ROLE_H */