]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab ft=cpp | |
3 | ||
11fdf7f2 TL |
4 | #ifndef CEPH_RGW_CR_TOOLS_H |
5 | #define CEPH_RGW_CR_TOOLS_H | |
6 | ||
7 | #include "rgw_cr_rados.h" | |
8 | #include "rgw_tools.h" | |
9 | #include "rgw_lc.h" | |
10 | ||
9f95a23c | 11 | #include "services/svc_bucket_sync.h" |
11fdf7f2 TL |
12 | |
13 | struct rgw_user_create_params { | |
14 | rgw_user user; | |
15 | std::string display_name; | |
16 | std::string email; | |
17 | std::string access_key; | |
18 | std::string secret_key; | |
19 | std::string key_type; /* "swift" or "s3" */ | |
20 | std::string caps; | |
21 | ||
22 | bool generate_key{true}; | |
23 | bool suspended{false}; | |
24 | std::optional<int32_t> max_buckets; | |
25 | bool system{false}; | |
26 | bool exclusive{false}; | |
27 | bool apply_quota{true}; | |
28 | }; | |
29 | ||
30 | using RGWUserCreateCR = RGWSimpleWriteOnlyAsyncCR<rgw_user_create_params>; | |
31 | ||
32 | struct rgw_get_user_info_params { | |
33 | rgw_user user; | |
34 | }; | |
35 | ||
36 | using RGWGetUserInfoCR = RGWSimpleAsyncCR<rgw_get_user_info_params, RGWUserInfo>; | |
37 | ||
38 | struct rgw_get_bucket_info_params { | |
20effc67 TL |
39 | std::string tenant; |
40 | std::string bucket_name; | |
11fdf7f2 TL |
41 | }; |
42 | ||
43 | struct rgw_get_bucket_info_result { | |
20effc67 | 44 | std::unique_ptr<rgw::sal::Bucket> bucket; |
11fdf7f2 TL |
45 | }; |
46 | ||
47 | using RGWGetBucketInfoCR = RGWSimpleAsyncCR<rgw_get_bucket_info_params, rgw_get_bucket_info_result>; | |
48 | ||
49 | struct rgw_bucket_create_local_params { | |
20effc67 | 50 | std::shared_ptr<RGWUserInfo> user_info; |
11fdf7f2 TL |
51 | std::string bucket_name; |
52 | rgw_placement_rule placement_rule; | |
53 | }; | |
54 | ||
55 | using RGWBucketCreateLocalCR = RGWSimpleWriteOnlyAsyncCR<rgw_bucket_create_local_params>; | |
56 | ||
57 | struct rgw_object_simple_put_params { | |
58 | RGWDataAccess::BucketRef bucket; | |
59 | rgw_obj_key key; | |
60 | bufferlist data; | |
20effc67 TL |
61 | std::map<std::string, bufferlist> attrs; |
62 | std::optional<std::string> user_data; | |
11fdf7f2 TL |
63 | }; |
64 | ||
65 | using RGWObjectSimplePutCR = RGWSimpleWriteOnlyAsyncCR<rgw_object_simple_put_params>; | |
66 | ||
67 | ||
68 | struct rgw_bucket_lifecycle_config_params { | |
20effc67 TL |
69 | rgw::sal::Bucket* bucket; |
70 | rgw::sal::Attrs bucket_attrs; | |
11fdf7f2 TL |
71 | RGWLifecycleConfiguration config; |
72 | }; | |
73 | ||
74 | using RGWBucketLifecycleConfigCR = RGWSimpleWriteOnlyAsyncCR<rgw_bucket_lifecycle_config_params>; | |
75 | ||
9f95a23c TL |
76 | struct rgw_bucket_get_sync_policy_params { |
77 | std::optional<rgw_zone_id> zone; | |
78 | std::optional<rgw_bucket> bucket; | |
79 | }; | |
80 | ||
81 | struct rgw_bucket_get_sync_policy_result { | |
82 | RGWBucketSyncPolicyHandlerRef policy_handler; | |
83 | }; | |
84 | ||
85 | using RGWBucketGetSyncPolicyHandlerCR = RGWSimpleAsyncCR<rgw_bucket_get_sync_policy_params, rgw_bucket_get_sync_policy_result>; | |
11fdf7f2 TL |
86 | |
87 | #endif |