]> git.proxmox.com Git - ceph.git/blame - ceph/src/rgw/rgw_lc_s3.h
import quincy beta 17.1.0
[ceph.git] / ceph / src / rgw / rgw_lc_s3.h
CommitLineData
11fdf7f2 1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
9f95a23c 2// vim: ts=8 sw=2 smarttab ft=cpp
11fdf7f2 3
7c673cae
FG
4#ifndef CEPH_RGW_LC_S3_H
5#define CEPH_RGW_LC_S3_H
6
7#include <map>
8#include <string>
9#include <iostream>
10#include <include/types.h>
11
7c673cae
FG
12#include "include/str_list.h"
13#include "rgw_lc.h"
14#include "rgw_xml.h"
11fdf7f2 15#include "rgw_tag_s3.h"
7c673cae 16
11fdf7f2 17class LCFilter_S3 : public LCFilter
7c673cae
FG
18{
19public:
11fdf7f2
TL
20 void dump_xml(Formatter *f) const;
21 void decode_xml(XMLObj *obj);
31f18b77
FG
22};
23
11fdf7f2 24class LCExpiration_S3 : public LCExpiration
7c673cae 25{
31f18b77 26private:
11fdf7f2 27 bool dm_expiration{false};
7c673cae 28public:
11fdf7f2 29 LCExpiration_S3() {}
20effc67 30 LCExpiration_S3(std::string _days, std::string _date, bool _dm_expiration) : LCExpiration(_days, _date), dm_expiration(_dm_expiration) {}
11fdf7f2
TL
31
32 void dump_xml(Formatter *f) const;
33 void decode_xml(XMLObj *obj);
31f18b77
FG
34
35 void set_dm_expiration(bool _dm_expiration) {
36 dm_expiration = _dm_expiration;
37 }
38
39 bool get_dm_expiration() {
40 return dm_expiration;
7c673cae
FG
41 }
42};
43
11fdf7f2 44class LCNoncurExpiration_S3 : public LCExpiration
7c673cae
FG
45{
46public:
47 LCNoncurExpiration_S3() {}
7c673cae 48
11fdf7f2
TL
49 void decode_xml(XMLObj *obj);
50 void dump_xml(Formatter *f) const;
7c673cae
FG
51};
52
11fdf7f2 53class LCMPExpiration_S3 : public LCExpiration
7c673cae
FG
54{
55public:
56 LCMPExpiration_S3() {}
7c673cae 57
11fdf7f2
TL
58 void decode_xml(XMLObj *obj);
59 void dump_xml(Formatter *f) const;
7c673cae
FG
60};
61
11fdf7f2 62class LCTransition_S3 : public LCTransition
7c673cae
FG
63{
64public:
11fdf7f2 65 LCTransition_S3() {}
b32b8144 66
11fdf7f2
TL
67 void decode_xml(XMLObj *obj);
68 void dump_xml(Formatter *f) const;
7c673cae
FG
69};
70
11fdf7f2 71class LCNoncurTransition_S3 : public LCTransition
7c673cae 72{
11fdf7f2
TL
73public:
74 LCNoncurTransition_S3() {}
75 ~LCNoncurTransition_S3() {}
76
77 void decode_xml(XMLObj *obj);
78 void dump_xml(Formatter *f) const;
79};
80
7c673cae 81
11fdf7f2
TL
82class LCRule_S3 : public LCRule
83{
7c673cae 84public:
11fdf7f2
TL
85 LCRule_S3() {}
86
87 void dump_xml(Formatter *f) const;
88 void decode_xml(XMLObj *obj);
7c673cae
FG
89};
90
11fdf7f2 91class RGWLifecycleConfiguration_S3 : public RGWLifecycleConfiguration
7c673cae
FG
92{
93public:
11fdf7f2
TL
94 explicit RGWLifecycleConfiguration_S3(CephContext *_cct) : RGWLifecycleConfiguration(_cct) {}
95 RGWLifecycleConfiguration_S3() : RGWLifecycleConfiguration(nullptr) {}
96
97 void decode_xml(XMLObj *obj);
f67539c2 98 int rebuild(RGWLifecycleConfiguration& dest);
7c673cae
FG
99 void dump_xml(Formatter *f) const;
100};
101
7c673cae 102#endif