7#include <aws/core/utils/DateTime.h>
8#include <aws/s3/S3_EXPORTS.h>
9#include <aws/s3/model/EventHoldDuration.h>
10#include <aws/s3/model/ObjectLockEventHold.h>
11#include <aws/s3/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;
ObjectLockRetention & WithEventHold(ObjectLockEventHold value)
bool RetainUntilDateHasBeenSet() const
bool EventHoldDurationHasBeenSet() const
bool EventHoldHasBeenSet() const
void SetMode(ObjectLockRetentionMode value)
AWS_S3_API ObjectLockRetention()=default
void SetRetainUntilDate(RetainUntilDateT &&value)
void SetEventHold(ObjectLockEventHold value)
void SetEventHoldDuration(EventHoldDurationT &&value)
ObjectLockEventHold GetEventHold() const
AWS_S3_API ObjectLockRetention(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3_API ObjectLockRetention & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_S3_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
bool ModeHasBeenSet() const
const EventHoldDuration & GetEventHoldDuration() const
ObjectLockRetention & WithRetainUntilDate(RetainUntilDateT &&value)
ObjectLockRetention & WithMode(ObjectLockRetentionMode value)
ObjectLockRetentionMode GetMode() const
const Aws::Utils::DateTime & GetRetainUntilDate() const
ObjectLockRetention & WithEventHoldDuration(EventHoldDurationT &&value)