AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
LustreFileSystemConfiguration.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/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>
17#include <utility>
18
19namespace Aws
20{
21namespace Utils
22{
23namespace Json
24{
25 class JsonValue;
26 class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace FSx
30{
31namespace Model
32{
33
41 {
42 public:
43 AWS_FSX_API LustreFileSystemConfiguration() = default;
47
48
50
55 inline const Aws::String& GetWeeklyMaintenanceStartTime() const { return m_weeklyMaintenanceStartTime; }
56 inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
57 template<typename WeeklyMaintenanceStartTimeT = Aws::String>
58 void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) { m_weeklyMaintenanceStartTimeHasBeenSet = true; m_weeklyMaintenanceStartTime = std::forward<WeeklyMaintenanceStartTimeT>(value); }
59 template<typename WeeklyMaintenanceStartTimeT = Aws::String>
60 LustreFileSystemConfiguration& WithWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) { SetWeeklyMaintenanceStartTime(std::forward<WeeklyMaintenanceStartTimeT>(value)); return *this;}
62
64
65 inline const DataRepositoryConfiguration& GetDataRepositoryConfiguration() const { return m_dataRepositoryConfiguration; }
66 inline bool DataRepositoryConfigurationHasBeenSet() const { return m_dataRepositoryConfigurationHasBeenSet; }
67 template<typename DataRepositoryConfigurationT = DataRepositoryConfiguration>
68 void SetDataRepositoryConfiguration(DataRepositoryConfigurationT&& value) { m_dataRepositoryConfigurationHasBeenSet = true; m_dataRepositoryConfiguration = std::forward<DataRepositoryConfigurationT>(value); }
69 template<typename DataRepositoryConfigurationT = DataRepositoryConfiguration>
70 LustreFileSystemConfiguration& WithDataRepositoryConfiguration(DataRepositoryConfigurationT&& value) { SetDataRepositoryConfiguration(std::forward<DataRepositoryConfigurationT>(value)); return *this;}
72
74
91 inline LustreDeploymentType GetDeploymentType() const { return m_deploymentType; }
92 inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; }
93 inline void SetDeploymentType(LustreDeploymentType value) { m_deploymentTypeHasBeenSet = true; m_deploymentType = value; }
96
98
108 inline int GetPerUnitStorageThroughput() const { return m_perUnitStorageThroughput; }
109 inline bool PerUnitStorageThroughputHasBeenSet() const { return m_perUnitStorageThroughputHasBeenSet; }
110 inline void SetPerUnitStorageThroughput(int value) { m_perUnitStorageThroughputHasBeenSet = true; m_perUnitStorageThroughput = value; }
113
115
122 inline const Aws::String& GetMountName() const { return m_mountName; }
123 inline bool MountNameHasBeenSet() const { return m_mountNameHasBeenSet; }
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>
127 LustreFileSystemConfiguration& WithMountName(MountNameT&& value) { SetMountName(std::forward<MountNameT>(value)); return *this;}
129
131
132 inline const Aws::String& GetDailyAutomaticBackupStartTime() const { return m_dailyAutomaticBackupStartTime; }
133 inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; }
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>
137 LustreFileSystemConfiguration& WithDailyAutomaticBackupStartTime(DailyAutomaticBackupStartTimeT&& value) { SetDailyAutomaticBackupStartTime(std::forward<DailyAutomaticBackupStartTimeT>(value)); return *this;}
139
141
142 inline int GetAutomaticBackupRetentionDays() const { return m_automaticBackupRetentionDays; }
143 inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; }
144 inline void SetAutomaticBackupRetentionDays(int value) { m_automaticBackupRetentionDaysHasBeenSet = true; m_automaticBackupRetentionDays = value; }
147
149
158 inline bool GetCopyTagsToBackups() const { return m_copyTagsToBackups; }
159 inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; }
160 inline void SetCopyTagsToBackups(bool value) { m_copyTagsToBackupsHasBeenSet = true; m_copyTagsToBackups = value; }
163
165
174 inline DriveCacheType GetDriveCacheType() const { return m_driveCacheType; }
175 inline bool DriveCacheTypeHasBeenSet() const { return m_driveCacheTypeHasBeenSet; }
176 inline void SetDriveCacheType(DriveCacheType value) { m_driveCacheTypeHasBeenSet = true; m_driveCacheType = value; }
179
181
190 inline DataCompressionType GetDataCompressionType() const { return m_dataCompressionType; }
191 inline bool DataCompressionTypeHasBeenSet() const { return m_dataCompressionTypeHasBeenSet; }
192 inline void SetDataCompressionType(DataCompressionType value) { m_dataCompressionTypeHasBeenSet = true; m_dataCompressionType = value; }
195
197
201 inline const LustreLogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
202 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
203 template<typename LogConfigurationT = LustreLogConfiguration>
204 void SetLogConfiguration(LogConfigurationT&& value) { m_logConfigurationHasBeenSet = true; m_logConfiguration = std::forward<LogConfigurationT>(value); }
205 template<typename LogConfigurationT = LustreLogConfiguration>
206 LustreFileSystemConfiguration& WithLogConfiguration(LogConfigurationT&& value) { SetLogConfiguration(std::forward<LogConfigurationT>(value)); return *this;}
208
210
215 inline const LustreRootSquashConfiguration& GetRootSquashConfiguration() const { return m_rootSquashConfiguration; }
216 inline bool RootSquashConfigurationHasBeenSet() const { return m_rootSquashConfigurationHasBeenSet; }
217 template<typename RootSquashConfigurationT = LustreRootSquashConfiguration>
218 void SetRootSquashConfiguration(RootSquashConfigurationT&& value) { m_rootSquashConfigurationHasBeenSet = true; m_rootSquashConfiguration = std::forward<RootSquashConfigurationT>(value); }
219 template<typename RootSquashConfigurationT = LustreRootSquashConfiguration>
220 LustreFileSystemConfiguration& WithRootSquashConfiguration(RootSquashConfigurationT&& value) { SetRootSquashConfiguration(std::forward<RootSquashConfigurationT>(value)); return *this;}
222
224
228 inline const FileSystemLustreMetadataConfiguration& GetMetadataConfiguration() const { return m_metadataConfiguration; }
229 inline bool MetadataConfigurationHasBeenSet() const { return m_metadataConfigurationHasBeenSet; }
230 template<typename MetadataConfigurationT = FileSystemLustreMetadataConfiguration>
231 void SetMetadataConfiguration(MetadataConfigurationT&& value) { m_metadataConfigurationHasBeenSet = true; m_metadataConfiguration = std::forward<MetadataConfigurationT>(value); }
232 template<typename MetadataConfigurationT = FileSystemLustreMetadataConfiguration>
233 LustreFileSystemConfiguration& WithMetadataConfiguration(MetadataConfigurationT&& value) { SetMetadataConfiguration(std::forward<MetadataConfigurationT>(value)); return *this;}
235
237
241 inline bool GetEfaEnabled() const { return m_efaEnabled; }
242 inline bool EfaEnabledHasBeenSet() const { return m_efaEnabledHasBeenSet; }
243 inline void SetEfaEnabled(bool value) { m_efaEnabledHasBeenSet = true; m_efaEnabled = value; }
244 inline LustreFileSystemConfiguration& WithEfaEnabled(bool value) { SetEfaEnabled(value); return *this;}
246
248
252 inline int GetThroughputCapacity() const { return m_throughputCapacity; }
253 inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; }
254 inline void SetThroughputCapacity(int value) { m_throughputCapacityHasBeenSet = true; m_throughputCapacity = value; }
257
259
264 inline const LustreReadCacheConfiguration& GetDataReadCacheConfiguration() const { return m_dataReadCacheConfiguration; }
265 inline bool DataReadCacheConfigurationHasBeenSet() const { return m_dataReadCacheConfigurationHasBeenSet; }
266 template<typename DataReadCacheConfigurationT = LustreReadCacheConfiguration>
267 void SetDataReadCacheConfiguration(DataReadCacheConfigurationT&& value) { m_dataReadCacheConfigurationHasBeenSet = true; m_dataReadCacheConfiguration = std::forward<DataReadCacheConfigurationT>(value); }
268 template<typename DataReadCacheConfigurationT = LustreReadCacheConfiguration>
269 LustreFileSystemConfiguration& WithDataReadCacheConfiguration(DataReadCacheConfigurationT&& value) { SetDataReadCacheConfiguration(std::forward<DataReadCacheConfigurationT>(value)); return *this;}
271 private:
272
273 Aws::String m_weeklyMaintenanceStartTime;
274 bool m_weeklyMaintenanceStartTimeHasBeenSet = false;
275
276 DataRepositoryConfiguration m_dataRepositoryConfiguration;
277 bool m_dataRepositoryConfigurationHasBeenSet = false;
278
280 bool m_deploymentTypeHasBeenSet = false;
281
282 int m_perUnitStorageThroughput{0};
283 bool m_perUnitStorageThroughputHasBeenSet = false;
284
285 Aws::String m_mountName;
286 bool m_mountNameHasBeenSet = false;
287
288 Aws::String m_dailyAutomaticBackupStartTime;
289 bool m_dailyAutomaticBackupStartTimeHasBeenSet = false;
290
291 int m_automaticBackupRetentionDays{0};
292 bool m_automaticBackupRetentionDaysHasBeenSet = false;
293
294 bool m_copyTagsToBackups{false};
295 bool m_copyTagsToBackupsHasBeenSet = false;
296
297 DriveCacheType m_driveCacheType{DriveCacheType::NOT_SET};
298 bool m_driveCacheTypeHasBeenSet = false;
299
301 bool m_dataCompressionTypeHasBeenSet = false;
302
303 LustreLogConfiguration m_logConfiguration;
304 bool m_logConfigurationHasBeenSet = false;
305
306 LustreRootSquashConfiguration m_rootSquashConfiguration;
307 bool m_rootSquashConfigurationHasBeenSet = false;
308
309 FileSystemLustreMetadataConfiguration m_metadataConfiguration;
310 bool m_metadataConfigurationHasBeenSet = false;
311
312 bool m_efaEnabled{false};
313 bool m_efaEnabledHasBeenSet = false;
314
315 int m_throughputCapacity{0};
316 bool m_throughputCapacityHasBeenSet = false;
317
318 LustreReadCacheConfiguration m_dataReadCacheConfiguration;
319 bool m_dataReadCacheConfigurationHasBeenSet = false;
320 };
321
322} // namespace Model
323} // namespace FSx
324} // namespace Aws
LustreFileSystemConfiguration & WithCopyTagsToBackups(bool value)
LustreFileSystemConfiguration & WithDailyAutomaticBackupStartTime(DailyAutomaticBackupStartTimeT &&value)
LustreFileSystemConfiguration & WithAutomaticBackupRetentionDays(int value)
void SetDataRepositoryConfiguration(DataRepositoryConfigurationT &&value)
LustreFileSystemConfiguration & WithRootSquashConfiguration(RootSquashConfigurationT &&value)
void SetMetadataConfiguration(MetadataConfigurationT &&value)
void SetRootSquashConfiguration(RootSquashConfigurationT &&value)
AWS_FSX_API LustreFileSystemConfiguration(Aws::Utils::Json::JsonView jsonValue)
LustreFileSystemConfiguration & WithDataRepositoryConfiguration(DataRepositoryConfigurationT &&value)
void SetDataReadCacheConfiguration(DataReadCacheConfigurationT &&value)
LustreFileSystemConfiguration & WithPerUnitStorageThroughput(int value)
const DataRepositoryConfiguration & GetDataRepositoryConfiguration() const
LustreFileSystemConfiguration & WithEfaEnabled(bool value)
const LustreLogConfiguration & GetLogConfiguration() const
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
LustreFileSystemConfiguration & WithDataCompressionType(DataCompressionType value)
AWS_FSX_API LustreFileSystemConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetDailyAutomaticBackupStartTime(DailyAutomaticBackupStartTimeT &&value)
LustreFileSystemConfiguration & WithThroughputCapacity(int value)
LustreFileSystemConfiguration & WithLogConfiguration(LogConfigurationT &&value)
LustreFileSystemConfiguration & WithMountName(MountNameT &&value)
LustreFileSystemConfiguration & WithWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT &&value)
LustreFileSystemConfiguration & WithDriveCacheType(DriveCacheType value)
const LustreRootSquashConfiguration & GetRootSquashConfiguration() const
const FileSystemLustreMetadataConfiguration & GetMetadataConfiguration() const
LustreFileSystemConfiguration & WithMetadataConfiguration(MetadataConfigurationT &&value)
const LustreReadCacheConfiguration & GetDataReadCacheConfiguration() const
LustreFileSystemConfiguration & WithDataReadCacheConfiguration(DataReadCacheConfigurationT &&value)
void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT &&value)
LustreFileSystemConfiguration & WithDeploymentType(LustreDeploymentType value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue