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>
55 template <
typename ClientRequestTokenT = Aws::String>
57 m_clientRequestTokenHasBeenSet =
true;
58 m_clientRequestToken = std::forward<ClientRequestTokenT>(value);
60 template <
typename ClientRequestTokenT = Aws::String>
76 m_fileSystemTypeHasBeenSet =
true;
77 m_fileSystemType = value;
113 m_storageCapacityHasBeenSet =
true;
114 m_storageCapacity = value;
149 m_storageTypeHasBeenSet =
true;
150 m_storageType = value;
178 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
180 m_subnetIdsHasBeenSet =
true;
181 m_subnetIds = std::forward<SubnetIdsT>(value);
183 template <
typename SubnetIdsT = Aws::Vector<Aws::String>>
188 template <
typename SubnetIdsT = Aws::String>
190 m_subnetIdsHasBeenSet =
true;
191 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
206 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
208 m_securityGroupIdsHasBeenSet =
true;
209 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
211 template <
typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
216 template <
typename SecurityGroupIdsT = Aws::String>
218 m_securityGroupIdsHasBeenSet =
true;
219 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
231 template <
typename TagsT = Aws::Vector<Tag>>
233 m_tagsHasBeenSet =
true;
234 m_tags = std::forward<TagsT>(value);
236 template <
typename TagsT = Aws::Vector<Tag>>
238 SetTags(std::forward<TagsT>(value));
241 template <
typename TagsT = Tag>
243 m_tagsHasBeenSet =
true;
244 m_tags.emplace_back(std::forward<TagsT>(value));
253 template <
typename KmsKeyIdT = Aws::String>
255 m_kmsKeyIdHasBeenSet =
true;
256 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
258 template <
typename KmsKeyIdT = Aws::String>
272 template <
typename WindowsConfigurationT = CreateFileSystemWindowsConfiguration>
274 m_windowsConfigurationHasBeenSet =
true;
275 m_windowsConfiguration = std::forward<WindowsConfigurationT>(value);
277 template <
typename WindowsConfigurationT = CreateFileSystemWindowsConfiguration>
288 template <
typename LustreConfigurationT = CreateFileSystemLustreConfiguration>
290 m_lustreConfigurationHasBeenSet =
true;
291 m_lustreConfiguration = std::forward<LustreConfigurationT>(value);
293 template <
typename LustreConfigurationT = CreateFileSystemLustreConfiguration>
304 template <
typename OntapConfigurationT = CreateFileSystemOntapConfiguration>
306 m_ontapConfigurationHasBeenSet =
true;
307 m_ontapConfiguration = std::forward<OntapConfigurationT>(value);
309 template <
typename OntapConfigurationT = CreateFileSystemOntapConfiguration>
334 template <
typename FileSystemTypeVersionT = Aws::String>
336 m_fileSystemTypeVersionHasBeenSet =
true;
337 m_fileSystemTypeVersion = std::forward<FileSystemTypeVersionT>(value);
339 template <
typename FileSystemTypeVersionT = Aws::String>
352 template <
typename OpenZFSConfigurationT = CreateFileSystemOpenZFSConfiguration>
354 m_openZFSConfigurationHasBeenSet =
true;
355 m_openZFSConfiguration = std::forward<OpenZFSConfigurationT>(value);
357 template <
typename OpenZFSConfigurationT = CreateFileSystemOpenZFSConfiguration>
375 m_networkTypeHasBeenSet =
true;
376 m_networkType = value;
388 int m_storageCapacity{0};
400 CreateFileSystemWindowsConfiguration m_windowsConfiguration;
402 CreateFileSystemLustreConfiguration m_lustreConfiguration;
404 CreateFileSystemOntapConfiguration m_ontapConfiguration;
408 CreateFileSystemOpenZFSConfiguration m_openZFSConfiguration;
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;
CreateFileSystemRequest & WithTags(TagsT &&value)
bool OpenZFSConfigurationHasBeenSet() const
bool ClientRequestTokenHasBeenSet() const
const Aws::String & GetClientRequestToken() const
CreateFileSystemRequest & WithSubnetIds(SubnetIdsT &&value)
AWS_FSX_API Aws::String SerializePayload() const override
NetworkType GetNetworkType() const
void SetTags(TagsT &&value)
void SetStorageType(StorageType value)
bool WindowsConfigurationHasBeenSet() const
CreateFileSystemRequest & AddTags(TagsT &&value)
bool StorageCapacityHasBeenSet() const
bool SubnetIdsHasBeenSet() const
bool FileSystemTypeVersionHasBeenSet() const
CreateFileSystemRequest & WithLustreConfiguration(LustreConfigurationT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
const CreateFileSystemLustreConfiguration & GetLustreConfiguration() const
void SetClientRequestToken(ClientRequestTokenT &&value)
void SetFileSystemType(FileSystemType value)
bool NetworkTypeHasBeenSet() const
CreateFileSystemRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetNetworkType(NetworkType value)
AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
bool SecurityGroupIdsHasBeenSet() const
void SetStorageCapacity(int value)
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)
bool FileSystemTypeHasBeenSet() const
const Aws::String & GetKmsKeyId() const
void SetSubnetIds(SubnetIdsT &&value)
void SetOpenZFSConfiguration(OpenZFSConfigurationT &&value)
CreateFileSystemRequest & WithOpenZFSConfiguration(OpenZFSConfigurationT &&value)
StorageType GetStorageType() const
bool TagsHasBeenSet() const
void SetFileSystemTypeVersion(FileSystemTypeVersionT &&value)
CreateFileSystemRequest & AddSubnetIds(SubnetIdsT &&value)
CreateFileSystemRequest & WithStorageType(StorageType value)
CreateFileSystemRequest & WithKmsKeyId(KmsKeyIdT &&value)
AWS_FSX_API CreateFileSystemRequest()=default
const Aws::String & GetFileSystemTypeVersion() const
FileSystemType GetFileSystemType() const
CreateFileSystemRequest & WithClientRequestToken(ClientRequestTokenT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const CreateFileSystemWindowsConfiguration & GetWindowsConfiguration() const
int GetStorageCapacity() const
bool StorageTypeHasBeenSet() const
bool KmsKeyIdHasBeenSet() const
bool OntapConfigurationHasBeenSet() const
void SetKmsKeyId(KmsKeyIdT &&value)
const CreateFileSystemOntapConfiguration & GetOntapConfiguration() const
CreateFileSystemRequest & WithStorageCapacity(int value)
CreateFileSystemRequest & WithOntapConfiguration(OntapConfigurationT &&value)
CreateFileSystemRequest & WithFileSystemTypeVersion(FileSystemTypeVersionT &&value)
const CreateFileSystemOpenZFSConfiguration & GetOpenZFSConfiguration() const
CreateFileSystemRequest & WithWindowsConfiguration(WindowsConfigurationT &&value)
bool LustreConfigurationHasBeenSet() const
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