7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/fsx/model/DataRepositoryConfiguration.h>
10#include <aws/fsx/model/LustreDeploymentType.h>
11#include <aws/fsx/model/DriveCacheType.h>
12#include <aws/fsx/model/DataCompressionType.h>
13#include <aws/fsx/model/LustreLogConfiguration.h>
14#include <aws/fsx/model/LustreRootSquashConfiguration.h>
15#include <aws/fsx/model/FileSystemLustreMetadataConfiguration.h>
16#include <aws/fsx/model/LustreReadCacheConfiguration.h>
57 template<
typename WeeklyMa
intenanceStartTimeT = Aws::String>
58 void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) { m_weeklyMaintenanceStartTimeHasBeenSet =
true; m_weeklyMaintenanceStartTime = std::forward<WeeklyMaintenanceStartTimeT>(value); }
59 template<
typename WeeklyMa
intenanceStartTimeT = Aws::String>
67 template<
typename DataRepositoryConfigurationT = DataRepositoryConfiguration>
68 void SetDataRepositoryConfiguration(DataRepositoryConfigurationT&& value) { m_dataRepositoryConfigurationHasBeenSet =
true; m_dataRepositoryConfiguration = std::forward<DataRepositoryConfigurationT>(value); }
69 template<
typename DataRepositoryConfigurationT = DataRepositoryConfiguration>
124 template<
typename MountNameT = Aws::String>
125 void SetMountName(MountNameT&& value) { m_mountNameHasBeenSet =
true; m_mountName = std::forward<MountNameT>(value); }
126 template<
typename MountNameT = Aws::String>
134 template<
typename DailyAutomaticBackupStartTimeT = Aws::String>
135 void SetDailyAutomaticBackupStartTime(DailyAutomaticBackupStartTimeT&& value) { m_dailyAutomaticBackupStartTimeHasBeenSet =
true; m_dailyAutomaticBackupStartTime = std::forward<DailyAutomaticBackupStartTimeT>(value); }
136 template<
typename DailyAutomaticBackupStartTimeT = Aws::String>
160 inline void SetCopyTagsToBackups(
bool value) { m_copyTagsToBackupsHasBeenSet =
true; m_copyTagsToBackups = value; }
203 template<
typename LogConfigurationT = LustreLogConfiguration>
204 void SetLogConfiguration(LogConfigurationT&& value) { m_logConfigurationHasBeenSet =
true; m_logConfiguration = std::forward<LogConfigurationT>(value); }
205 template<
typename LogConfigurationT = LustreLogConfiguration>
217 template<
typename RootSquashConfigurationT = LustreRootSquashConfiguration>
218 void SetRootSquashConfiguration(RootSquashConfigurationT&& value) { m_rootSquashConfigurationHasBeenSet =
true; m_rootSquashConfiguration = std::forward<RootSquashConfigurationT>(value); }
219 template<
typename RootSquashConfigurationT = LustreRootSquashConfiguration>
230 template<
typename MetadataConfigurationT = FileSystemLustreMetadataConfiguration>
231 void SetMetadataConfiguration(MetadataConfigurationT&& value) { m_metadataConfigurationHasBeenSet =
true; m_metadataConfiguration = std::forward<MetadataConfigurationT>(value); }
232 template<
typename MetadataConfigurationT = FileSystemLustreMetadataConfiguration>
243 inline void SetEfaEnabled(
bool value) { m_efaEnabledHasBeenSet =
true; m_efaEnabled = value; }
254 inline void SetThroughputCapacity(
int value) { m_throughputCapacityHasBeenSet =
true; m_throughputCapacity = value; }
266 template<
typename DataReadCacheConfigurationT = LustreReadCacheConfiguration>
267 void SetDataReadCacheConfiguration(DataReadCacheConfigurationT&& value) { m_dataReadCacheConfigurationHasBeenSet =
true; m_dataReadCacheConfiguration = std::forward<DataReadCacheConfigurationT>(value); }
268 template<
typename DataReadCacheConfigurationT = LustreReadCacheConfiguration>
274 bool m_weeklyMaintenanceStartTimeHasBeenSet =
false;
277 bool m_dataRepositoryConfigurationHasBeenSet =
false;
280 bool m_deploymentTypeHasBeenSet =
false;
282 int m_perUnitStorageThroughput{0};
283 bool m_perUnitStorageThroughputHasBeenSet =
false;
286 bool m_mountNameHasBeenSet =
false;
289 bool m_dailyAutomaticBackupStartTimeHasBeenSet =
false;
291 int m_automaticBackupRetentionDays{0};
292 bool m_automaticBackupRetentionDaysHasBeenSet =
false;
294 bool m_copyTagsToBackups{
false};
295 bool m_copyTagsToBackupsHasBeenSet =
false;
298 bool m_driveCacheTypeHasBeenSet =
false;
301 bool m_dataCompressionTypeHasBeenSet =
false;
303 LustreLogConfiguration m_logConfiguration;
304 bool m_logConfigurationHasBeenSet =
false;
306 LustreRootSquashConfiguration m_rootSquashConfiguration;
307 bool m_rootSquashConfigurationHasBeenSet =
false;
309 FileSystemLustreMetadataConfiguration m_metadataConfiguration;
310 bool m_metadataConfigurationHasBeenSet =
false;
312 bool m_efaEnabled{
false};
313 bool m_efaEnabledHasBeenSet =
false;
315 int m_throughputCapacity{0};
316 bool m_throughputCapacityHasBeenSet =
false;
318 LustreReadCacheConfiguration m_dataReadCacheConfiguration;
319 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