7#include <aws/s3-crt/S3Crt_EXPORTS.h>
8#include <aws/s3-crt/model/EventHoldDuration.h>
9#include <aws/s3-crt/model/ObjectLockRetentionMode.h>
50 m_modeHasBeenSet =
true;
64 inline int GetDays()
const {
return m_days; }
67 m_daysHasBeenSet =
true;
81 inline int GetYears()
const {
return m_years; }
84 m_yearsHasBeenSet =
true;
101 template <
typename DefaultEventHoldT = EventHoldDuration>
103 m_defaultEventHoldHasBeenSet =
true;
104 m_defaultEventHold = std::forward<DefaultEventHoldT>(value);
106 template <
typename DefaultEventHoldT = EventHoldDuration>
119 EventHoldDuration m_defaultEventHold;
120 bool m_modeHasBeenSet =
false;
121 bool m_daysHasBeenSet =
false;
122 bool m_yearsHasBeenSet =
false;
123 bool m_defaultEventHoldHasBeenSet =
false;
DefaultRetention & WithYears(int value)
void SetMode(ObjectLockRetentionMode value)
bool YearsHasBeenSet() const
AWS_S3CRT_API DefaultRetention()=default
DefaultRetention & WithDefaultEventHold(DefaultEventHoldT &&value)
DefaultRetention & WithMode(ObjectLockRetentionMode value)
const EventHoldDuration & GetDefaultEventHold() const
void SetDefaultEventHold(DefaultEventHoldT &&value)
bool ModeHasBeenSet() const
AWS_S3CRT_API DefaultRetention(const Aws::Utils::Xml::XmlNode &xmlNode)
ObjectLockRetentionMode GetMode() const
DefaultRetention & WithDays(int value)
AWS_S3CRT_API DefaultRetention & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool DaysHasBeenSet() const
bool DefaultEventHoldHasBeenSet() const
AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const