AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
CreateFileCacheRequest.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/FileCacheType.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/fsx/model/CreateFileCacheLustreConfiguration.h>
13#include <aws/fsx/model/Tag.h>
14#include <aws/fsx/model/FileCacheDataRepositoryAssociation.h>
15#include <utility>
16#include <aws/core/utils/UUID.h>
17
18namespace Aws
19{
20namespace FSx
21{
22namespace Model
23{
24
28 {
29 public:
30 AWS_FSX_API CreateFileCacheRequest() = default;
31
32 // Service request name is the Operation name which will send this request out,
33 // each operation should has unique request name, so that we can get operation's name from this request.
34 // Note: this is not true for response, multiple operations may have the same response name,
35 // so we can not get operation's name from response.
36 inline virtual const char* GetServiceRequestName() const override { return "CreateFileCache"; }
37
38 AWS_FSX_API Aws::String SerializePayload() const override;
39
41
42
44
55 inline const Aws::String& GetClientRequestToken() const { return m_clientRequestToken; }
56 inline bool ClientRequestTokenHasBeenSet() const { return m_clientRequestTokenHasBeenSet; }
57 template<typename ClientRequestTokenT = Aws::String>
58 void SetClientRequestToken(ClientRequestTokenT&& value) { m_clientRequestTokenHasBeenSet = true; m_clientRequestToken = std::forward<ClientRequestTokenT>(value); }
59 template<typename ClientRequestTokenT = Aws::String>
60 CreateFileCacheRequest& WithClientRequestToken(ClientRequestTokenT&& value) { SetClientRequestToken(std::forward<ClientRequestTokenT>(value)); return *this;}
62
64
68 inline FileCacheType GetFileCacheType() const { return m_fileCacheType; }
69 inline bool FileCacheTypeHasBeenSet() const { return m_fileCacheTypeHasBeenSet; }
70 inline void SetFileCacheType(FileCacheType value) { m_fileCacheTypeHasBeenSet = true; m_fileCacheType = value; }
73
75
79 inline const Aws::String& GetFileCacheTypeVersion() const { return m_fileCacheTypeVersion; }
80 inline bool FileCacheTypeVersionHasBeenSet() const { return m_fileCacheTypeVersionHasBeenSet; }
81 template<typename FileCacheTypeVersionT = Aws::String>
82 void SetFileCacheTypeVersion(FileCacheTypeVersionT&& value) { m_fileCacheTypeVersionHasBeenSet = true; m_fileCacheTypeVersion = std::forward<FileCacheTypeVersionT>(value); }
83 template<typename FileCacheTypeVersionT = Aws::String>
84 CreateFileCacheRequest& WithFileCacheTypeVersion(FileCacheTypeVersionT&& value) { SetFileCacheTypeVersion(std::forward<FileCacheTypeVersionT>(value)); return *this;}
86
88
92 inline int GetStorageCapacity() const { return m_storageCapacity; }
93 inline bool StorageCapacityHasBeenSet() const { return m_storageCapacityHasBeenSet; }
94 inline void SetStorageCapacity(int value) { m_storageCapacityHasBeenSet = true; m_storageCapacity = value; }
95 inline CreateFileCacheRequest& WithStorageCapacity(int value) { SetStorageCapacity(value); return *this;}
97
99
100 inline const Aws::Vector<Aws::String>& GetSubnetIds() const { return m_subnetIds; }
101 inline bool SubnetIdsHasBeenSet() const { return m_subnetIdsHasBeenSet; }
102 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
103 void SetSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds = std::forward<SubnetIdsT>(value); }
104 template<typename SubnetIdsT = Aws::Vector<Aws::String>>
105 CreateFileCacheRequest& WithSubnetIds(SubnetIdsT&& value) { SetSubnetIds(std::forward<SubnetIdsT>(value)); return *this;}
106 template<typename SubnetIdsT = Aws::String>
107 CreateFileCacheRequest& AddSubnetIds(SubnetIdsT&& value) { m_subnetIdsHasBeenSet = true; m_subnetIds.emplace_back(std::forward<SubnetIdsT>(value)); return *this; }
109
111
116 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
117 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
118 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
119 void SetSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds = std::forward<SecurityGroupIdsT>(value); }
120 template<typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
121 CreateFileCacheRequest& WithSecurityGroupIds(SecurityGroupIdsT&& value) { SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value)); return *this;}
122 template<typename SecurityGroupIdsT = Aws::String>
123 CreateFileCacheRequest& AddSecurityGroupIds(SecurityGroupIdsT&& value) { m_securityGroupIdsHasBeenSet = true; m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value)); return *this; }
125
127
128 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
129 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
130 template<typename TagsT = Aws::Vector<Tag>>
131 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
132 template<typename TagsT = Aws::Vector<Tag>>
133 CreateFileCacheRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
134 template<typename TagsT = Tag>
135 CreateFileCacheRequest& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
137
139
143 inline bool GetCopyTagsToDataRepositoryAssociations() const { return m_copyTagsToDataRepositoryAssociations; }
144 inline bool CopyTagsToDataRepositoryAssociationsHasBeenSet() const { return m_copyTagsToDataRepositoryAssociationsHasBeenSet; }
145 inline void SetCopyTagsToDataRepositoryAssociations(bool value) { m_copyTagsToDataRepositoryAssociationsHasBeenSet = true; m_copyTagsToDataRepositoryAssociations = value; }
148
150
158 inline const Aws::String& GetKmsKeyId() const { return m_kmsKeyId; }
159 inline bool KmsKeyIdHasBeenSet() const { return m_kmsKeyIdHasBeenSet; }
160 template<typename KmsKeyIdT = Aws::String>
161 void SetKmsKeyId(KmsKeyIdT&& value) { m_kmsKeyIdHasBeenSet = true; m_kmsKeyId = std::forward<KmsKeyIdT>(value); }
162 template<typename KmsKeyIdT = Aws::String>
163 CreateFileCacheRequest& WithKmsKeyId(KmsKeyIdT&& value) { SetKmsKeyId(std::forward<KmsKeyIdT>(value)); return *this;}
165
167
170 inline const CreateFileCacheLustreConfiguration& GetLustreConfiguration() const { return m_lustreConfiguration; }
171 inline bool LustreConfigurationHasBeenSet() const { return m_lustreConfigurationHasBeenSet; }
172 template<typename LustreConfigurationT = CreateFileCacheLustreConfiguration>
173 void SetLustreConfiguration(LustreConfigurationT&& value) { m_lustreConfigurationHasBeenSet = true; m_lustreConfiguration = std::forward<LustreConfigurationT>(value); }
174 template<typename LustreConfigurationT = CreateFileCacheLustreConfiguration>
175 CreateFileCacheRequest& WithLustreConfiguration(LustreConfigurationT&& value) { SetLustreConfiguration(std::forward<LustreConfigurationT>(value)); return *this;}
177
179
190 inline const Aws::Vector<FileCacheDataRepositoryAssociation>& GetDataRepositoryAssociations() const { return m_dataRepositoryAssociations; }
191 inline bool DataRepositoryAssociationsHasBeenSet() const { return m_dataRepositoryAssociationsHasBeenSet; }
192 template<typename DataRepositoryAssociationsT = Aws::Vector<FileCacheDataRepositoryAssociation>>
193 void SetDataRepositoryAssociations(DataRepositoryAssociationsT&& value) { m_dataRepositoryAssociationsHasBeenSet = true; m_dataRepositoryAssociations = std::forward<DataRepositoryAssociationsT>(value); }
194 template<typename DataRepositoryAssociationsT = Aws::Vector<FileCacheDataRepositoryAssociation>>
195 CreateFileCacheRequest& WithDataRepositoryAssociations(DataRepositoryAssociationsT&& value) { SetDataRepositoryAssociations(std::forward<DataRepositoryAssociationsT>(value)); return *this;}
196 template<typename DataRepositoryAssociationsT = FileCacheDataRepositoryAssociation>
197 CreateFileCacheRequest& AddDataRepositoryAssociations(DataRepositoryAssociationsT&& value) { m_dataRepositoryAssociationsHasBeenSet = true; m_dataRepositoryAssociations.emplace_back(std::forward<DataRepositoryAssociationsT>(value)); return *this; }
199 private:
200
201 Aws::String m_clientRequestToken{Aws::Utils::UUID::PseudoRandomUUID()};
202 bool m_clientRequestTokenHasBeenSet = true;
203
204 FileCacheType m_fileCacheType{FileCacheType::NOT_SET};
205 bool m_fileCacheTypeHasBeenSet = false;
206
207 Aws::String m_fileCacheTypeVersion;
208 bool m_fileCacheTypeVersionHasBeenSet = false;
209
210 int m_storageCapacity{0};
211 bool m_storageCapacityHasBeenSet = false;
212
213 Aws::Vector<Aws::String> m_subnetIds;
214 bool m_subnetIdsHasBeenSet = false;
215
216 Aws::Vector<Aws::String> m_securityGroupIds;
217 bool m_securityGroupIdsHasBeenSet = false;
218
219 Aws::Vector<Tag> m_tags;
220 bool m_tagsHasBeenSet = false;
221
222 bool m_copyTagsToDataRepositoryAssociations{false};
223 bool m_copyTagsToDataRepositoryAssociationsHasBeenSet = false;
224
225 Aws::String m_kmsKeyId;
226 bool m_kmsKeyIdHasBeenSet = false;
227
228 CreateFileCacheLustreConfiguration m_lustreConfiguration;
229 bool m_lustreConfigurationHasBeenSet = false;
230
231 Aws::Vector<FileCacheDataRepositoryAssociation> m_dataRepositoryAssociations;
232 bool m_dataRepositoryAssociationsHasBeenSet = false;
233 };
234
235} // namespace Model
236} // namespace FSx
237} // 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