7#include <aws/core/utils/DateTime.h>
8#include <aws/s3control/S3Control_EXPORTS.h>
9#include <aws/s3control/model/S3ObjectLockRetentionEventHold.h>
10#include <aws/s3control/model/S3ObjectLockRetentionEventHoldDuration.h>
11#include <aws/s3control/model/S3ObjectLockRetentionMode.h>
50 template <
typename RetainUntilDateT = Aws::Utils::DateTime>
52 m_retainUntilDateHasBeenSet =
true;
53 m_retainUntilDate = std::forward<RetainUntilDateT>(value);
55 template <
typename RetainUntilDateT = Aws::Utils::DateTime>
70 m_modeHasBeenSet =
true;
88 m_eventHoldHasBeenSet =
true;
105 template <
typename EventHoldDurationT = S3ObjectLockRetentionEventHoldDuration>
107 m_eventHoldDurationHasBeenSet =
true;
108 m_eventHoldDuration = std::forward<EventHoldDurationT>(value);
110 template <
typename EventHoldDurationT = S3ObjectLockRetentionEventHoldDuration>
123 S3ObjectLockRetentionEventHoldDuration m_eventHoldDuration;
124 bool m_retainUntilDateHasBeenSet =
false;
125 bool m_modeHasBeenSet =
false;
126 bool m_eventHoldHasBeenSet =
false;
127 bool m_eventHoldDurationHasBeenSet =
false;
const S3ObjectLockRetentionEventHoldDuration & GetEventHoldDuration() const
S3ObjectLockRetentionMode GetMode() const
void SetEventHold(S3ObjectLockRetentionEventHold value)
bool ModeHasBeenSet() const
S3ObjectLockRetentionEventHold GetEventHold() const
void SetMode(S3ObjectLockRetentionMode value)
S3Retention & WithRetainUntilDate(RetainUntilDateT &&value)
void SetEventHoldDuration(EventHoldDurationT &&value)
AWS_S3CONTROL_API S3Retention()=default
void SetRetainUntilDate(RetainUntilDateT &&value)
S3Retention & WithEventHold(S3ObjectLockRetentionEventHold value)
const Aws::Utils::DateTime & GetRetainUntilDate() const
bool EventHoldHasBeenSet() const
AWS_S3CONTROL_API S3Retention(const Aws::Utils::Xml::XmlNode &xmlNode)
S3Retention & WithEventHoldDuration(EventHoldDurationT &&value)
bool RetainUntilDateHasBeenSet() const
AWS_S3CONTROL_API void AddToNode(Aws::Utils::Xml::XmlNode &parentNode) const
bool EventHoldDurationHasBeenSet() const
AWS_S3CONTROL_API S3Retention & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
S3Retention & WithMode(S3ObjectLockRetentionMode value)
S3ObjectLockRetentionEventHold
S3ObjectLockRetentionMode