AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateFileCacheRequest.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/CreateFileCacheLustreConfiguration.h>
13#include <aws/fsx/model/FileCacheDataRepositoryAssociation.h>
14#include <aws/fsx/model/FileCacheType.h>
15#include <aws/fsx/model/Tag.h>
16
17#include <utility>
18
19namespace Aws {
20namespace FSx {
21namespace Model {
22
26 public:
27 AWS_FSX_API CreateFileCacheRequest() = default;
28
29 // Service request name is the Operation name which will send this request out,
30 // each operation should has unique request name, so that we can get operation's name from this request.
31 // Note: this is not true for response, multiple operations may have the same response name,
32 // so we can not get operation's name from response.
33 inline virtual const char* GetServiceRequestName() const override { return "CreateFileCache"; }
34
35 AWS_FSX_API Aws::String SerializePayload() const override;
36
38
40
51 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
52 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
53 template <typename ClientRequestTokenT = Aws::String>
54 void SetClientRequestToken(ClientRequestTokenT&& value) {
55 m_clientRequestTokenHasBeenSet = true;
56 m_clientRequestToken = std::forward<ClientRequestTokenT>(value);
57 }
58 template <typename ClientRequestTokenT = Aws::String>
59 CreateFileCacheRequest& WithClientRequestToken(ClientRequestTokenT&& value) {
60 SetClientRequestToken(std::forward<ClientRequestTokenT>(value));
61 return *this;
62 }
64
66
70 inline FileCacheType GetFileCacheType() const { return m_fileCacheType; }
71 inline bool FileCacheTypeHasBeenSet() const { return m_fileCacheTypeHasBeenSet; }
72 inline void SetFileCacheType(FileCacheType value) {
73 m_fileCacheTypeHasBeenSet = true;
74 m_fileCacheType = value;
75 }
77 SetFileCacheType(value);
78 return *this;
79 }
81
83
87 inline const Aws::String& GetFileCacheTypeVersion() const { return m_fileCacheTypeVersion; }
88 inline bool FileCacheTypeVersionHasBeenSet() const { return m_fileCacheTypeVersionHasBeenSet; }
89 template <typename FileCacheTypeVersionT = Aws::String>
90 void SetFileCacheTypeVersion(FileCacheTypeVersionT&& value) {
91 m_fileCacheTypeVersionHasBeenSet = true;
92 m_fileCacheTypeVersion = std::forward<FileCacheTypeVersionT>(value);
93 }
94 template <typename FileCacheTypeVersionT = Aws::String>
95 CreateFileCacheRequest& WithFileCacheTypeVersion(FileCacheTypeVersionT&& value) {
96 SetFileCacheTypeVersion(std::forward<FileCacheTypeVersionT>(value));
97 return *this;
98 }
100
102
106 inline int GetStorageCapacity() const { return m_storageCapacity; }
107 inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; }
108 inline void SetStorageCapacity(int value) {
109 m_storageCapacityHasBeenSet = true;
110 m_storageCapacity = value;
111 }
113 SetStorageCapacity(value);
114 return *this;
115 }
117
119
120 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
121 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
122 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
123 void SetSubnetIds(SubnetIdsT&& value) {
124 m_subnetIdsHasBeenSet = true;
125 m_subnetIds = std::forward<SubnetIdsT>(value);
126 }
127 template <typename SubnetIdsT = Aws::Vector<Aws::String>>
129 SetSubnetIds(std::forward<SubnetIdsT>(value));
130 return *this;
131 }
132 template <typename SubnetIdsT = Aws::String>
134 m_subnetIdsHasBeenSet = true;
135 m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value));
136 return *this;
137 }
139
141
146 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
147 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
148 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
149 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
150 m_securityGroupIdsHasBeenSet = true;
151 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
152 }
153 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
154 CreateFileCacheRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) {
155 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
156 return *this;
157 }
158 template <typename SecurityGroupIdsT = Aws::String>
159 CreateFileCacheRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) {
160 m_securityGroupIdsHasBeenSet = true;
161 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
162 return *this;
163 }
165
167
168 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
169 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
170 template <typename TagsT = Aws::Vector<Tag>>
171 void SetTags(TagsT&& value) {
172 m_tagsHasBeenSet = true;
173 m_tags = std::forward<TagsT>(value);
174 }
175 template <typename TagsT = Aws::Vector<Tag>>
177 SetTags(std::forward<TagsT>(value));
178 return *this;
179 }
180 template <typename TagsT = Tag>
182 m_tagsHasBeenSet = true;
183 m_tags.emplace_back(std::forward<TagsT>(value));
184 return *this;
185 }
187
189
193 inline bool GetCopyTagsToDataRepositoryAssociations() const { return m_copyTagsToDataRepositoryAssociations; }
194 inline bool CopyTagsToDataRepositoryAssociationsHasBeenSet() const { return m_copyTagsToDataRepositoryAssociationsHasBeenSet; }
196 m_copyTagsToDataRepositoryAssociationsHasBeenSet = true;
197 m_copyTagsToDataRepositoryAssociations = value;
198 }
201 return *this;
202 }
204
206
214 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
215 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
216 template <typename KmsKeyIdT = Aws::String>
217 void SetKmsKeyId(KmsKeyIdT&& value) {
218 m_kmsKeyIdHasBeenSet = true;
219 m_kmsKeyId = std::forward<KmsKeyIdT>(value);
220 }
221 template <typename KmsKeyIdT = Aws::String>
223 SetKmsKeyId(std::forward<KmsKeyIdT>(value));
224 return *this;
225 }
227
229
232 inline const CreateFileCacheLustreConfiguration& GetLustreConfiguration() const { return m_lustreConfiguration; }
233 inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; }
234 template <typename LustreConfigurationT = CreateFileCacheLustreConfiguration>
235 void SetLustreConfiguration(LustreConfigurationT&& value) {
236 m_lustreConfigurationHasBeenSet = true;
237 m_lustreConfiguration = std::forward<LustreConfigurationT>(value);
238 }
239 template <typename LustreConfigurationT = CreateFileCacheLustreConfiguration>
240 CreateFileCacheRequest& WithLustreConfiguration(LustreConfigurationT&& value) {
241 SetLustreConfiguration(std::forward<LustreConfigurationT>(value));
242 return *this;
243 }
245
247
259 return m_dataRepositoryAssociations;
260 }
261 inline bool DataRepositoryAssociationsHasBeenSet() const { return m_dataRepositoryAssociationsHasBeenSet; }
262 template <typename DataRepositoryAssociationsT = Aws::Vector<FileCacheDataRepositoryAssociation>>
263 void SetDataRepositoryAssociations(DataRepositoryAssociationsT&& value) {
264 m_dataRepositoryAssociationsHasBeenSet = true;
265 m_dataRepositoryAssociations = std::forward<DataRepositoryAssociationsT>(value);
266 }
267 template <typename DataRepositoryAssociationsT = Aws::Vector<FileCacheDataRepositoryAssociation>>
268 CreateFileCacheRequest& WithDataRepositoryAssociations(DataRepositoryAssociationsT&& value) {
269 SetDataRepositoryAssociations(std::forward<DataRepositoryAssociationsT>(value));
270 return *this;
271 }
272 template <typename DataRepositoryAssociationsT = FileCacheDataRepositoryAssociation>
273 CreateFileCacheRequest& AddDataRepositoryAssociations(DataRepositoryAssociationsT&& value) {
274 m_dataRepositoryAssociationsHasBeenSet = true;
275 m_dataRepositoryAssociations.emplace_back(std::forward<DataRepositoryAssociationsT>(value));
276 return *this;
277 }
279 private:
280 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
281
282 FileCacheType m_fileCacheType{FileCacheType::NOT_SET};
283
284 Aws::String m_fileCacheTypeVersion;
285
286 int m_storageCapacity{0};
287
288 Aws::Vector<Aws::String> m_subnetIds;
289
290 Aws::Vector<Aws::String> m_securityGroupIds;
291
292 Aws::Vector<Tag> m_tags;
293
294 bool m_copyTagsToDataRepositoryAssociations{false};
295
296 Aws::String m_kmsKeyId;
297
298 CreateFileCacheLustreConfiguration m_lustreConfiguration;
299
300 Aws::Vector<FileCacheDataRepositoryAssociation> m_dataRepositoryAssociations;
301 bool m_clientRequestTokenHasBeenSet = true;
302 bool m_fileCacheTypeHasBeenSet = false;
303 bool m_fileCacheTypeVersionHasBeenSet = false;
304 bool m_storageCapacityHasBeenSet = false;
305 bool m_subnetIdsHasBeenSet = false;
306 bool m_securityGroupIdsHasBeenSet = false;
307 bool m_tagsHasBeenSet = false;
308 bool m_copyTagsToDataRepositoryAssociationsHasBeenSet = false;
309 bool m_kmsKeyIdHasBeenSet = false;
310 bool m_lustreConfigurationHasBeenSet = false;
311 bool m_dataRepositoryAssociationsHasBeenSet = false;
312};
313
314} // namespace Model
315} // namespace FSx
316} // namespace Aws
const Aws::String & GetFileCacheTypeVersion() const
AWS_FSX_API CreateFileCacheRequest()=default
CreateFileCacheRequest & AddSecurityGroupIds(SecurityGroupIdsT &&value)
void SetLustreConfiguration(LustreConfigurationT &&value)
CreateFileCacheRequest & AddDataRepositoryAssociations(DataRepositoryAssociationsT &&value)
CreateFileCacheRequest & WithCopyTagsToDataRepositoryAssociations(bool value)
CreateFileCacheRequest & AddSubnetIds(SubnetIdsT &&value)
const Aws::Vector< Aws::String > & GetSubnetIds() const
const Aws::Vector< FileCacheDataRepositoryAssociation > & GetDataRepositoryAssociations() const
CreateFileCacheRequest & WithTags(TagsT &&value)
void SetDataRepositoryAssociations(DataRepositoryAssociationsT &&value)
virtual const char * GetServiceRequestName() const override
const Aws::String & GetClientRequestToken() const
AWS_FSX_API Aws::String SerializePayload() const override
const CreateFileCacheLustreConfiguration & GetLustreConfiguration() const
CreateFileCacheRequest & AddTags(TagsT &&value)
CreateFileCacheRequest & WithLustreConfiguration(LustreConfigurationT &&value)
void SetSecurityGroupIds(SecurityGroupIdsT &&value)
CreateFileCacheRequest & WithDataRepositoryAssociations(DataRepositoryAssociationsT &&value)
AWS_FSX_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
const Aws::Vector< Tag > & GetTags() const
void SetFileCacheTypeVersion(FileCacheTypeVersionT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
CreateFileCacheRequest & WithSecurityGroupIds(SecurityGroupIdsT &&value)
CreateFileCacheRequest & WithFileCacheType(FileCacheType value)
CreateFileCacheRequest & WithKmsKeyId(KmsKeyIdT &&value)
CreateFileCacheRequest & WithFileCacheTypeVersion(FileCacheTypeVersionT &&value)
CreateFileCacheRequest & WithSubnetIds(SubnetIdsT &&value)
CreateFileCacheRequest & WithClientRequestToken(ClientRequestTokenT &&value)
void SetClientRequestToken(ClientRequestTokenT &&value)
CreateFileCacheRequest & WithStorageCapacity(int value)
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