AWS SDK for C++

AWS SDK for C++ Version 1.11.716

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
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace FSx {
22namespace Model {
23
31 public:
32 AWS_FSX_API UpdateSnaplockConfiguration() = default;
36
38
47 inline bool GetAuditLogVolume() const { return m_auditLogVolume; }
48 inline bool AuditLogVolumeHasBeenSet() const { return m_auditLogVolumeHasBeenSet; }
49 inline void SetAuditLogVolume(bool value) {
50 m_auditLogVolumeHasBeenSet = true;
51 m_auditLogVolume = value;
52 }
54 SetAuditLogVolume(value);
55 return *this;
56 }
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) {
68 m_autocommitPeriodHasBeenSet = true;
69 m_autocommitPeriod = std::forward<AutocommitPeriodT>(value);
70 }
71 template <typename AutocommitPeriodT = AutocommitPeriod>
73 SetAutocommitPeriod(std::forward<AutocommitPeriodT>(value));
74 return *this;
75 }
77
79
90 inline PrivilegedDelete GetPrivilegedDelete() const { return m_privilegedDelete; }
91 inline bool PrivilegedDeleteHasBeenSet() const { return m_privilegedDeleteHasBeenSet; }
93 m_privilegedDeleteHasBeenSet = true;
94 m_privilegedDelete = value;
95 }
98 return *this;
99 }
101
103
106 inline const SnaplockRetentionPeriod& GetRetentionPeriod() const { return m_retentionPeriod; }
107 inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; }
108 template <typename RetentionPeriodT = SnaplockRetentionPeriod>
109 void SetRetentionPeriod(RetentionPeriodT&& value) {
110 m_retentionPeriodHasBeenSet = true;
111 m_retentionPeriod = std::forward<RetentionPeriodT>(value);
112 }
113 template <typename RetentionPeriodT = SnaplockRetentionPeriod>
115 SetRetentionPeriod(std::forward<RetentionPeriodT>(value));
116 return *this;
117 }
119
121
129 inline bool GetVolumeAppendModeEnabled() const { return m_volumeAppendModeEnabled; }
130 inline bool VolumeAppendModeEnabledHasBeenSet() const { return m_volumeAppendModeEnabledHasBeenSet; }
131 inline void SetVolumeAppendModeEnabled(bool value) {
132 m_volumeAppendModeEnabledHasBeenSet = true;
133 m_volumeAppendModeEnabled = value;
134 }
137 return *this;
138 }
140 private:
141 bool m_auditLogVolume{false};
142
143 AutocommitPeriod m_autocommitPeriod;
144
146
147 SnaplockRetentionPeriod m_retentionPeriod;
148
149 bool m_volumeAppendModeEnabled{false};
150 bool m_auditLogVolumeHasBeenSet = false;
151 bool m_autocommitPeriodHasBeenSet = false;
152 bool m_privilegedDeleteHasBeenSet = false;
153 bool m_retentionPeriodHasBeenSet = false;
154 bool m_volumeAppendModeEnabledHasBeenSet = false;
155};
156
157} // namespace Model
158} // namespace FSx
159} // 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