AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
OpenZFSVolumeConfiguration.h
1
6#pragma once
7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/fsx/model/OpenZFSDataCompressionType.h>
10#include <aws/fsx/model/OpenZFSOriginSnapshotConfiguration.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/fsx/model/OpenZFSCopyStrategy.h>
13#include <aws/fsx/model/OpenZFSNfsExport.h>
14#include <aws/fsx/model/OpenZFSUserOrGroupQuota.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace FSx
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_FSX_API OpenZFSVolumeConfiguration() = default;
45
46
48
51 inline const Aws::String& GetParentVolumeId() const { return m_parentVolumeId; }
52 inline bool ParentVolumeIdHasBeenSet() const { return m_parentVolumeIdHasBeenSet; }
53 template<typename ParentVolumeIdT = Aws::String>
54 void SetParentVolumeId(ParentVolumeIdT&& value) { m_parentVolumeIdHasBeenSet = true; m_parentVolumeId = std::forward<ParentVolumeIdT>(value); }
55 template<typename ParentVolumeIdT = Aws::String>
56 OpenZFSVolumeConfiguration& WithParentVolumeId(ParentVolumeIdT&& value) { SetParentVolumeId(std::forward<ParentVolumeIdT>(value)); return *this;}
58
60
64 inline const Aws::String& GetVolumePath() const { return m_volumePath; }
65 inline bool VolumePathHasBeenSet() const { return m_volumePathHasBeenSet; }
66 template<typename VolumePathT = Aws::String>
67 void SetVolumePath(VolumePathT&& value) { m_volumePathHasBeenSet = true; m_volumePath = std::forward<VolumePathT>(value); }
68 template<typename VolumePathT = Aws::String>
69 OpenZFSVolumeConfiguration& WithVolumePath(VolumePathT&& value) { SetVolumePath(std::forward<VolumePathT>(value)); return *this;}
71
73
77 inline int GetStorageCapacityReservationGiB() const { return m_storageCapacityReservationGiB; }
78 inline bool StorageCapacityReservationGiBHasBeenSet() const { return m_storageCapacityReservationGiBHasBeenSet; }
79 inline void SetStorageCapacityReservationGiB(int value) { m_storageCapacityReservationGiBHasBeenSet = true; m_storageCapacityReservationGiB = value; }
82
84
89 inline int GetStorageCapacityQuotaGiB() const { return m_storageCapacityQuotaGiB; }
90 inline bool StorageCapacityQuotaGiBHasBeenSet() const { return m_storageCapacityQuotaGiBHasBeenSet; }
91 inline void SetStorageCapacityQuotaGiB(int value) { m_storageCapacityQuotaGiBHasBeenSet = true; m_storageCapacityQuotaGiB = value; }
94
96
102 inline int GetRecordSizeKiB() const { return m_recordSizeKiB; }
103 inline bool RecordSizeKiBHasBeenSet() const { return m_recordSizeKiBHasBeenSet; }
104 inline void SetRecordSizeKiB(int value) { m_recordSizeKiBHasBeenSet = true; m_recordSizeKiB = value; }
105 inline OpenZFSVolumeConfiguration& WithRecordSizeKiB(int value) { SetRecordSizeKiB(value); return *this;}
107
109
120 inline OpenZFSDataCompressionType GetDataCompressionType() const { return m_dataCompressionType; }
121 inline bool DataCompressionTypeHasBeenSet() const { return m_dataCompressionTypeHasBeenSet; }
122 inline void SetDataCompressionType(OpenZFSDataCompressionType value) { m_dataCompressionTypeHasBeenSet = true; m_dataCompressionType = value; }
125
127
136 inline bool GetCopyTagsToSnapshots() const { return m_copyTagsToSnapshots; }
137 inline bool CopyTagsToSnapshotsHasBeenSet() const { return m_copyTagsToSnapshotsHasBeenSet; }
138 inline void SetCopyTagsToSnapshots(bool value) { m_copyTagsToSnapshotsHasBeenSet = true; m_copyTagsToSnapshots = value; }
141
143
147 inline const OpenZFSOriginSnapshotConfiguration& GetOriginSnapshot() const { return m_originSnapshot; }
148 inline bool OriginSnapshotHasBeenSet() const { return m_originSnapshotHasBeenSet; }
149 template<typename OriginSnapshotT = OpenZFSOriginSnapshotConfiguration>
150 void SetOriginSnapshot(OriginSnapshotT&& value) { m_originSnapshotHasBeenSet = true; m_originSnapshot = std::forward<OriginSnapshotT>(value); }
151 template<typename OriginSnapshotT = OpenZFSOriginSnapshotConfiguration>
152 OpenZFSVolumeConfiguration& WithOriginSnapshot(OriginSnapshotT&& value) { SetOriginSnapshot(std::forward<OriginSnapshotT>(value)); return *this;}
154
156
159 inline bool GetReadOnly() const { return m_readOnly; }
160 inline bool ReadOnlyHasBeenSet() const { return m_readOnlyHasBeenSet; }
161 inline void SetReadOnly(bool value) { m_readOnlyHasBeenSet = true; m_readOnly = value; }
162 inline OpenZFSVolumeConfiguration& WithReadOnly(bool value) { SetReadOnly(value); return *this;}
164
166
170 inline const Aws::Vector<OpenZFSNfsExport>& GetNfsExports() const { return m_nfsExports; }
171 inline bool NfsExportsHasBeenSet() const { return m_nfsExportsHasBeenSet; }
172 template<typename NfsExportsT = Aws::Vector<OpenZFSNfsExport>>
173 void SetNfsExports(NfsExportsT&& value) { m_nfsExportsHasBeenSet = true; m_nfsExports = std::forward<NfsExportsT>(value); }
174 template<typename NfsExportsT = Aws::Vector<OpenZFSNfsExport>>
175 OpenZFSVolumeConfiguration& WithNfsExports(NfsExportsT&& value) { SetNfsExports(std::forward<NfsExportsT>(value)); return *this;}
176 template<typename NfsExportsT = OpenZFSNfsExport>
177 OpenZFSVolumeConfiguration& AddNfsExports(NfsExportsT&& value) { m_nfsExportsHasBeenSet = true; m_nfsExports.emplace_back(std::forward<NfsExportsT>(value)); return *this; }
179
181
185 inline const Aws::Vector<OpenZFSUserOrGroupQuota>& GetUserAndGroupQuotas() const { return m_userAndGroupQuotas; }
186 inline bool UserAndGroupQuotasHasBeenSet() const { return m_userAndGroupQuotasHasBeenSet; }
187 template<typename UserAndGroupQuotasT = Aws::Vector<OpenZFSUserOrGroupQuota>>
188 void SetUserAndGroupQuotas(UserAndGroupQuotasT&& value) { m_userAndGroupQuotasHasBeenSet = true; m_userAndGroupQuotas = std::forward<UserAndGroupQuotasT>(value); }
189 template<typename UserAndGroupQuotasT = Aws::Vector<OpenZFSUserOrGroupQuota>>
190 OpenZFSVolumeConfiguration& WithUserAndGroupQuotas(UserAndGroupQuotasT&& value) { SetUserAndGroupQuotas(std::forward<UserAndGroupQuotasT>(value)); return *this;}
191 template<typename UserAndGroupQuotasT = OpenZFSUserOrGroupQuota>
192 OpenZFSVolumeConfiguration& AddUserAndGroupQuotas(UserAndGroupQuotasT&& value) { m_userAndGroupQuotasHasBeenSet = true; m_userAndGroupQuotas.emplace_back(std::forward<UserAndGroupQuotasT>(value)); return *this; }
194
196
199 inline const Aws::String& GetRestoreToSnapshot() const { return m_restoreToSnapshot; }
200 inline bool RestoreToSnapshotHasBeenSet() const { return m_restoreToSnapshotHasBeenSet; }
201 template<typename RestoreToSnapshotT = Aws::String>
202 void SetRestoreToSnapshot(RestoreToSnapshotT&& value) { m_restoreToSnapshotHasBeenSet = true; m_restoreToSnapshot = std::forward<RestoreToSnapshotT>(value); }
203 template<typename RestoreToSnapshotT = Aws::String>
204 OpenZFSVolumeConfiguration& WithRestoreToSnapshot(RestoreToSnapshotT&& value) { SetRestoreToSnapshot(std::forward<RestoreToSnapshotT>(value)); return *this;}
206
208
213 inline bool GetDeleteIntermediateSnaphots() const { return m_deleteIntermediateSnaphots; }
214 inline bool DeleteIntermediateSnaphotsHasBeenSet() const { return m_deleteIntermediateSnaphotsHasBeenSet; }
215 inline void SetDeleteIntermediateSnaphots(bool value) { m_deleteIntermediateSnaphotsHasBeenSet = true; m_deleteIntermediateSnaphots = value; }
218
220
225 inline bool GetDeleteClonedVolumes() const { return m_deleteClonedVolumes; }
226 inline bool DeleteClonedVolumesHasBeenSet() const { return m_deleteClonedVolumesHasBeenSet; }
227 inline void SetDeleteClonedVolumes(bool value) { m_deleteClonedVolumesHasBeenSet = true; m_deleteClonedVolumes = value; }
230
232
237 inline bool GetDeleteIntermediateData() const { return m_deleteIntermediateData; }
238 inline bool DeleteIntermediateDataHasBeenSet() const { return m_deleteIntermediateDataHasBeenSet; }
239 inline void SetDeleteIntermediateData(bool value) { m_deleteIntermediateDataHasBeenSet = true; m_deleteIntermediateData = value; }
242
244
245 inline const Aws::String& GetSourceSnapshotARN() const { return m_sourceSnapshotARN; }
246 inline bool SourceSnapshotARNHasBeenSet() const { return m_sourceSnapshotARNHasBeenSet; }
247 template<typename SourceSnapshotARNT = Aws::String>
248 void SetSourceSnapshotARN(SourceSnapshotARNT&& value) { m_sourceSnapshotARNHasBeenSet = true; m_sourceSnapshotARN = std::forward<SourceSnapshotARNT>(value); }
249 template<typename SourceSnapshotARNT = Aws::String>
250 OpenZFSVolumeConfiguration& WithSourceSnapshotARN(SourceSnapshotARNT&& value) { SetSourceSnapshotARN(std::forward<SourceSnapshotARNT>(value)); return *this;}
252
254
258 inline const Aws::String& GetDestinationSnapshot() const { return m_destinationSnapshot; }
259 inline bool DestinationSnapshotHasBeenSet() const { return m_destinationSnapshotHasBeenSet; }
260 template<typename DestinationSnapshotT = Aws::String>
261 void SetDestinationSnapshot(DestinationSnapshotT&& value) { m_destinationSnapshotHasBeenSet = true; m_destinationSnapshot = std::forward<DestinationSnapshotT>(value); }
262 template<typename DestinationSnapshotT = Aws::String>
263 OpenZFSVolumeConfiguration& WithDestinationSnapshot(DestinationSnapshotT&& value) { SetDestinationSnapshot(std::forward<DestinationSnapshotT>(value)); return *this;}
265
267
282 inline OpenZFSCopyStrategy GetCopyStrategy() const { return m_copyStrategy; }
283 inline bool CopyStrategyHasBeenSet() const { return m_copyStrategyHasBeenSet; }
284 inline void SetCopyStrategy(OpenZFSCopyStrategy value) { m_copyStrategyHasBeenSet = true; m_copyStrategy = value; }
287 private:
288
289 Aws::String m_parentVolumeId;
290 bool m_parentVolumeIdHasBeenSet = false;
291
292 Aws::String m_volumePath;
293 bool m_volumePathHasBeenSet = false;
294
295 int m_storageCapacityReservationGiB{0};
296 bool m_storageCapacityReservationGiBHasBeenSet = false;
297
298 int m_storageCapacityQuotaGiB{0};
299 bool m_storageCapacityQuotaGiBHasBeenSet = false;
300
301 int m_recordSizeKiB{0};
302 bool m_recordSizeKiBHasBeenSet = false;
303
305 bool m_dataCompressionTypeHasBeenSet = false;
306
307 bool m_copyTagsToSnapshots{false};
308 bool m_copyTagsToSnapshotsHasBeenSet = false;
309
310 OpenZFSOriginSnapshotConfiguration m_originSnapshot;
311 bool m_originSnapshotHasBeenSet = false;
312
313 bool m_readOnly{false};
314 bool m_readOnlyHasBeenSet = false;
315
317 bool m_nfsExportsHasBeenSet = false;
318
319 Aws::Vector<OpenZFSUserOrGroupQuota> m_userAndGroupQuotas;
320 bool m_userAndGroupQuotasHasBeenSet = false;
321
322 Aws::String m_restoreToSnapshot;
323 bool m_restoreToSnapshotHasBeenSet = false;
324
325 bool m_deleteIntermediateSnaphots{false};
326 bool m_deleteIntermediateSnaphotsHasBeenSet = false;
327
328 bool m_deleteClonedVolumes{false};
329 bool m_deleteClonedVolumesHasBeenSet = false;
330
331 bool m_deleteIntermediateData{false};
332 bool m_deleteIntermediateDataHasBeenSet = false;
333
334 Aws::String m_sourceSnapshotARN;
335 bool m_sourceSnapshotARNHasBeenSet = false;
336
337 Aws::String m_destinationSnapshot;
338 bool m_destinationSnapshotHasBeenSet = false;
339
341 bool m_copyStrategyHasBeenSet = false;
342 };
343
344} // namespace Model
345} // namespace FSx
346} // namespace Aws
OpenZFSVolumeConfiguration & AddNfsExports(NfsExportsT &&value)
OpenZFSVolumeConfiguration & WithRecordSizeKiB(int value)
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_FSX_API OpenZFSVolumeConfiguration(Aws::Utils::Json::JsonView jsonValue)
OpenZFSVolumeConfiguration & WithDeleteIntermediateSnaphots(bool value)
OpenZFSVolumeConfiguration & WithVolumePath(VolumePathT &&value)
OpenZFSVolumeConfiguration & WithDeleteClonedVolumes(bool value)
OpenZFSVolumeConfiguration & WithNfsExports(NfsExportsT &&value)
const Aws::Vector< OpenZFSNfsExport > & GetNfsExports() const
const Aws::Vector< OpenZFSUserOrGroupQuota > & GetUserAndGroupQuotas() const
OpenZFSVolumeConfiguration & WithCopyTagsToSnapshots(bool value)
OpenZFSVolumeConfiguration & WithSourceSnapshotARN(SourceSnapshotARNT &&value)
void SetDestinationSnapshot(DestinationSnapshotT &&value)
AWS_FSX_API OpenZFSVolumeConfiguration()=default
OpenZFSVolumeConfiguration & WithCopyStrategy(OpenZFSCopyStrategy value)
OpenZFSVolumeConfiguration & WithDataCompressionType(OpenZFSDataCompressionType value)
OpenZFSVolumeConfiguration & WithReadOnly(bool value)
OpenZFSVolumeConfiguration & WithUserAndGroupQuotas(UserAndGroupQuotasT &&value)
OpenZFSDataCompressionType GetDataCompressionType() const
OpenZFSVolumeConfiguration & WithDeleteIntermediateData(bool value)
void SetUserAndGroupQuotas(UserAndGroupQuotasT &&value)
OpenZFSVolumeConfiguration & WithDestinationSnapshot(DestinationSnapshotT &&value)
OpenZFSVolumeConfiguration & WithStorageCapacityQuotaGiB(int value)
const OpenZFSOriginSnapshotConfiguration & GetOriginSnapshot() const
OpenZFSVolumeConfiguration & WithOriginSnapshot(OriginSnapshotT &&value)
OpenZFSVolumeConfiguration & WithRestoreToSnapshot(RestoreToSnapshotT &&value)
OpenZFSVolumeConfiguration & AddUserAndGroupQuotas(UserAndGroupQuotasT &&value)
AWS_FSX_API OpenZFSVolumeConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
OpenZFSVolumeConfiguration & WithStorageCapacityReservationGiB(int value)
OpenZFSVolumeConfiguration & WithParentVolumeId(ParentVolumeIdT &&value)
void SetDataCompressionType(OpenZFSDataCompressionType value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue