AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
UpdateSnaplockConfiguration.h
1
6#pragma once
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 <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace FSx
24{
25namespace Model
26{
27
35 {
36 public:
37 AWS_FSX_API UpdateSnaplockConfiguration() = default;
41
42
44
53 inline bool GetAuditLogVolume() const { return m_auditLogVolume; }
54 inline bool AuditLogVolumeHasBeenSet() const { return m_auditLogVolumeHasBeenSet; }
55 inline void SetAuditLogVolume(bool value) { m_auditLogVolumeHasBeenSet = true; m_auditLogVolume = value; }
56 inline UpdateSnaplockConfiguration& WithAuditLogVolume(bool value) { SetAuditLogVolume(value); return *this;}
58
60
64 inline const AutocommitPeriod& GetAutocommitPeriod() const { return m_autocommitPeriod; }
65 inline bool AutocommitPeriodHasBeenSet() const { return m_autocommitPeriodHasBeenSet; }
66 template<typename AutocommitPeriodT = AutocommitPeriod>
67 void SetAutocommitPeriod(AutocommitPeriodT&& value) { m_autocommitPeriodHasBeenSet = true; m_autocommitPeriod = std::forward<AutocommitPeriodT>(value); }
68 template<typename AutocommitPeriodT = AutocommitPeriod>
69 UpdateSnaplockConfiguration& WithAutocommitPeriod(AutocommitPeriodT&& value) { SetAutocommitPeriod(std::forward<AutocommitPeriodT>(value)); return *this;}
71
73
84 inline PrivilegedDelete GetPrivilegedDelete() const { return m_privilegedDelete; }
85 inline bool PrivilegedDeleteHasBeenSet() const { return m_privilegedDeleteHasBeenSet; }
86 inline void SetPrivilegedDelete(PrivilegedDelete value) { m_privilegedDeleteHasBeenSet = true; m_privilegedDelete = value; }
89
91
94 inline const SnaplockRetentionPeriod& GetRetentionPeriod() const { return m_retentionPeriod; }
95 inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; }
96 template<typename RetentionPeriodT = SnaplockRetentionPeriod>
97 void SetRetentionPeriod(RetentionPeriodT&& value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = std::forward<RetentionPeriodT>(value); }
98 template<typename RetentionPeriodT = SnaplockRetentionPeriod>
99 UpdateSnaplockConfiguration& WithRetentionPeriod(RetentionPeriodT&& value) { SetRetentionPeriod(std::forward<RetentionPeriodT>(value)); return *this;}
101
103
111 inline bool GetVolumeAppendModeEnabled() const { return m_volumeAppendModeEnabled; }
112 inline bool VolumeAppendModeEnabledHasBeenSet() const { return m_volumeAppendModeEnabledHasBeenSet; }
113 inline void SetVolumeAppendModeEnabled(bool value) { m_volumeAppendModeEnabledHasBeenSet = true; m_volumeAppendModeEnabled = value; }
116 private:
117
118 bool m_auditLogVolume{false};
119 bool m_auditLogVolumeHasBeenSet = false;
120
121 AutocommitPeriod m_autocommitPeriod;
122 bool m_autocommitPeriodHasBeenSet = false;
123
125 bool m_privilegedDeleteHasBeenSet = false;
126
127 SnaplockRetentionPeriod m_retentionPeriod;
128 bool m_retentionPeriodHasBeenSet = false;
129
130 bool m_volumeAppendModeEnabled{false};
131 bool m_volumeAppendModeEnabledHasBeenSet = false;
132 };
133
134} // namespace Model
135} // namespace FSx
136} // namespace Aws
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
UpdateSnaplockConfiguration & WithAuditLogVolume(bool value)
UpdateSnaplockConfiguration & WithAutocommitPeriod(AutocommitPeriodT &&value)
UpdateSnaplockConfiguration & WithVolumeAppendModeEnabled(bool value)
AWS_FSX_API UpdateSnaplockConfiguration(Aws::Utils::Json::JsonView jsonValue)
UpdateSnaplockConfiguration & WithRetentionPeriod(RetentionPeriodT &&value)
const SnaplockRetentionPeriod & GetRetentionPeriod() const
AWS_FSX_API UpdateSnaplockConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_FSX_API UpdateSnaplockConfiguration()=default
UpdateSnaplockConfiguration & WithPrivilegedDelete(PrivilegedDelete value)
Aws::Utils::Json::JsonValue JsonValue