]> git.proxmox.com Git - ceph.git/blame - ceph/src/rgw/rgw_bucket.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / rgw / rgw_bucket.h
CommitLineData
7c673cae 1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
9f95a23c 2// vim: ts=8 sw=2 smarttab ft=cpp
7c673cae 3
20effc67 4#pragma once
7c673cae
FG
5
6#include <string>
7#include <memory>
f67539c2
TL
8#include <variant>
9
10#include <boost/container/flat_map.hpp>
11#include <boost/container/flat_set.hpp>
7c673cae
FG
12
13#include "include/types.h"
14#include "rgw_common.h"
20effc67 15#include "rgw_sal.h"
7c673cae 16
20effc67
TL
17extern 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
20effc67 19extern int rgw_bucket_parse_bucket_key(CephContext *cct, const std::string& key,
7c673cae
FG
20 rgw_bucket* bucket, int *shard_id);
21
7c673cae
FG
22extern std::string rgw_make_bucket_entry_name(const std::string& tenant_name,
23 const std::string& bucket_name);
7c673cae 24
39ae355f
TL
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
1e59de90 30extern int rgw_chown_bucket_and_objects(rgw::sal::Driver* driver,
39ae355f
TL
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);