AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
LustreFileSystemConfiguration.h
1
6#pragma once
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>
17
18#include <utility>
19
20namespace Aws {
21namespace Utils {
22namespace Json {
23class JsonValue;
24class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace FSx {
28namespace Model {
29
37 public:
38 AWS_FSX_API LustreFileSystemConfiguration() = default;
42
44
49 inline const Aws::String& GetWeeklyMaintenanceStartTime() const { return m_weeklyMaintenanceStartTime; }
50 inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
51 template <typename WeeklyMaintenanceStartTimeT = Aws::String>
52 void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) {
53 m_weeklyMaintenanceStartTimeHasBeenSet = true;
54 m_weeklyMaintenanceStartTime = std::forward<WeeklyMaintenanceStartTimeT>(value);
55 }
56 template <typename WeeklyMaintenanceStartTimeT = Aws::String>
57 LustreFileSystemConfiguration& WithWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) {
58 SetWeeklyMaintenanceStartTime(std::forward<WeeklyMaintenanceStartTimeT>(value));
59 return *this;
60 }
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) {
69 m_dataRepositoryConfigurationHasBeenSet = true;
70 m_dataRepositoryConfiguration = std::forward<DataRepositoryConfigurationT>(value);
71 }
72 template <typename DataRepositoryConfigurationT = DataRepositoryConfiguration>
73 LustreFileSystemConfiguration& WithDataRepositoryConfiguration(DataRepositoryConfigurationT&& value) {
74 SetDataRepositoryConfiguration(std::forward<DataRepositoryConfigurationT>(value));
75 return *this;
76 }
78
80
97 inline LustreDeploymentType GetDeploymentType() const { return m_deploymentType; }
98 inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; }
100 m_deploymentTypeHasBeenSet = true;
101 m_deploymentType = value;
102 }
104 SetDeploymentType(value);
105 return *this;
106 }
108
110
120 inline int GetPerUnitStorageThroughput() const { return m_perUnitStorageThroughput; }
121 inline bool PerUnitStorageThroughputHasBeenSet() const { return m_perUnitStorageThroughputHasBeenSet; }
122 inline void SetPerUnitStorageThroughput(int value) {
123 m_perUnitStorageThroughputHasBeenSet = true;
124 m_perUnitStorageThroughput = value;
125 }
128 return *this;
129 }
131
133
140 inline const Aws::String& GetMountName() const { return m_mountName; }
141 inline bool MountNameHasBeenSet() const { return m_mountNameHasBeenSet; }
142 template <typename MountNameT = Aws::String>
143 void SetMountName(MountNameT&& value) {
144 m_mountNameHasBeenSet = true;
145 m_mountName = std::forward<MountNameT>(value);
146 }
147 template <typename MountNameT = Aws::String>
149 SetMountName(std::forward<MountNameT>(value));
150 return *this;
151 }
153
155
156 inline const Aws::String& GetDailyAutomaticBackupStartTime() const { return m_dailyAutomaticBackupStartTime; }
157 inline bool DailyAutomaticBackupStartTimeHasBeenSet() const { return m_dailyAutomaticBackupStartTimeHasBeenSet; }
158 template <typename DailyAutomaticBackupStartTimeT = Aws::String>
159 void SetDailyAutomaticBackupStartTime(DailyAutomaticBackupStartTimeT&& value) {
160 m_dailyAutomaticBackupStartTimeHasBeenSet = true;
161 m_dailyAutomaticBackupStartTime = std::forward<DailyAutomaticBackupStartTimeT>(value);
162 }
163 template <typename DailyAutomaticBackupStartTimeT = Aws::String>
164 LustreFileSystemConfiguration& WithDailyAutomaticBackupStartTime(DailyAutomaticBackupStartTimeT&& value) {
165 SetDailyAutomaticBackupStartTime(std::forward<DailyAutomaticBackupStartTimeT>(value));
166 return *this;
167 }
169
171
172 inline int GetAutomaticBackupRetentionDays() const { return m_automaticBackupRetentionDays; }
173 inline bool AutomaticBackupRetentionDaysHasBeenSet() const { return m_automaticBackupRetentionDaysHasBeenSet; }
174 inline void SetAutomaticBackupRetentionDays(int value) {
175 m_automaticBackupRetentionDaysHasBeenSet = true;
176 m_automaticBackupRetentionDays = value;
177 }
180 return *this;
181 }
183
185
194 inline bool GetCopyTagsToBackups() const { return m_copyTagsToBackups; }
195 inline bool CopyTagsToBackupsHasBeenSet() const { return m_copyTagsToBackupsHasBeenSet; }
196 inline void SetCopyTagsToBackups(bool value) {
197 m_copyTagsToBackupsHasBeenSet = true;
198 m_copyTagsToBackups = value;
199 }
202 return *this;
203 }
205
207
216 inline DriveCacheType GetDriveCacheType() const { return m_driveCacheType; }
217 inline bool DriveCacheTypeHasBeenSet() const { return m_driveCacheTypeHasBeenSet; }
219 m_driveCacheTypeHasBeenSet = true;
220 m_driveCacheType = value;
221 }
223 SetDriveCacheType(value);
224 return *this;
225 }
227
229
238 inline DataCompressionType GetDataCompressionType() const { return m_dataCompressionType; }
239 inline bool DataCompressionTypeHasBeenSet() const { return m_dataCompressionTypeHasBeenSet; }
241 m_dataCompressionTypeHasBeenSet = true;
242 m_dataCompressionType = value;
243 }
246 return *this;
247 }
249
251
255 inline const LustreLogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
256 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
257 template <typename LogConfigurationT = LustreLogConfiguration>
258 void SetLogConfiguration(LogConfigurationT&& value) {
259 m_logConfigurationHasBeenSet = true;
260 m_logConfiguration = std::forward<LogConfigurationT>(value);
261 }
262 template <typename LogConfigurationT = LustreLogConfiguration>
264 SetLogConfiguration(std::forward<LogConfigurationT>(value));
265 return *this;
266 }
268
270
275 inline const LustreRootSquashConfiguration& GetRootSquashConfiguration() const { return m_rootSquashConfiguration; }
276 inline bool RootSquashConfigurationHasBeenSet() const { return m_rootSquashConfigurationHasBeenSet; }
277 template <typename RootSquashConfigurationT = LustreRootSquashConfiguration>
278 void SetRootSquashConfiguration(RootSquashConfigurationT&& value) {
279 m_rootSquashConfigurationHasBeenSet = true;
280 m_rootSquashConfiguration = std::forward<RootSquashConfigurationT>(value);
281 }
282 template <typename RootSquashConfigurationT = LustreRootSquashConfiguration>
284 SetRootSquashConfiguration(std::forward<RootSquashConfigurationT>(value));
285 return *this;
286 }
288
290
294 inline const FileSystemLustreMetadataConfiguration& GetMetadataConfiguration() const { return m_metadataConfiguration; }
295 inline bool MetadataConfigurationHasBeenSet() const { return m_metadataConfigurationHasBeenSet; }
296 template <typename MetadataConfigurationT = FileSystemLustreMetadataConfiguration>
297 void SetMetadataConfiguration(MetadataConfigurationT&& value) {
298 m_metadataConfigurationHasBeenSet = true;
299 m_metadataConfiguration = std::forward<MetadataConfigurationT>(value);
300 }
301 template <typename MetadataConfigurationT = FileSystemLustreMetadataConfiguration>
303 SetMetadataConfiguration(std::forward<MetadataConfigurationT>(value));
304 return *this;
305 }
307
309
313 inline bool GetEfaEnabled() const { return m_efaEnabled; }
314 inline bool EfaEnabledHasBeenSet() const { return m_efaEnabledHasBeenSet; }
315 inline void SetEfaEnabled(bool value) {
316 m_efaEnabledHasBeenSet = true;
317 m_efaEnabled = value;
318 }
320 SetEfaEnabled(value);
321 return *this;
322 }
324
326
330 inline int GetThroughputCapacity() const { return m_throughputCapacity; }
331 inline bool ThroughputCapacityHasBeenSet() const { return m_throughputCapacityHasBeenSet; }
332 inline void SetThroughputCapacity(int value) {
333 m_throughputCapacityHasBeenSet = true;
334 m_throughputCapacity = value;
335 }
338 return *this;
339 }
341
343
348 inline const LustreReadCacheConfiguration& GetDataReadCacheConfiguration() const { return m_dataReadCacheConfiguration; }
349 inline bool DataReadCacheConfigurationHasBeenSet() const { return m_dataReadCacheConfigurationHasBeenSet; }
350 template <typename DataReadCacheConfigurationT = LustreReadCacheConfiguration>
351 void SetDataReadCacheConfiguration(DataReadCacheConfigurationT&& value) {
352 m_dataReadCacheConfigurationHasBeenSet = true;
353 m_dataReadCacheConfiguration = std::forward<DataReadCacheConfigurationT>(value);
354 }
355 template <typename DataReadCacheConfigurationT = LustreReadCacheConfiguration>
356 LustreFileSystemConfiguration& WithDataReadCacheConfiguration(DataReadCacheConfigurationT&& value) {
357 SetDataReadCacheConfiguration(std::forward<DataReadCacheConfigurationT>(value));
358 return *this;
359 }
361 private:
362 Aws::String m_weeklyMaintenanceStartTime;
363
364 DataRepositoryConfiguration m_dataRepositoryConfiguration;
365
367
368 int m_perUnitStorageThroughput{0};
369
370 Aws::String m_mountName;
371
372 Aws::String m_dailyAutomaticBackupStartTime;
373
374 int m_automaticBackupRetentionDays{0};
375
376 bool m_copyTagsToBackups{false};
377
378 DriveCacheType m_driveCacheType{DriveCacheType::NOT_SET};
379
381
382 LustreLogConfiguration m_logConfiguration;
383
384 LustreRootSquashConfiguration m_rootSquashConfiguration;
385
386 FileSystemLustreMetadataConfiguration m_metadataConfiguration;
387
388 bool m_efaEnabled{false};
389
390 int m_throughputCapacity{0};
391
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;
409};
410
411} // namespace Model
412} // namespace FSx
413} // 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