7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/fsx/model/AutocommitPeriod.h>
9#include <aws/fsx/model/PrivilegedDelete.h>
10#include <aws/fsx/model/SnaplockRetentionPeriod.h>
11#include <aws/fsx/model/SnaplockType.h>
51 m_auditLogVolumeHasBeenSet =
true;
52 m_auditLogVolume = value;
67 template <
typename AutocommitPeriodT = AutocommitPeriod>
69 m_autocommitPeriodHasBeenSet =
true;
70 m_autocommitPeriod = std::forward<AutocommitPeriodT>(value);
72 template <
typename AutocommitPeriodT = AutocommitPeriod>
94 m_privilegedDeleteHasBeenSet =
true;
95 m_privilegedDelete = value;
109 template <
typename RetentionPeriodT = SnaplockRetentionPeriod>
111 m_retentionPeriodHasBeenSet =
true;
112 m_retentionPeriod = std::forward<RetentionPeriodT>(value);
114 template <
typename RetentionPeriodT = SnaplockRetentionPeriod>
143 m_snaplockTypeHasBeenSet =
true;
144 m_snaplockType = value;
164 m_volumeAppendModeEnabledHasBeenSet =
true;
165 m_volumeAppendModeEnabled = value;
173 bool m_auditLogVolume{
false};
175 AutocommitPeriod m_autocommitPeriod;
179 SnaplockRetentionPeriod m_retentionPeriod;
183 bool m_volumeAppendModeEnabled{
false};
184 bool m_auditLogVolumeHasBeenSet =
false;
185 bool m_autocommitPeriodHasBeenSet =
false;
186 bool m_privilegedDeleteHasBeenSet =
false;
187 bool m_retentionPeriodHasBeenSet =
false;
188 bool m_snaplockTypeHasBeenSet =
false;
189 bool m_volumeAppendModeEnabledHasBeenSet =
false;
void SetVolumeAppendModeEnabled(bool value)
bool GetVolumeAppendModeEnabled() const
SnaplockType GetSnaplockType() const
SnaplockConfiguration & WithSnaplockType(SnaplockType value)
bool AutocommitPeriodHasBeenSet() const
bool AuditLogVolumeHasBeenSet() const
void SetAuditLogVolume(bool value)
bool RetentionPeriodHasBeenSet() const
void SetSnaplockType(SnaplockType value)
bool PrivilegedDeleteHasBeenSet() const
PrivilegedDelete GetPrivilegedDelete() const
AWS_FSX_API SnaplockConfiguration(Aws::Utils::Json::JsonView jsonValue)
SnaplockConfiguration & WithRetentionPeriod(RetentionPeriodT &&value)
bool GetAuditLogVolume() const
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
void SetRetentionPeriod(RetentionPeriodT &&value)
AWS_FSX_API SnaplockConfiguration()=default
AWS_FSX_API SnaplockConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
bool VolumeAppendModeEnabledHasBeenSet() const
SnaplockConfiguration & WithAuditLogVolume(bool value)
const SnaplockRetentionPeriod & GetRetentionPeriod() const
bool SnaplockTypeHasBeenSet() const
void SetPrivilegedDelete(PrivilegedDelete value)
void SetAutocommitPeriod(AutocommitPeriodT &&value)
SnaplockConfiguration & WithPrivilegedDelete(PrivilegedDelete value)
SnaplockConfiguration & WithVolumeAppendModeEnabled(bool value)
const AutocommitPeriod & GetAutocommitPeriod() const
SnaplockConfiguration & WithAutocommitPeriod(AutocommitPeriodT &&value)
Aws::Utils::Json::JsonValue JsonValue