7#include <aws/core/utils/DateTime.h>
8#include <aws/s3-crt/S3Crt_EXPORTS.h>
9#include <aws/s3-crt/model/EventHoldDuration.h>
10#include <aws/s3-crt/model/ObjectLockEventHold.h>
11#include <aws/s3-crt/model/ObjectLockRetentionMode.h>
44 m_modeHasBeenSet =
true;
59 template <
typename RetainUntilDateT = Aws::Utils::DateTime>
61 m_retainUntilDateHasBeenSet =
true;
62 m_retainUntilDate = std::forward<RetainUntilDateT>(value);
64 template <
typename RetainUntilDateT = Aws::Utils::DateTime>
79 m_eventHoldHasBeenSet =
true;
95 template <
typename EventHoldDurationT = EventHoldDuration>
97 m_eventHoldDurationHasBeenSet =
true;
98 m_eventHoldDuration = std::forward<EventHoldDurationT>(value);
100 template <
typename EventHoldDurationT = EventHoldDuration>
113 EventHoldDuration m_eventHoldDuration;
114 bool m_modeHasBeenSet =
false;
115 bool m_retainUntilDateHasBeenSet =
false;
116 bool m_eventHoldHasBeenSet =
false;
117 bool m_eventHoldDurationHasBeenSet =
false;
AWS_S3CRT_API ObjectLockRetention & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ObjectLockRetention & WithMode(ObjectLockRetentionMode value)
ObjectLockEventHold GetEventHold() const
AWS_S3CRT_API ObjectLockRetention(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetEventHoldDuration(EventHoldDurationT &&value)
ObjectLockRetention & WithRetainUntilDate(RetainUntilDateT &&value)
bool EventHoldDurationHasBeenSet() const
bool ModeHasBeenSet() const
const Aws::Utils::DateTime & GetRetainUntilDate() const
const EventHoldDuration & GetEventHoldDuration() const
void SetRetainUntilDate(RetainUntilDateT &&value)
bool RetainUntilDateHasBeenSet() const
ObjectLockRetention & WithEventHoldDuration(EventHoldDurationT &&value)
void SetEventHold(ObjectLockEventHold value)
ObjectLockRetention & WithEventHold(ObjectLockEventHold value)
AWS_S3CRT_API ObjectLockRetention()=default
ObjectLockRetentionMode GetMode() const
AWS_S3CRT_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
void SetMode(ObjectLockRetentionMode value)
bool EventHoldHasBeenSet() const