]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rgw/rgw_rest_usage.cc
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / rgw / rgw_rest_usage.cc
index ea4430e3c11c37e1dfb0395bd3b8448bae01bf83..23b7a971068e149e473396d4342276d298e12b61 100644 (file)
@@ -19,18 +19,20 @@ public:
   }
   void execute() override;
 
-  const string name() override { return "get_usage"; }
+  const char* name() const override { return "get_usage"; }
 };
 
 void RGWOp_Usage_Get::execute() {
   map<std::string, bool> categories;
 
   string uid_str;
+  string bucket_name;
   uint64_t start, end;
   bool show_entries;
   bool show_summary;
 
   RESTArgs::get_string(s, "uid", uid_str, &uid_str);
+  RESTArgs::get_string(s, "bucket", bucket_name, &bucket_name);
   rgw_user uid(uid_str);
 
   RESTArgs::get_epoch(s, "start", 0, &start);
@@ -50,7 +52,7 @@ void RGWOp_Usage_Get::execute() {
     }
   }
 
-  http_ret = RGWUsage::show(store, uid, start, end, show_entries, show_summary, &categories, flusher);
+  http_ret = RGWUsage::show(store, uid, bucket_name, start, end, show_entries, show_summary, &categories, flusher);
 }
 
 class RGWOp_Usage_Delete : public RGWRESTOp {
@@ -63,20 +65,23 @@ public:
   }
   void execute() override;
 
-  const string name() override { return "trim_usage"; }
+  const char* name() const override { return "trim_usage"; }
 };
 
 void RGWOp_Usage_Delete::execute() {
   string uid_str;
+  string bucket_name;
   uint64_t start, end;
 
   RESTArgs::get_string(s, "uid", uid_str, &uid_str);
+  RESTArgs::get_string(s, "bucket", bucket_name, &bucket_name);
   rgw_user uid(uid_str);
 
   RESTArgs::get_epoch(s, "start", 0, &start);
   RESTArgs::get_epoch(s, "end", (uint64_t)-1, &end);
 
   if (uid.empty() &&
+      !bucket_name.empty() &&
       !start &&
       end == (uint64_t)-1) {
     bool remove_all;
@@ -87,7 +92,7 @@ void RGWOp_Usage_Delete::execute() {
     }
   }
 
-  http_ret = RGWUsage::trim(store, uid, start, end);
+  http_ret = RGWUsage::trim(store, uid, bucket_name, start, end);
 }
 
 RGWOp *RGWHandler_Usage::op_get()