AWS SDK for C++

AWS SDK for C++ Version 1.11.637

Loading...
Searching...
No Matches
CreateFileSystemRequest.h
1
6#pragma once
7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/fsx/FSxRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/fsx/model/FileSystemType.h>
11#include <aws/fsx/model/StorageType.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/fsx/model/CreateFileSystemWindowsConfiguration.h>
14#include <aws/fsx/model/CreateFileSystemLustreConfiguration.h>
15#include <aws/fsx/model/CreateFileSystemOntapConfiguration.h>
16#include <aws/fsx/model/CreateFileSystemOpenZFSConfiguration.h>
17#include <aws/fsx/model/NetworkType.h>
18#include <aws/fsx/model/Tag.h>
19#include <utility>
20#include <aws/core/utils/UUID.h>
21
22namespace Aws
23{
24namespace FSx
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_FSX_API CreateFileSystemRequest() = default;
39
40 // Service request name is the Operation name which will send this request out,
41 // each operation should has unique request name, so that we can get operation's name from this request.
42 // Note: this is not true for response, multiple operations may have the same response name,
43 // so we can not get operation's name from response.
44 inline virtual const char* GetServiceRequestName() const override { return "CreateFileSystem"; }
45
46 AWS_FSX_API Aws::String SerializePayload() const override;
47
49
50
52
57 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
58 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
59 template<typename ClientRequestTokenT = Aws::String>
60 void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::forward<ClientRequestTokenT>(value); }
61 template<typename ClientRequestTokenT = Aws::String>
62 CreateFileSystemRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward<ClientRequestTokenT>(value)); return *this;}
64
66
71 inline FileSystemType GetFileSystemType() const { return m_fileSystemType; }
72 inline bool FileSystemTypeHasBeenSet() const { return m_fileSystemTypeHasBeenSet; }
73 inline void SetFileSystemType(FileSystemType value) { m_fileSystemTypeHasBeenSet = true; m_fileSystemType = value; }
76
78
102 inline int GetStorageCapacity() const { return m_storageCapacity; }
103 inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; }
104 inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; }
105 inline CreateFileSystemRequest& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;}
107
109
132 inline StorageType GetStorageType() const { return m_storageType; }
133 inline bool StorageTypeHasBeenSet() const { return m_storageTypeHasBeenSet; }
134 inline void SetStorageType(StorageType value) { m_storageTypeHasBeenSet = true; m_storageType = value; }
137
139
156 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
157 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
158 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
159 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::forward<SubnetIdsT>(value); }
160 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
161 CreateFileSystemRequest& WithSubnetIds(SubnetIdsT&& value) { SetSubnetIds(std::forward<SubnetIdsT>(value)); return *this;}
162 template<typename SubnetIdsT = Aws::String>
163 CreateFileSystemRequest& AddSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value)); return *this; }
165
167
174 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
175 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
176 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
177 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
178 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
179 CreateFileSystemRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
180 template<typename SecurityGroupIdsT = Aws::String>
181 CreateFileSystemRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
183
185
189 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
190 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
191 template<typename TagsT = Aws::Vector<Tag>>
192 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
193 template<typename TagsT = Aws::Vector<Tag>>
194 CreateFileSystemRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
195 template<typename TagsT = Tag>
196 CreateFileSystemRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
198
200
201 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
202 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
203 template<typename KmsKeyIdT = Aws::String>
204 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
205 template<typename KmsKeyIdT = Aws::String>
206 CreateFileSystemRequest& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
208
210
214 inline const CreateFileSystemWindowsConfiguration& GetWindowsConfiguration() const { return m_windowsConfiguration; }
215 inline bool WindowsConfigurationHasBeenSet() const { return m_windowsConfigurationHasBeenSet; }
216 template<typename WindowsConfigurationT = CreateFileSystemWindowsConfiguration>
217 void SetWindowsConfiguration(WindowsConfigurationT&& value) { m_windowsConfigurationHasBeenSet = true; m_windowsConfiguration = std::forward<WindowsConfigurationT>(value); }
218 template<typename WindowsConfigurationT = CreateFileSystemWindowsConfiguration>
219 CreateFileSystemRequest& WithWindowsConfiguration(WindowsConfigurationT&& value) { SetWindowsConfiguration(std::forward<WindowsConfigurationT>(value)); return *this;}
221
223
224 inline const CreateFileSystemLustreConfiguration& GetLustreConfiguration() const { return m_lustreConfiguration; }
225 inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; }
226 template<typename LustreConfigurationT = CreateFileSystemLustreConfiguration>
227 void SetLustreConfiguration(LustreConfigurationT&& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = std::forward<LustreConfigurationT>(value); }
228 template<typename LustreConfigurationT = CreateFileSystemLustreConfiguration>
229 CreateFileSystemRequest& WithLustreConfiguration(LustreConfigurationT&& value) { SetLustreConfiguration(std::forward<LustreConfigurationT>(value)); return *this;}
231
233
234 inline const CreateFileSystemOntapConfiguration& GetOntapConfiguration() const { return m_ontapConfiguration; }
235 inline bool OntapConfigurationHasBeenSet() const { return m_ontapConfigurationHasBeenSet; }
236 template<typename OntapConfigurationT = CreateFileSystemOntapConfiguration>
237 void SetOntapConfiguration(OntapConfigurationT&& value) { m_ontapConfigurationHasBeenSet = true; m_ontapConfiguration = std::forward<OntapConfigurationT>(value); }
238 template<typename OntapConfigurationT = CreateFileSystemOntapConfiguration>
239 CreateFileSystemRequest& WithOntapConfiguration(OntapConfigurationT&& value) { SetOntapConfiguration(std::forward<OntapConfigurationT>(value)); return *this;}
241
243
258 inline const Aws::String& GetFileSystemTypeVersion() const { return m_fileSystemTypeVersion; }
259 inline bool FileSystemTypeVersionHasBeenSet() const { return m_fileSystemTypeVersionHasBeenSet; }
260 template<typename FileSystemTypeVersionT = Aws::String>
261 void SetFileSystemTypeVersion(FileSystemTypeVersionT&& value) { m_fileSystemTypeVersionHasBeenSet = true; m_fileSystemTypeVersion = std::forward<FileSystemTypeVersionT>(value); }
262 template<typename FileSystemTypeVersionT = Aws::String>
263 CreateFileSystemRequest& WithFileSystemTypeVersion(FileSystemTypeVersionT&& value) { SetFileSystemTypeVersion(std::forward<FileSystemTypeVersionT>(value)); return *this;}
265
267
270 inline const CreateFileSystemOpenZFSConfiguration& GetOpenZFSConfiguration() const { return m_openZFSConfiguration; }
271 inline bool OpenZFSConfigurationHasBeenSet() const { return m_openZFSConfigurationHasBeenSet; }
272 template<typename OpenZFSConfigurationT = CreateFileSystemOpenZFSConfiguration>
273 void SetOpenZFSConfiguration(OpenZFSConfigurationT&& value) { m_openZFSConfigurationHasBeenSet = true; m_openZFSConfiguration = std::forward<OpenZFSConfigurationT>(value); }
274 template<typename OpenZFSConfigurationT = CreateFileSystemOpenZFSConfiguration>
275 CreateFileSystemRequest& WithOpenZFSConfiguration(OpenZFSConfigurationT&& value) { SetOpenZFSConfiguration(std::forward<OpenZFSConfigurationT>(value)); return *this;}
277
279
285 inline NetworkType GetNetworkType() const { return m_networkType; }
286 inline bool NetworkTypeHasBeenSet() const { return m_networkTypeHasBeenSet; }
287 inline void SetNetworkType(NetworkType value) { m_networkTypeHasBeenSet = true; m_networkType = value; }
290 private:
291
292 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
293 bool m_clientRequestTokenHasBeenSet = true;
294
295 FileSystemType m_fileSystemType{FileSystemType::NOT_SET};
296 bool m_fileSystemTypeHasBeenSet = false;
297
298 int m_storageCapacity{0};
299 bool m_storageCapacityHasBeenSet = false;
300
301 StorageType m_storageType{StorageType::NOT_SET};
302 bool m_storageTypeHasBeenSet = false;
303
304 Aws::Vector<Aws::String> m_subnetIds;
305 bool m_subnetIdsHasBeenSet = false;
306
307 Aws::Vector<Aws::String> m_securityGroupIds;
308 bool m_securityGroupIdsHasBeenSet = false;
309
310 Aws::Vector<Tag> m_tags;
311 bool m_tagsHasBeenSet = false;
312
313 Aws::String m_kmsKeyId;
314 bool m_kmsKeyIdHasBeenSet = false;
315
316 CreateFileSystemWindowsConfiguration m_windowsConfiguration;
317 bool m_windowsConfigurationHasBeenSet = false;
318
319 CreateFileSystemLustreConfiguration m_lustreConfiguration;
320 bool m_lustreConfigurationHasBeenSet = false;
321
322 CreateFileSystemOntapConfiguration m_ontapConfiguration;
323 bool m_ontapConfigurationHasBeenSet = false;
324
325 Aws::String m_fileSystemTypeVersion;
326 bool m_fileSystemTypeVersionHasBeenSet = false;
327
328 CreateFileSystemOpenZFSConfiguration m_openZFSConfiguration;
329 bool m_openZFSConfigurationHasBeenSet = false;
330
331 NetworkType m_networkType{NetworkType::NOT_SET};
332 bool m_networkTypeHasBeenSet = false;
333 };
334
335} // namespace Model
336} // namespace FSx
337} // 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