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>
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>
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>
104 inline void SetRecordSizeKiB(
int value) { m_recordSizeKiBHasBeenSet =
true; m_recordSizeKiB = value; }
138 inline void SetCopyTagsToSnapshots(
bool value) { m_copyTagsToSnapshotsHasBeenSet =
true; m_copyTagsToSnapshots = value; }
149 template<
typename OriginSnapshotT = OpenZFSOriginSnapshotConfiguration>
150 void SetOriginSnapshot(OriginSnapshotT&& value) { m_originSnapshotHasBeenSet =
true; m_originSnapshot = std::forward<OriginSnapshotT>(value); }
151 template<
typename OriginSnapshotT = OpenZFSOriginSnapshotConfiguration>
161 inline void SetReadOnly(
bool value) { m_readOnlyHasBeenSet =
true; m_readOnly = value; }
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>>
176 template<
typename NfsExportsT = OpenZFSNfsExport>
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>>
191 template<
typename UserAndGroupQuotasT = OpenZFSUserOrGroupQuota>
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>
227 inline void SetDeleteClonedVolumes(
bool value) { m_deleteClonedVolumesHasBeenSet =
true; m_deleteClonedVolumes = value; }
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>
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>
290 bool m_parentVolumeIdHasBeenSet =
false;
293 bool m_volumePathHasBeenSet =
false;
295 int m_storageCapacityReservationGiB{0};
296 bool m_storageCapacityReservationGiBHasBeenSet =
false;
298 int m_storageCapacityQuotaGiB{0};
299 bool m_storageCapacityQuotaGiBHasBeenSet =
false;
301 int m_recordSizeKiB{0};
302 bool m_recordSizeKiBHasBeenSet =
false;
305 bool m_dataCompressionTypeHasBeenSet =
false;
307 bool m_copyTagsToSnapshots{
false};
308 bool m_copyTagsToSnapshotsHasBeenSet =
false;
310 OpenZFSOriginSnapshotConfiguration m_originSnapshot;
311 bool m_originSnapshotHasBeenSet =
false;
313 bool m_readOnly{
false};
314 bool m_readOnlyHasBeenSet =
false;
317 bool m_nfsExportsHasBeenSet =
false;
320 bool m_userAndGroupQuotasHasBeenSet =
false;
323 bool m_restoreToSnapshotHasBeenSet =
false;
325 bool m_deleteIntermediateSnaphots{
false};
326 bool m_deleteIntermediateSnaphotsHasBeenSet =
false;
328 bool m_deleteClonedVolumes{
false};
329 bool m_deleteClonedVolumesHasBeenSet =
false;
331 bool m_deleteIntermediateData{
false};
332 bool m_deleteIntermediateDataHasBeenSet =
false;
335 bool m_sourceSnapshotARNHasBeenSet =
false;
338 bool m_destinationSnapshotHasBeenSet =
false;
341 bool m_copyStrategyHasBeenSet =
false;
OpenZFSVolumeConfiguration & AddNfsExports(NfsExportsT &&value)
void SetNfsExports(NfsExportsT &&value)
OpenZFSVolumeConfiguration & WithRecordSizeKiB(int value)
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
void SetVolumePath(VolumePathT &&value)
AWS_FSX_API OpenZFSVolumeConfiguration(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetParentVolumeId() const
void SetParentVolumeId(ParentVolumeIdT &&value)
OpenZFSVolumeConfiguration & WithDeleteIntermediateSnaphots(bool value)
bool UserAndGroupQuotasHasBeenSet() const
bool RecordSizeKiBHasBeenSet() const
void SetDeleteIntermediateSnaphots(bool value)
OpenZFSVolumeConfiguration & WithVolumePath(VolumePathT &&value)
OpenZFSVolumeConfiguration & WithDeleteClonedVolumes(bool value)
OpenZFSVolumeConfiguration & WithNfsExports(NfsExportsT &&value)
bool StorageCapacityReservationGiBHasBeenSet() const
const Aws::Vector< OpenZFSNfsExport > & GetNfsExports() const
const Aws::Vector< OpenZFSUserOrGroupQuota > & GetUserAndGroupQuotas() const
bool CopyStrategyHasBeenSet() const
bool GetCopyTagsToSnapshots() const
OpenZFSVolumeConfiguration & WithCopyTagsToSnapshots(bool value)
bool StorageCapacityQuotaGiBHasBeenSet() const
bool GetDeleteIntermediateData() const
OpenZFSVolumeConfiguration & WithSourceSnapshotARN(SourceSnapshotARNT &&value)
bool DataCompressionTypeHasBeenSet() const
const Aws::String & GetDestinationSnapshot() const
void SetDestinationSnapshot(DestinationSnapshotT &&value)
AWS_FSX_API OpenZFSVolumeConfiguration()=default
OpenZFSVolumeConfiguration & WithCopyStrategy(OpenZFSCopyStrategy value)
OpenZFSVolumeConfiguration & WithDataCompressionType(OpenZFSDataCompressionType value)
bool DeleteClonedVolumesHasBeenSet() const
bool NfsExportsHasBeenSet() const
int GetStorageCapacityQuotaGiB() const
OpenZFSCopyStrategy GetCopyStrategy() const
bool SourceSnapshotARNHasBeenSet() const
OpenZFSVolumeConfiguration & WithReadOnly(bool value)
OpenZFSVolumeConfiguration & WithUserAndGroupQuotas(UserAndGroupQuotasT &&value)
bool DeleteIntermediateDataHasBeenSet() const
void SetStorageCapacityReservationGiB(int value)
OpenZFSDataCompressionType GetDataCompressionType() const
void SetCopyStrategy(OpenZFSCopyStrategy value)
void SetCopyTagsToSnapshots(bool value)
OpenZFSVolumeConfiguration & WithDeleteIntermediateData(bool value)
bool ReadOnlyHasBeenSet() const
void SetUserAndGroupQuotas(UserAndGroupQuotasT &&value)
OpenZFSVolumeConfiguration & WithDestinationSnapshot(DestinationSnapshotT &&value)
void SetStorageCapacityQuotaGiB(int value)
bool OriginSnapshotHasBeenSet() const
void SetDeleteClonedVolumes(bool value)
const Aws::String & GetSourceSnapshotARN() const
void SetOriginSnapshot(OriginSnapshotT &&value)
OpenZFSVolumeConfiguration & WithStorageCapacityQuotaGiB(int value)
const OpenZFSOriginSnapshotConfiguration & GetOriginSnapshot() const
bool DestinationSnapshotHasBeenSet() const
void SetReadOnly(bool value)
void SetRecordSizeKiB(int value)
void SetSourceSnapshotARN(SourceSnapshotARNT &&value)
void SetDeleteIntermediateData(bool value)
int GetRecordSizeKiB() const
OpenZFSVolumeConfiguration & WithOriginSnapshot(OriginSnapshotT &&value)
OpenZFSVolumeConfiguration & WithRestoreToSnapshot(RestoreToSnapshotT &&value)
bool CopyTagsToSnapshotsHasBeenSet() const
bool RestoreToSnapshotHasBeenSet() const
bool VolumePathHasBeenSet() const
OpenZFSVolumeConfiguration & AddUserAndGroupQuotas(UserAndGroupQuotasT &&value)
const Aws::String & GetRestoreToSnapshot() const
AWS_FSX_API OpenZFSVolumeConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
bool DeleteIntermediateSnaphotsHasBeenSet() const
const Aws::String & GetVolumePath() const
bool GetDeleteIntermediateSnaphots() const
OpenZFSVolumeConfiguration & WithStorageCapacityReservationGiB(int value)
OpenZFSVolumeConfiguration & WithParentVolumeId(ParentVolumeIdT &&value)
bool ParentVolumeIdHasBeenSet() const
void SetRestoreToSnapshot(RestoreToSnapshotT &&value)
bool GetDeleteClonedVolumes() const
int GetStorageCapacityReservationGiB() const
void SetDataCompressionType(OpenZFSDataCompressionType value)
OpenZFSDataCompressionType
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue