AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
SnaplockConfiguration.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 <aws/fsx/model/SnaplockType.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace FSx
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_FSX_API SnaplockConfiguration();
42
43
45
54 inline bool GetAuditLogVolume() const{ return m_auditLogVolume; }
55 inline bool AuditLogVolumeHasBeenSet() const { return m_auditLogVolumeHasBeenSet; }
56 inline void SetAuditLogVolume(bool value) { m_auditLogVolumeHasBeenSet = true; m_auditLogVolume = value; }
57 inline SnaplockConfiguration& WithAuditLogVolume(bool value) { SetAuditLogVolume(value); return *this;}
59
61
65 inline const AutocommitPeriod& GetAutocommitPeriod() const{ return m_autocommitPeriod; }
66 inline bool AutocommitPeriodHasBeenSet() const { return m_autocommitPeriodHasBeenSet; }
67 inline void SetAutocommitPeriod(const AutocommitPeriod& value) { m_autocommitPeriodHasBeenSet = true; m_autocommitPeriod = value; }
68 inline void SetAutocommitPeriod(AutocommitPeriod&& value) { m_autocommitPeriodHasBeenSet = true; m_autocommitPeriod = std::move(value); }
70 inline SnaplockConfiguration& WithAutocommitPeriod(AutocommitPeriod&& value) { SetAutocommitPeriod(std::move(value)); return *this;}
72
74
85 inline const PrivilegedDelete& GetPrivilegedDelete() const{ return m_privilegedDelete; }
86 inline bool PrivilegedDeleteHasBeenSet() const { return m_privilegedDeleteHasBeenSet; }
87 inline void SetPrivilegedDelete(const PrivilegedDelete& value) { m_privilegedDeleteHasBeenSet = true; m_privilegedDelete = value; }
88 inline void SetPrivilegedDelete(PrivilegedDelete&& value) { m_privilegedDeleteHasBeenSet = true; m_privilegedDelete = std::move(value); }
90 inline SnaplockConfiguration& WithPrivilegedDelete(PrivilegedDelete&& value) { SetPrivilegedDelete(std::move(value)); return *this;}
92
94
97 inline const SnaplockRetentionPeriod& GetRetentionPeriod() const{ return m_retentionPeriod; }
98 inline bool RetentionPeriodHasBeenSet() const { return m_retentionPeriodHasBeenSet; }
99 inline void SetRetentionPeriod(const SnaplockRetentionPeriod& value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = value; }
100 inline void SetRetentionPeriod(SnaplockRetentionPeriod&& value) { m_retentionPeriodHasBeenSet = true; m_retentionPeriod = std::move(value); }
102 inline SnaplockConfiguration& WithRetentionPeriod(SnaplockRetentionPeriod&& value) { SetRetentionPeriod(std::move(value)); return *this;}
104
106
124 inline const SnaplockType& GetSnaplockType() const{ return m_snaplockType; }
125 inline bool SnaplockTypeHasBeenSet() const { return m_snaplockTypeHasBeenSet; }
126 inline void SetSnaplockType(const SnaplockType& value) { m_snaplockTypeHasBeenSet = true; m_snaplockType = value; }
127 inline void SetSnaplockType(SnaplockType&& value) { m_snaplockTypeHasBeenSet = true; m_snaplockType = std::move(value); }
128 inline SnaplockConfiguration& WithSnaplockType(const SnaplockType& value) { SetSnaplockType(value); return *this;}
129 inline SnaplockConfiguration& WithSnaplockType(SnaplockType&& value) { SetSnaplockType(std::move(value)); return *this;}
131
133
141 inline bool GetVolumeAppendModeEnabled() const{ return m_volumeAppendModeEnabled; }
142 inline bool VolumeAppendModeEnabledHasBeenSet() const { return m_volumeAppendModeEnabledHasBeenSet; }
143 inline void SetVolumeAppendModeEnabled(bool value) { m_volumeAppendModeEnabledHasBeenSet = true; m_volumeAppendModeEnabled = value; }
146 private:
147
148 bool m_auditLogVolume;
149 bool m_auditLogVolumeHasBeenSet = false;
150
151 AutocommitPeriod m_autocommitPeriod;
152 bool m_autocommitPeriodHasBeenSet = false;
153
154 PrivilegedDelete m_privilegedDelete;
155 bool m_privilegedDeleteHasBeenSet = false;
156
157 SnaplockRetentionPeriod m_retentionPeriod;
158 bool m_retentionPeriodHasBeenSet = false;
159
160 SnaplockType m_snaplockType;
161 bool m_snaplockTypeHasBeenSet = false;
162
163 bool m_volumeAppendModeEnabled;
164 bool m_volumeAppendModeEnabledHasBeenSet = false;
165 };
166
167} // namespace Model
168} // namespace FSx
169} // namespace Aws
SnaplockConfiguration & WithSnaplockType(const SnaplockType &value)
void SetAutocommitPeriod(const AutocommitPeriod &value)
SnaplockConfiguration & WithAutocommitPeriod(AutocommitPeriod &&value)
void SetPrivilegedDelete(const PrivilegedDelete &value)
SnaplockConfiguration & WithAutocommitPeriod(const AutocommitPeriod &value)
AWS_FSX_API SnaplockConfiguration(Aws::Utils::Json::JsonView jsonValue)
void SetSnaplockType(const SnaplockType &value)
const PrivilegedDelete & GetPrivilegedDelete() const
SnaplockConfiguration & WithRetentionPeriod(SnaplockRetentionPeriod &&value)
SnaplockConfiguration & WithPrivilegedDelete(PrivilegedDelete &&value)
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_FSX_API SnaplockConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetRetentionPeriod(SnaplockRetentionPeriod &&value)
const SnaplockType & GetSnaplockType() const
SnaplockConfiguration & WithPrivilegedDelete(const PrivilegedDelete &value)
SnaplockConfiguration & WithAuditLogVolume(bool value)
const SnaplockRetentionPeriod & GetRetentionPeriod() const
void SetAutocommitPeriod(AutocommitPeriod &&value)
void SetRetentionPeriod(const SnaplockRetentionPeriod &value)
SnaplockConfiguration & WithVolumeAppendModeEnabled(bool value)
void SetPrivilegedDelete(PrivilegedDelete &&value)
const AutocommitPeriod & GetAutocommitPeriod() const
SnaplockConfiguration & WithRetentionPeriod(const SnaplockRetentionPeriod &value)
SnaplockConfiguration & WithSnaplockType(SnaplockType &&value)
Aws::Utils::Json::JsonValue JsonValue