7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/fsx/FSx_EXPORTS.h>
9#include <aws/fsx/model/DataCompressionType.h>
10#include <aws/fsx/model/DataRepositoryConfiguration.h>
11#include <aws/fsx/model/DriveCacheType.h>
12#include <aws/fsx/model/FileSystemLustreMetadataConfiguration.h>
13#include <aws/fsx/model/LustreDeploymentType.h>
14#include <aws/fsx/model/LustreLogConfiguration.h>
15#include <aws/fsx/model/LustreReadCacheConfiguration.h>
16#include <aws/fsx/model/LustreRootSquashConfiguration.h>
51 template <
typename WeeklyMa
intenanceStartTimeT = Aws::String>
53 m_weeklyMaintenanceStartTimeHasBeenSet =
true;
54 m_weeklyMaintenanceStartTime = std::forward<WeeklyMaintenanceStartTimeT>(value);
56 template <
typename WeeklyMa
intenanceStartTimeT = Aws::String>
67 template <
typename DataRepositoryConfigurationT = DataRepositoryConfiguration>
69 m_dataRepositoryConfigurationHasBeenSet =
true;
70 m_dataRepositoryConfiguration = std::forward<DataRepositoryConfigurationT>(value);
72 template <
typename DataRepositoryConfigurationT = DataRepositoryConfiguration>
100 m_deploymentTypeHasBeenSet =
true;
101 m_deploymentType = value;
123 m_perUnitStorageThroughputHasBeenSet =
true;
124 m_perUnitStorageThroughput = value;
142 template <
typename MountNameT = Aws::String>
144 m_mountNameHasBeenSet =
true;
145 m_mountName = std::forward<MountNameT>(value);
147 template <
typename MountNameT = Aws::String>
158 template <
typename DailyAutomaticBackupStartTimeT = Aws::String>
160 m_dailyAutomaticBackupStartTimeHasBeenSet =
true;
161 m_dailyAutomaticBackupStartTime = std::forward<DailyAutomaticBackupStartTimeT>(value);
163 template <
typename DailyAutomaticBackupStartTimeT = Aws::String>
175 m_automaticBackupRetentionDaysHasBeenSet =
true;
176 m_automaticBackupRetentionDays = value;
197 m_copyTagsToBackupsHasBeenSet =
true;
198 m_copyTagsToBackups = value;
219 m_driveCacheTypeHasBeenSet =
true;
220 m_driveCacheType = value;
241 m_dataCompressionTypeHasBeenSet =
true;
242 m_dataCompressionType = value;
257 template <
typename LogConfigurationT = LustreLogConfiguration>
259 m_logConfigurationHasBeenSet =
true;
260 m_logConfiguration = std::forward<LogConfigurationT>(value);
262 template <
typename LogConfigurationT = LustreLogConfiguration>
277 template <
typename RootSquashConfigurationT = LustreRootSquashConfiguration>
279 m_rootSquashConfigurationHasBeenSet =
true;
280 m_rootSquashConfiguration = std::forward<RootSquashConfigurationT>(value);
282 template <
typename RootSquashConfigurationT = LustreRootSquashConfiguration>
296 template <
typename MetadataConfigurationT = FileSystemLustreMetadataConfiguration>
298 m_metadataConfigurationHasBeenSet =
true;
299 m_metadataConfiguration = std::forward<MetadataConfigurationT>(value);
301 template <
typename MetadataConfigurationT = FileSystemLustreMetadataConfiguration>
316 m_efaEnabledHasBeenSet =
true;
317 m_efaEnabled = value;
333 m_throughputCapacityHasBeenSet =
true;
334 m_throughputCapacity = value;
350 template <
typename DataReadCacheConfigurationT = LustreReadCacheConfiguration>
352 m_dataReadCacheConfigurationHasBeenSet =
true;
353 m_dataReadCacheConfiguration = std::forward<DataReadCacheConfigurationT>(value);
355 template <
typename DataReadCacheConfigurationT = LustreReadCacheConfiguration>
368 int m_perUnitStorageThroughput{0};
374 int m_automaticBackupRetentionDays{0};
376 bool m_copyTagsToBackups{
false};
382 LustreLogConfiguration m_logConfiguration;
384 LustreRootSquashConfiguration m_rootSquashConfiguration;
386 FileSystemLustreMetadataConfiguration m_metadataConfiguration;
388 bool m_efaEnabled{
false};
390 int m_throughputCapacity{0};
392 LustreReadCacheConfiguration m_dataReadCacheConfiguration;
393 bool m_weeklyMaintenanceStartTimeHasBeenSet =
false;
394 bool m_dataRepositoryConfigurationHasBeenSet =
false;
395 bool m_deploymentTypeHasBeenSet =
false;
396 bool m_perUnitStorageThroughputHasBeenSet =
false;
397 bool m_mountNameHasBeenSet =
false;
398 bool m_dailyAutomaticBackupStartTimeHasBeenSet =
false;
399 bool m_automaticBackupRetentionDaysHasBeenSet =
false;
400 bool m_copyTagsToBackupsHasBeenSet =
false;
401 bool m_driveCacheTypeHasBeenSet =
false;
402 bool m_dataCompressionTypeHasBeenSet =
false;
403 bool m_logConfigurationHasBeenSet =
false;
404 bool m_rootSquashConfigurationHasBeenSet =
false;
405 bool m_metadataConfigurationHasBeenSet =
false;
406 bool m_efaEnabledHasBeenSet =
false;
407 bool m_throughputCapacityHasBeenSet =
false;
408 bool m_dataReadCacheConfigurationHasBeenSet =
false;
int GetPerUnitStorageThroughput() const
int GetAutomaticBackupRetentionDays() const
LustreFileSystemConfiguration & WithCopyTagsToBackups(bool value)
LustreFileSystemConfiguration & WithDailyAutomaticBackupStartTime(DailyAutomaticBackupStartTimeT &&value)
bool CopyTagsToBackupsHasBeenSet() const
const Aws::String & GetWeeklyMaintenanceStartTime() const
LustreFileSystemConfiguration & WithAutomaticBackupRetentionDays(int value)
bool MetadataConfigurationHasBeenSet() const
void SetDeploymentType(LustreDeploymentType value)
bool EfaEnabledHasBeenSet() const
bool DataCompressionTypeHasBeenSet() const
void SetDataRepositoryConfiguration(DataRepositoryConfigurationT &&value)
bool DailyAutomaticBackupStartTimeHasBeenSet() const
const Aws::String & GetMountName() const
LustreFileSystemConfiguration & WithRootSquashConfiguration(RootSquashConfigurationT &&value)
void SetEfaEnabled(bool value)
void SetMetadataConfiguration(MetadataConfigurationT &&value)
void SetMountName(MountNameT &&value)
void SetThroughputCapacity(int value)
void SetRootSquashConfiguration(RootSquashConfigurationT &&value)
AWS_FSX_API LustreFileSystemConfiguration(Aws::Utils::Json::JsonView jsonValue)
AWS_FSX_API LustreFileSystemConfiguration()=default
void SetCopyTagsToBackups(bool value)
bool MountNameHasBeenSet() const
bool DriveCacheTypeHasBeenSet() const
bool GetEfaEnabled() const
bool WeeklyMaintenanceStartTimeHasBeenSet() const
LustreFileSystemConfiguration & WithDataRepositoryConfiguration(DataRepositoryConfigurationT &&value)
int GetThroughputCapacity() const
bool DataRepositoryConfigurationHasBeenSet() const
bool DataReadCacheConfigurationHasBeenSet() const
LustreDeploymentType GetDeploymentType() const
void SetDataReadCacheConfiguration(DataReadCacheConfigurationT &&value)
void SetDriveCacheType(DriveCacheType value)
LustreFileSystemConfiguration & WithPerUnitStorageThroughput(int value)
const DataRepositoryConfiguration & GetDataRepositoryConfiguration() const
const Aws::String & GetDailyAutomaticBackupStartTime() const
LustreFileSystemConfiguration & WithEfaEnabled(bool value)
void SetLogConfiguration(LogConfigurationT &&value)
const LustreLogConfiguration & GetLogConfiguration() const
bool GetCopyTagsToBackups() const
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
DriveCacheType GetDriveCacheType() const
LustreFileSystemConfiguration & WithDataCompressionType(DataCompressionType value)
AWS_FSX_API LustreFileSystemConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetDailyAutomaticBackupStartTime(DailyAutomaticBackupStartTimeT &&value)
LustreFileSystemConfiguration & WithThroughputCapacity(int value)
DataCompressionType GetDataCompressionType() const
void SetAutomaticBackupRetentionDays(int value)
LustreFileSystemConfiguration & WithLogConfiguration(LogConfigurationT &&value)
LustreFileSystemConfiguration & WithMountName(MountNameT &&value)
LustreFileSystemConfiguration & WithWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT &&value)
bool ThroughputCapacityHasBeenSet() const
LustreFileSystemConfiguration & WithDriveCacheType(DriveCacheType value)
const LustreRootSquashConfiguration & GetRootSquashConfiguration() const
void SetPerUnitStorageThroughput(int value)
bool PerUnitStorageThroughputHasBeenSet() const
void SetDataCompressionType(DataCompressionType value)
const FileSystemLustreMetadataConfiguration & GetMetadataConfiguration() const
LustreFileSystemConfiguration & WithMetadataConfiguration(MetadataConfigurationT &&value)
bool LogConfigurationHasBeenSet() const
const LustreReadCacheConfiguration & GetDataReadCacheConfiguration() const
LustreFileSystemConfiguration & WithDataReadCacheConfiguration(DataReadCacheConfigurationT &&value)
void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT &&value)
bool AutomaticBackupRetentionDaysHasBeenSet() const
bool DeploymentTypeHasBeenSet() const
LustreFileSystemConfiguration & WithDeploymentType(LustreDeploymentType value)
bool RootSquashConfigurationHasBeenSet() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue