RGWOpType get_type() override { return RGW_OP_DELETE_OBJ_TAGGING;}
};
+class RGWGetBucketTags : public RGWOp {
+protected:
+ bufferlist tags_bl;
+ bool has_tags{false};
+public:
+ int verify_permission() override;
+ void execute() override;
+ void pre_exec() override;
+
+ virtual void send_response_data(bufferlist& bl) = 0;
+ const char* name() const override { return "get_bucket_tags"; }
+ virtual uint32_t op_mask() override { return RGW_OP_TYPE_READ; }
+ RGWOpType get_type() override { return RGW_OP_GET_BUCKET_TAGGING; }
+};
+
+class RGWPutBucketTags : public RGWOp {
+protected:
+ bufferlist tags_bl;
+public:
+ int verify_permission() override;
+ void execute() override;
+
+ virtual void send_response() override = 0;
+ virtual int get_params() = 0;
+ const char* name() const override { return "put_bucket_tags"; }
+ virtual uint32_t op_mask() override { return RGW_OP_TYPE_WRITE; }
+ RGWOpType get_type() override { return RGW_OP_PUT_BUCKET_TAGGING; }
+};
+
+class RGWDeleteBucketTags : public RGWOp {
+public:
+ void pre_exec() override;
+ int verify_permission() override;
+ void execute() override;
+
+ const char* name() const override { return "delete_bucket_tags"; }
+ virtual uint32_t op_mask() override { return RGW_OP_TYPE_DELETE; }
+ RGWOpType get_type() override { return RGW_OP_DELETE_BUCKET_TAGGING;}
+};
+
class RGWBulkDelete : public RGWOp {
public:
struct acct_path_t {
~RGWPutObjTags_ObjStore() {};
};
+class RGWGetBucketTags_ObjStore : public RGWGetBucketTags {
+public:
+ RGWGetBucketTags_ObjStore() = default;
+ virtual ~RGWGetBucketTags_ObjStore() = default;
+};
+
+class RGWPutBucketTags_ObjStore: public RGWPutBucketTags {
+public:
+ RGWPutBucketTags_ObjStore() = default;
+ virtual ~RGWPutBucketTags_ObjStore() = default;
+};
+
class RGWListBuckets_ObjStore : public RGWListBuckets {
public:
RGWListBuckets_ObjStore() {}
void send_response() override;
};
+class RGWGetBucketTags_ObjStore_S3 : public RGWGetBucketTags_ObjStore
+{
+ bufferlist tags_bl;
+public:
+ RGWGetBucketTags_ObjStore_S3() = default;
+ ~RGWGetBucketTags_ObjStore_S3() = default;
+
+ void send_response_data(bufferlist &bl) override;
+};
+
+class RGWPutBucketTags_ObjStore_S3 : public RGWPutBucketTags_ObjStore
+{
+public:
+ RGWPutBucketTags_ObjStore_S3() {}
+ ~RGWPutBucketTags_ObjStore_S3() {}
+
+ int get_params() override;
+ void send_response() override;
+};
+
+class RGWDeleteBucketTags_ObjStore_S3 : public RGWDeleteBucketTags
+{
+public:
+ ~RGWDeleteBucketTags_ObjStore_S3() override {}
+ void send_response() override;
+};
+
class RGWListBuckets_ObjStore_S3 : public RGWListBuckets_ObjStore {
public:
RGWListBuckets_ObjStore_S3() {}