AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateFileSystemRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/fsx/FSxRequest.h>
11#include <aws/fsx/FSx_EXPORTS.h>
12#include <aws/fsx/model/CreateFileSystemLustreConfiguration.h>
13#include <aws/fsx/model/CreateFileSystemOntapConfiguration.h>
14#include <aws/fsx/model/CreateFileSystemOpenZFSConfiguration.h>
15#include <aws/fsx/model/CreateFileSystemWindowsConfiguration.h>
16#include <aws/fsx/model/FileSystemType.h>
17#include <aws/fsx/model/NetworkType.h>
18#include <aws/fsx/model/StorageType.h>
19#include <aws/fsx/model/Tag.h>
20
21#include <utility>
22
23namespace Aws {
24namespace FSx {
25namespace Model {
26
34 public:
35 AWS_FSX_API CreateFileSystemRequest() = default;
36
37 // Service request name is the Operation name which will send this request out,
38 // each operation should has unique request name, so that we can get operation's name from this request.
39 // Note: this is not true for response, multiple operations may have the same response name,
40 // so we can not get operation's name from response.
41 inline virtual const char* GetServiceRequestName() const override { return "CreateFileSystem"; }
42
43 AWS_FSX_API Aws::String SerializePayload() const override;
44
46
48
53 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
54 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
55 template <typename ClientRequestTokenT = Aws::String>
56 void SetClientRequestToken(ClientRequestTokenT&& value) {
57 m_clientRequestTokenHasBeenSet = true;
58 m_clientRequestToken = std::forward<ClientRequestTokenT>(value);
59 }
60 template <typename ClientRequestTokenT = Aws::String>
61 CreateFileSystemRequest& WithClientRequestToken(ClientRequestTokenT&& value) {
62 SetClientRequestToken(std::forward<ClientRequestTokenT>(value));
63 return *this;
64 }
66
68
73 inline FileSystemType GetFileSystemType() const { return m_fileSystemType; }
74 inline bool FileSystemTypeHasBeenSet() const { return m_fileSystemTypeHasBeenSet; }
75 inline void SetFileSystemType(FileSystemType value) {
76 m_fileSystemTypeHasBeenSet = true;
77 m_fileSystemType = value;
78 }
80 SetFileSystemType(value);
81 return *this;
82 }
84
86
110 inline int GetStorageCapacity() const { return m_storageCapacity; }
111 inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; }
112 inline void SetStorageCapacity(int value) {
113 m_storageCapacityHasBeenSet = true;
114 m_storageCapacity = value;
115 }
117 SetStorageCapacity(value);
118 return *this;
119 }
121
123
146 inline StorageType GetStorageType() const { return m_storageType; }
147 inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; }
148 inline void SetStorageType(StorageType value) {
149 m_storageTypeHasBeenSet = true;
150 m_storageType = value;
151 }
153 SetStorageType(value);
154 return *this;
155 }
157
159
176 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
177 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
178 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
179 void SetSubnetIds(SubnetIdsT&& value) {
180 m_subnetIdsHasBeenSet = true;
181 m_subnetIds = std::forward<SubnetIdsT>(value);
182 }
183 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
185 SetSubnetIds(std::forward<SubnetIdsT>(value));
186 return *this;
187 }
188 template <typename SubnetIdsT = Aws::String>
190 m_subnetIdsHasBeenSet = true;
191 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
192 return *this;
193 }
195
197
204 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
205 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
206 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
207 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
208 m_securityGroupIdsHasBeenSet = true;
209 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
210 }
211 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
212 CreateFileSystemRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) {
213 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
214 return *this;
215 }
216 template <typename SecurityGroupIdsT = Aws::String>
217 CreateFileSystemRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
218 m_securityGroupIdsHasBeenSet = true;
219 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
220 return *this;
221 }
223
225
229 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
230 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
231 template <typename TagsT = Aws::Vector<Tag>>
232 void SetTags(TagsT&& value) {
233 m_tagsHasBeenSet = true;
234 m_tags = std::forward<TagsT>(value);
235 }
236 template <typename TagsT = Aws::Vector<Tag>>
238 SetTags(std::forward<TagsT>(value));
239 return *this;
240 }
241 template <typename TagsT = Tag>
243 m_tagsHasBeenSet = true;
244 m_tags.emplace_back(std::forward<TagsT>(value));
245 return *this;
246 }
248
250
251 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
252 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
253 template <typename KmsKeyIdT = Aws::String>
254 void SetKmsKeyId(KmsKeyIdT&& value) {
255 m_kmsKeyIdHasBeenSet = true;
256 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
257 }
258 template <typename KmsKeyIdT = Aws::String>
260 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
261 return *this;
262 }
264
266
270 inline const CreateFileSystemWindowsConfiguration& GetWindowsConfiguration() const { return m_windowsConfiguration; }
271 inline bool WindowsConfigurationHasBeenSet() const { return m_windowsConfigurationHasBeenSet; }
272 template <typename WindowsConfigurationT = CreateFileSystemWindowsConfiguration>
273 void SetWindowsConfiguration(WindowsConfigurationT&& value) {
274 m_windowsConfigurationHasBeenSet = true;
275 m_windowsConfiguration = std::forward<WindowsConfigurationT>(value);
276 }
277 template <typename WindowsConfigurationT = CreateFileSystemWindowsConfiguration>
278 CreateFileSystemRequest& WithWindowsConfiguration(WindowsConfigurationT&& value) {
279 SetWindowsConfiguration(std::forward<WindowsConfigurationT>(value));
280 return *this;
281 }
283
285
286 inline const CreateFileSystemLustreConfiguration& GetLustreConfiguration() const { return m_lustreConfiguration; }
287 inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; }
288 template <typename LustreConfigurationT = CreateFileSystemLustreConfiguration>
289 void SetLustreConfiguration(LustreConfigurationT&& value) {
290 m_lustreConfigurationHasBeenSet = true;
291 m_lustreConfiguration = std::forward<LustreConfigurationT>(value);
292 }
293 template <typename LustreConfigurationT = CreateFileSystemLustreConfiguration>
294 CreateFileSystemRequest& WithLustreConfiguration(LustreConfigurationT&& value) {
295 SetLustreConfiguration(std::forward<LustreConfigurationT>(value));
296 return *this;
297 }
299
301
302 inline const CreateFileSystemOntapConfiguration& GetOntapConfiguration() const { return m_ontapConfiguration; }
303 inline bool OntapConfigurationHasBeenSet() const { return m_ontapConfigurationHasBeenSet; }
304 template <typename OntapConfigurationT = CreateFileSystemOntapConfiguration>
305 void SetOntapConfiguration(OntapConfigurationT&& value) {
306 m_ontapConfigurationHasBeenSet = true;
307 m_ontapConfiguration = std::forward<OntapConfigurationT>(value);
308 }
309 template <typename OntapConfigurationT = CreateFileSystemOntapConfiguration>
310 CreateFileSystemRequest& WithOntapConfiguration(OntapConfigurationT&& value) {
311 SetOntapConfiguration(std::forward<OntapConfigurationT>(value));
312 return *this;
313 }
315
317
332 inline const Aws::String& GetFileSystemTypeVersion() const { return m_fileSystemTypeVersion; }
333 inline bool FileSystemTypeVersionHasBeenSet() const { return m_fileSystemTypeVersionHasBeenSet; }
334 template <typename FileSystemTypeVersionT = Aws::String>
335 void SetFileSystemTypeVersion(FileSystemTypeVersionT&& value) {
336 m_fileSystemTypeVersionHasBeenSet = true;
337 m_fileSystemTypeVersion = std::forward<FileSystemTypeVersionT>(value);
338 }
339 template <typename FileSystemTypeVersionT = Aws::String>
340 CreateFileSystemRequest& WithFileSystemTypeVersion(FileSystemTypeVersionT&& value) {
341 SetFileSystemTypeVersion(std::forward<FileSystemTypeVersionT>(value));
342 return *this;
343 }
345
347
350 inline const CreateFileSystemOpenZFSConfiguration& GetOpenZFSConfiguration() const { return m_openZFSConfiguration; }
351 inline bool OpenZFSConfigurationHasBeenSet() const { return m_openZFSConfigurationHasBeenSet; }
352 template <typename OpenZFSConfigurationT = CreateFileSystemOpenZFSConfiguration>
353 void SetOpenZFSConfiguration(OpenZFSConfigurationT&& value) {
354 m_openZFSConfigurationHasBeenSet = true;
355 m_openZFSConfiguration = std::forward<OpenZFSConfigurationT>(value);
356 }
357 template <typename OpenZFSConfigurationT = CreateFileSystemOpenZFSConfiguration>
358 CreateFileSystemRequest& WithOpenZFSConfiguration(OpenZFSConfigurationT&& value) {
359 SetOpenZFSConfiguration(std::forward<OpenZFSConfigurationT>(value));
360 return *this;
361 }
363
365
372 inline NetworkType GetNetworkType() const { return m_networkType; }
373 inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; }
374 inline void SetNetworkType(NetworkType value) {
375 m_networkTypeHasBeenSet = true;
376 m_networkType = value;
377 }
379 SetNetworkType(value);
380 return *this;
381 }
383 private:
384 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
385
386 FileSystemType m_fileSystemType{FileSystemType::NOT_SET};
387
388 int m_storageCapacity{0};
389
390 StorageType m_storageType{StorageType::NOT_SET};
391
392 Aws::Vector<Aws::String> m_subnetIds;
393
394 Aws::Vector<Aws::String> m_securityGroupIds;
395
396 Aws::Vector<Tag> m_tags;
397
398 Aws::String m_kmsKeyId;
399
400 CreateFileSystemWindowsConfiguration m_windowsConfiguration;
401
402 CreateFileSystemLustreConfiguration m_lustreConfiguration;
403
404 CreateFileSystemOntapConfiguration m_ontapConfiguration;
405
406 Aws::String m_fileSystemTypeVersion;
407
408 CreateFileSystemOpenZFSConfiguration m_openZFSConfiguration;
409
410 NetworkType m_networkType{NetworkType::NOT_SET};
411 bool m_clientRequestTokenHasBeenSet = true;
412 bool m_fileSystemTypeHasBeenSet = false;
413 bool m_storageCapacityHasBeenSet = false;
414 bool m_storageTypeHasBeenSet = false;
415 bool m_subnetIdsHasBeenSet = false;
416 bool m_securityGroupIdsHasBeenSet = false;
417 bool m_tagsHasBeenSet = false;
418 bool m_kmsKeyIdHasBeenSet = false;
419 bool m_windowsConfigurationHasBeenSet = false;
420 bool m_lustreConfigurationHasBeenSet = false;
421 bool m_ontapConfigurationHasBeenSet = false;
422 bool m_fileSystemTypeVersionHasBeenSet = false;
423 bool m_openZFSConfigurationHasBeenSet = false;
424 bool m_networkTypeHasBeenSet = false;
425};
426
427} // namespace Model
428} // namespace FSx
429} // namespace Aws
CreateFileSystemRequest & WithTags(TagsT &&value)
CreateFileSystemRequest & WithSubnetIds(SubnetIdsT &&value)
AWS_FSX_API Aws::String SerializePayload() const override
CreateFileSystemRequest & AddTags(TagsT &&value)
CreateFileSystemRequest & WithLustreConfiguration(LustreConfigurationT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
const CreateFileSystemLustreConfiguration & GetLustreConfiguration() const
void SetClientRequestToken(ClientRequestTokenT &&value)
CreateFileSystemRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
void SetLustreConfiguration(LustreConfigurationT &&value)
virtual const char * GetServiceRequestName() const override
CreateFileSystemRequest & WithFileSystemType(FileSystemType value)
CreateFileSystemRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
CreateFileSystemRequest & WithNetworkType(NetworkType value)
void SetOntapConfiguration(OntapConfigurationT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
void SetWindowsConfiguration(WindowsConfigurationT &&value)
void SetOpenZFSConfiguration(OpenZFSConfigurationT &&value)
CreateFileSystemRequest & WithOpenZFSConfiguration(OpenZFSConfigurationT &&value)
void SetFileSystemTypeVersion(FileSystemTypeVersionT &&value)
CreateFileSystemRequest & AddSubnetIds(SubnetIdsT &&value)
CreateFileSystemRequest & WithStorageType(StorageType value)
CreateFileSystemRequest & WithKmsKeyId(KmsKeyIdT &&value)
AWS_FSX_API CreateFileSystemRequest()=default
CreateFileSystemRequest & WithClientRequestToken(ClientRequestTokenT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const CreateFileSystemWindowsConfiguration & GetWindowsConfiguration() const
const CreateFileSystemOntapConfiguration & GetOntapConfiguration() const
CreateFileSystemRequest & WithStorageCapacity(int value)
CreateFileSystemRequest & WithOntapConfiguration(OntapConfigurationT &&value)
CreateFileSystemRequest & WithFileSystemTypeVersion(FileSystemTypeVersionT &&value)
const CreateFileSystemOpenZFSConfiguration & GetOpenZFSConfiguration() const
CreateFileSystemRequest & WithWindowsConfiguration(WindowsConfigurationT &&value)
const Aws::Vector< Tag > & GetTags() const
static Aws::Utils::UUID PseudoRandomUUID()
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector