AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
FileCacheLustreConfiguration.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/FileCacheLustreDeploymentType.h>
10#include <aws/fsx/model/FileCacheLustreMetadataConfiguration.h>
11#include <aws/fsx/model/LustreLogConfiguration.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace FSx {
23namespace Model {
24
32 public:
33 AWS_FSX_API FileCacheLustreConfiguration() = default;
37
39
45 inline int GetPerUnitStorageThroughput() const { return m_perUnitStorageThroughput; }
46 inline bool PerUnitStorageThroughputHasBeenSet() const { return m_perUnitStorageThroughputHasBeenSet; }
47 inline void SetPerUnitStorageThroughput(int value) {
48 m_perUnitStorageThroughputHasBeenSet = true;
49 m_perUnitStorageThroughput = value;
50 }
53 return *this;
54 }
56
58
62 inline FileCacheLustreDeploymentType GetDeploymentType() const { return m_deploymentType; }
63 inline bool DeploymentTypeHasBeenSet() const { return m_deploymentTypeHasBeenSet; }
65 m_deploymentTypeHasBeenSet = true;
66 m_deploymentType = value;
67 }
69 SetDeploymentType(value);
70 return *this;
71 }
73
75
80 inline const Aws::String& GetMountName() const { return m_mountName; }
81 inline bool MountNameHasBeenSet() const { return m_mountNameHasBeenSet; }
82 template <typename MountNameT = Aws::String>
83 void SetMountName(MountNameT&& value) {
84 m_mountNameHasBeenSet = true;
85 m_mountName = std::forward<MountNameT>(value);
86 }
87 template <typename MountNameT = Aws::String>
89 SetMountName(std::forward<MountNameT>(value));
90 return *this;
91 }
93
95
96 inline const Aws::String& GetWeeklyMaintenanceStartTime() const { return m_weeklyMaintenanceStartTime; }
97 inline bool WeeklyMaintenanceStartTimeHasBeenSet() const { return m_weeklyMaintenanceStartTimeHasBeenSet; }
98 template <typename WeeklyMaintenanceStartTimeT = Aws::String>
99 void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) {
100 m_weeklyMaintenanceStartTimeHasBeenSet = true;
101 m_weeklyMaintenanceStartTime = std::forward<WeeklyMaintenanceStartTimeT>(value);
102 }
103 template <typename WeeklyMaintenanceStartTimeT = Aws::String>
104 FileCacheLustreConfiguration& WithWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT&& value) {
105 SetWeeklyMaintenanceStartTime(std::forward<WeeklyMaintenanceStartTimeT>(value));
106 return *this;
107 }
109
111
114 inline const FileCacheLustreMetadataConfiguration& GetMetadataConfiguration() const { return m_metadataConfiguration; }
115 inline bool MetadataConfigurationHasBeenSet() const { return m_metadataConfigurationHasBeenSet; }
116 template <typename MetadataConfigurationT = FileCacheLustreMetadataConfiguration>
117 void SetMetadataConfiguration(MetadataConfigurationT&& value) {
118 m_metadataConfigurationHasBeenSet = true;
119 m_metadataConfiguration = std::forward<MetadataConfigurationT>(value);
120 }
121 template <typename MetadataConfigurationT = FileCacheLustreMetadataConfiguration>
123 SetMetadataConfiguration(std::forward<MetadataConfigurationT>(value));
124 return *this;
125 }
127
129
133 inline const LustreLogConfiguration& GetLogConfiguration() const { return m_logConfiguration; }
134 inline bool LogConfigurationHasBeenSet() const { return m_logConfigurationHasBeenSet; }
135 template <typename LogConfigurationT = LustreLogConfiguration>
136 void SetLogConfiguration(LogConfigurationT&& value) {
137 m_logConfigurationHasBeenSet = true;
138 m_logConfiguration = std::forward<LogConfigurationT>(value);
139 }
140 template <typename LogConfigurationT = LustreLogConfiguration>
142 SetLogConfiguration(std::forward<LogConfigurationT>(value));
143 return *this;
144 }
146 private:
147 int m_perUnitStorageThroughput{0};
148
150
151 Aws::String m_mountName;
152
153 Aws::String m_weeklyMaintenanceStartTime;
154
155 FileCacheLustreMetadataConfiguration m_metadataConfiguration;
156
157 LustreLogConfiguration m_logConfiguration;
158 bool m_perUnitStorageThroughputHasBeenSet = false;
159 bool m_deploymentTypeHasBeenSet = false;
160 bool m_mountNameHasBeenSet = false;
161 bool m_weeklyMaintenanceStartTimeHasBeenSet = false;
162 bool m_metadataConfigurationHasBeenSet = false;
163 bool m_logConfigurationHasBeenSet = false;
164};
165
166} // namespace Model
167} // namespace FSx
168} // namespace Aws
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
FileCacheLustreDeploymentType GetDeploymentType() const
void SetMetadataConfiguration(MetadataConfigurationT &&value)
AWS_FSX_API FileCacheLustreConfiguration()=default
FileCacheLustreConfiguration & WithWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT &&value)
FileCacheLustreConfiguration & WithDeploymentType(FileCacheLustreDeploymentType value)
AWS_FSX_API FileCacheLustreConfiguration & operator=(Aws::Utils::Json::JsonView jsonValue)
const FileCacheLustreMetadataConfiguration & GetMetadataConfiguration() const
void SetDeploymentType(FileCacheLustreDeploymentType value)
FileCacheLustreConfiguration & WithLogConfiguration(LogConfigurationT &&value)
void SetWeeklyMaintenanceStartTime(WeeklyMaintenanceStartTimeT &&value)
const LustreLogConfiguration & GetLogConfiguration() const
FileCacheLustreConfiguration & WithMetadataConfiguration(MetadataConfigurationT &&value)
FileCacheLustreConfiguration & WithMountName(MountNameT &&value)
AWS_FSX_API FileCacheLustreConfiguration(Aws::Utils::Json::JsonView jsonValue)
FileCacheLustreConfiguration & WithPerUnitStorageThroughput(int value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue