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>
97 template<
typename RetentionPeriodT = SnaplockRetentionPeriod>
98 void SetRetentionPeriod(RetentionPeriodT&& value) { m_retentionPeriodHasBeenSet =
true; m_retentionPeriod = std::forward<RetentionPeriodT>(value); }
99 template<
typename RetentionPeriodT = SnaplockRetentionPeriod>
144 bool m_auditLogVolume{
false};
145 bool m_auditLogVolumeHasBeenSet =
false;
147 AutocommitPeriod m_autocommitPeriod;
148 bool m_autocommitPeriodHasBeenSet =
false;
151 bool m_privilegedDeleteHasBeenSet =
false;
153 SnaplockRetentionPeriod m_retentionPeriod;
154 bool m_retentionPeriodHasBeenSet =
false;
157 bool m_snaplockTypeHasBeenSet =
false;
159 bool m_volumeAppendModeEnabled{
false};
160 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