]> git.proxmox.com Git - ceph.git/blob - ceph/src/rgw/rgw_bucket.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / rgw / rgw_bucket.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab ft=cpp
3
4 #pragma once
5
6 #include <string>
7 #include <memory>
8 #include <variant>
9
10 #include <boost/container/flat_map.hpp>
11 #include <boost/container/flat_set.hpp>
12
13 #include "include/types.h"
14 #include "rgw_common.h"
15 #include "rgw_sal.h"
16
17 extern void init_bucket(rgw_bucket *b, const char *t, const char *n, const char *dp, const char *ip, const char *m, const char *id);
18
19 extern int rgw_bucket_parse_bucket_key(CephContext *cct, const std::string& key,
20 rgw_bucket* bucket, int *shard_id);
21
22 extern std::string rgw_make_bucket_entry_name(const std::string& tenant_name,
23 const std::string& bucket_name);
24
25 [[nodiscard]] int rgw_parse_url_bucket(const std::string& bucket,
26 const std::string& auth_tenant,
27 std::string &tenant_name,
28 std::string &bucket_name);
29
30 extern int rgw_chown_bucket_and_objects(rgw::sal::Driver* driver,
31 rgw::sal::Bucket* bucket,
32 rgw::sal::User* new_user,
33 const std::string& marker,
34 std::string *err_msg,
35 const DoutPrefixProvider *dpp,
36 optional_yield y);