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>
56 inline void SetAuditLogVolume(
bool value) { m_auditLogVolumeHasBeenSet =
true; m_auditLogVolume = value; }
67 template<
typename AutocommitPeriodT = AutocommitPeriod>
68 void SetAutocommitPeriod(AutocommitPeriodT&& value) { m_autocommitPeriodHasBeenSet =
true; m_autocommitPeriod = std::forward<AutocommitPeriodT>(value); }
69 template<
typename AutocommitPeriodT = AutocommitPeriod>
96 template<
typename RetentionPeriodT = SnaplockRetentionPeriod>
97 void SetRetentionPeriod(RetentionPeriodT&& value) { m_retentionPeriodHasBeenSet =
true; m_retentionPeriod = std::forward<RetentionPeriodT>(value); }
98 template<
typename RetentionPeriodT = SnaplockRetentionPeriod>
143 bool m_auditLogVolume{
false};
144 bool m_auditLogVolumeHasBeenSet =
false;
146 AutocommitPeriod m_autocommitPeriod;
147 bool m_autocommitPeriodHasBeenSet =
false;
150 bool m_privilegedDeleteHasBeenSet =
false;
152 SnaplockRetentionPeriod m_retentionPeriod;
153 bool m_retentionPeriodHasBeenSet =
false;
156 bool m_snaplockTypeHasBeenSet =
false;
158 bool m_volumeAppendModeEnabled{
false};
159 bool m_volumeAppendModeEnabledHasBeenSet =
false;
bool GetAuditLogVolume() const
void SetAuditLogVolume(bool value)
bool AutocommitPeriodHasBeenSet() const
CreateSnaplockConfiguration & WithPrivilegedDelete(PrivilegedDelete value)
void SetRetentionPeriod(RetentionPeriodT &&value)
const AutocommitPeriod & GetAutocommitPeriod() const
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
CreateSnaplockConfiguration & WithSnaplockType(SnaplockType value)
bool PrivilegedDeleteHasBeenSet() const
bool AuditLogVolumeHasBeenSet() const
bool SnaplockTypeHasBeenSet() const
AWS_FSX_API CreateSnaplockConfiguration()=default
CreateSnaplockConfiguration & WithRetentionPeriod(RetentionPeriodT &&value)
bool VolumeAppendModeEnabledHasBeenSet() const
void SetPrivilegedDelete(PrivilegedDelete value)
AWS_FSX_API CreateSnaplockConfiguration(Aws::Utils::Json::JsonView jsonValue)
bool RetentionPeriodHasBeenSet() const
CreateSnaplockConfiguration & WithAutocommitPeriod(AutocommitPeriodT &&value)
PrivilegedDelete GetPrivilegedDelete() const
AWS_FSX_API CreateSnaplockConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
const SnaplockRetentionPeriod & GetRetentionPeriod() const
void SetSnaplockType(SnaplockType value)
void SetVolumeAppendModeEnabled(bool value)
CreateSnaplockConfiguration & WithVolumeAppendModeEnabled(bool value)
CreateSnaplockConfiguration & WithAuditLogVolume(bool value)
bool GetVolumeAppendModeEnabled() const
void SetAutocommitPeriod(AutocommitPeriodT &&value)
SnaplockType GetSnaplockType() const
Aws::Utils::Json::JsonValue JsonValue