1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab ft=cpp
4 #ifndef CEPH_RGW_LC_S3_H
5 #define CEPH_RGW_LC_S3_H
10 #include <include/types.h>
12 #include "include/str_list.h"
15 #include "rgw_tag_s3.h"
17 class LCFilter_S3
: public LCFilter
20 void dump_xml(Formatter
*f
) const;
21 void decode_xml(XMLObj
*obj
);
24 class LCExpiration_S3
: public LCExpiration
27 bool dm_expiration
{false};
30 LCExpiration_S3(std::string _days
, std::string _date
, bool _dm_expiration
) : LCExpiration(_days
, _date
), dm_expiration(_dm_expiration
) {}
32 void dump_xml(Formatter
*f
) const;
33 void decode_xml(XMLObj
*obj
);
35 void set_dm_expiration(bool _dm_expiration
) {
36 dm_expiration
= _dm_expiration
;
39 bool get_dm_expiration() {
44 class LCNoncurExpiration_S3
: public LCExpiration
47 LCNoncurExpiration_S3() {}
49 void decode_xml(XMLObj
*obj
);
50 void dump_xml(Formatter
*f
) const;
53 class LCMPExpiration_S3
: public LCExpiration
56 LCMPExpiration_S3() {}
58 void decode_xml(XMLObj
*obj
);
59 void dump_xml(Formatter
*f
) const;
62 class LCTransition_S3
: public LCTransition
67 void decode_xml(XMLObj
*obj
);
68 void dump_xml(Formatter
*f
) const;
71 class LCNoncurTransition_S3
: public LCTransition
74 LCNoncurTransition_S3() {}
75 ~LCNoncurTransition_S3() {}
77 void decode_xml(XMLObj
*obj
);
78 void dump_xml(Formatter
*f
) const;
82 class LCRule_S3
: public LCRule
87 void dump_xml(Formatter
*f
) const;
88 void decode_xml(XMLObj
*obj
);
91 class RGWLifecycleConfiguration_S3
: public RGWLifecycleConfiguration
94 explicit RGWLifecycleConfiguration_S3(CephContext
*_cct
) : RGWLifecycleConfiguration(_cct
) {}
95 RGWLifecycleConfiguration_S3() : RGWLifecycleConfiguration(nullptr) {}
97 void decode_xml(XMLObj
*obj
);
98 int rebuild(RGWLifecycleConfiguration
& dest
);
99 void dump_xml(Formatter
*f
) const;