AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
Volume.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/fsx/FSx_EXPORTS.h>
11#include <aws/fsx/model/AdministrativeAction.h>
12#include <aws/fsx/model/LifecycleTransitionReason.h>
13#include <aws/fsx/model/OntapVolumeConfiguration.h>
14#include <aws/fsx/model/OpenZFSVolumeConfiguration.h>
15#include <aws/fsx/model/Tag.h>
16#include <aws/fsx/model/VolumeLifecycle.h>
17#include <aws/fsx/model/VolumeType.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace FSx {
29namespace Model {
30class AdministrativeAction;
31
37class Volume {
38 public:
39 AWS_FSX_API Volume() = default;
40 AWS_FSX_API Volume(Aws::Utils::Json::JsonView jsonValue);
43
45
46 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
47 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
48 template <typename CreationTimeT = Aws::Utils::DateTime>
49 void SetCreationTime(CreationTimeT&& value) {
50 m_creationTimeHasBeenSet = true;
51 m_creationTime = std::forward<CreationTimeT>(value);
52 }
53 template <typename CreationTimeT = Aws::Utils::DateTime>
54 Volume& WithCreationTime(CreationTimeT&& value) {
55 SetCreationTime(std::forward<CreationTimeT>(value));
56 return *this;
57 }
59
61
62 inline const Aws::String& GetFileSystemId() const { return m_fileSystemId; }
63 inline bool FileSystemIdHasBeenSet() const { return m_fileSystemIdHasBeenSet; }
64 template <typename FileSystemIdT = Aws::String>
65 void SetFileSystemId(FileSystemIdT&& value) {
66 m_fileSystemIdHasBeenSet = true;
67 m_fileSystemId = std::forward<FileSystemIdT>(value);
68 }
69 template <typename FileSystemIdT = Aws::String>
70 Volume& WithFileSystemId(FileSystemIdT&& value) {
71 SetFileSystemId(std::forward<FileSystemIdT>(value));
72 return *this;
73 }
75
77
88 inline VolumeLifecycle GetLifecycle() const { return m_lifecycle; }
89 inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; }
90 inline void SetLifecycle(VolumeLifecycle value) {
91 m_lifecycleHasBeenSet = true;
92 m_lifecycle = value;
93 }
95 SetLifecycle(value);
96 return *this;
97 }
99
101
104 inline const Aws::String& GetName() const { return m_name; }
105 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
106 template <typename NameT = Aws::String>
107 void SetName(NameT&& value) {
108 m_nameHasBeenSet = true;
109 m_name = std::forward<NameT>(value);
110 }
111 template <typename NameT = Aws::String>
112 Volume& WithName(NameT&& value) {
113 SetName(std::forward<NameT>(value));
114 return *this;
115 }
117
119
120 inline const OntapVolumeConfiguration& GetOntapConfiguration() const { return m_ontapConfiguration; }
121 inline bool OntapConfigurationHasBeenSet() const { return m_ontapConfigurationHasBeenSet; }
122 template <typename OntapConfigurationT = OntapVolumeConfiguration>
123 void SetOntapConfiguration(OntapConfigurationT&& value) {
124 m_ontapConfigurationHasBeenSet = true;
125 m_ontapConfiguration = std::forward<OntapConfigurationT>(value);
126 }
127 template <typename OntapConfigurationT = OntapVolumeConfiguration>
128 Volume& WithOntapConfiguration(OntapConfigurationT&& value) {
129 SetOntapConfiguration(std::forward<OntapConfigurationT>(value));
130 return *this;
131 }
133
135
136 inline const Aws::String& GetResourceARN() const { return m_resourceARN; }
137 inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
138 template <typename ResourceARNT = Aws::String>
139 void SetResourceARN(ResourceARNT&& value) {
140 m_resourceARNHasBeenSet = true;
141 m_resourceARN = std::forward<ResourceARNT>(value);
142 }
143 template <typename ResourceARNT = Aws::String>
144 Volume& WithResourceARN(ResourceARNT&& value) {
145 SetResourceARN(std::forward<ResourceARNT>(value));
146 return *this;
147 }
149
151
152 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
153 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
154 template <typename TagsT = Aws::Vector<Tag>>
155 void SetTags(TagsT&& value) {
156 m_tagsHasBeenSet = true;
157 m_tags = std::forward<TagsT>(value);
158 }
159 template <typename TagsT = Aws::Vector<Tag>>
160 Volume& WithTags(TagsT&& value) {
161 SetTags(std::forward<TagsT>(value));
162 return *this;
163 }
164 template <typename TagsT = Tag>
165 Volume& AddTags(TagsT&& value) {
166 m_tagsHasBeenSet = true;
167 m_tags.emplace_back(std::forward<TagsT>(value));
168 return *this;
169 }
171
173
176 inline const Aws::String& GetVolumeId() const { return m_volumeId; }
177 inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; }
178 template <typename VolumeIdT = Aws::String>
179 void SetVolumeId(VolumeIdT&& value) {
180 m_volumeIdHasBeenSet = true;
181 m_volumeId = std::forward<VolumeIdT>(value);
182 }
183 template <typename VolumeIdT = Aws::String>
184 Volume& WithVolumeId(VolumeIdT&& value) {
185 SetVolumeId(std::forward<VolumeIdT>(value));
186 return *this;
187 }
189
191
194 inline VolumeType GetVolumeType() const { return m_volumeType; }
195 inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; }
196 inline void SetVolumeType(VolumeType value) {
197 m_volumeTypeHasBeenSet = true;
198 m_volumeType = value;
199 }
201 SetVolumeType(value);
202 return *this;
203 }
205
207
210 inline const LifecycleTransitionReason& GetLifecycleTransitionReason() const { return m_lifecycleTransitionReason; }
211 inline bool LifecycleTransitionReasonHasBeenSet() const { return m_lifecycleTransitionReasonHasBeenSet; }
212 template <typename LifecycleTransitionReasonT = LifecycleTransitionReason>
213 void SetLifecycleTransitionReason(LifecycleTransitionReasonT&& value) {
214 m_lifecycleTransitionReasonHasBeenSet = true;
215 m_lifecycleTransitionReason = std::forward<LifecycleTransitionReasonT>(value);
216 }
217 template <typename LifecycleTransitionReasonT = LifecycleTransitionReason>
218 Volume& WithLifecycleTransitionReason(LifecycleTransitionReasonT&& value) {
219 SetLifecycleTransitionReason(std::forward<LifecycleTransitionReasonT>(value));
220 return *this;
221 }
223
225
230 inline const Aws::Vector<AdministrativeAction>& GetAdministrativeActions() const { return m_administrativeActions; }
231 inline bool AdministrativeActionsHasBeenSet() const { return m_administrativeActionsHasBeenSet; }
232 template <typename AdministrativeActionsT = Aws::Vector<AdministrativeAction>>
233 void SetAdministrativeActions(AdministrativeActionsT&& value) {
234 m_administrativeActionsHasBeenSet = true;
235 m_administrativeActions = std::forward<AdministrativeActionsT>(value);
236 }
237 template <typename AdministrativeActionsT = Aws::Vector<AdministrativeAction>>
238 Volume& WithAdministrativeActions(AdministrativeActionsT&& value) {
239 SetAdministrativeActions(std::forward<AdministrativeActionsT>(value));
240 return *this;
241 }
242 template <typename AdministrativeActionsT = AdministrativeAction>
243 Volume& AddAdministrativeActions(AdministrativeActionsT&& value) {
244 m_administrativeActionsHasBeenSet = true;
245 m_administrativeActions.emplace_back(std::forward<AdministrativeActionsT>(value));
246 return *this;
247 }
249
251
254 inline const OpenZFSVolumeConfiguration& GetOpenZFSConfiguration() const { return m_openZFSConfiguration; }
255 inline bool OpenZFSConfigurationHasBeenSet() const { return m_openZFSConfigurationHasBeenSet; }
256 template <typename OpenZFSConfigurationT = OpenZFSVolumeConfiguration>
257 void SetOpenZFSConfiguration(OpenZFSConfigurationT&& value) {
258 m_openZFSConfigurationHasBeenSet = true;
259 m_openZFSConfiguration = std::forward<OpenZFSConfigurationT>(value);
260 }
261 template <typename OpenZFSConfigurationT = OpenZFSVolumeConfiguration>
262 Volume& WithOpenZFSConfiguration(OpenZFSConfigurationT&& value) {
263 SetOpenZFSConfiguration(std::forward<OpenZFSConfigurationT>(value));
264 return *this;
265 }
267 private:
268 Aws::Utils::DateTime m_creationTime{};
269
270 Aws::String m_fileSystemId;
271
273
274 Aws::String m_name;
275
276 OntapVolumeConfiguration m_ontapConfiguration;
277
278 Aws::String m_resourceARN;
279
280 Aws::Vector<Tag> m_tags;
281
282 Aws::String m_volumeId;
283
284 VolumeType m_volumeType{VolumeType::NOT_SET};
285
286 LifecycleTransitionReason m_lifecycleTransitionReason;
287
288 Aws::Vector<AdministrativeAction> m_administrativeActions;
289
290 OpenZFSVolumeConfiguration m_openZFSConfiguration;
291 bool m_creationTimeHasBeenSet = false;
292 bool m_fileSystemIdHasBeenSet = false;
293 bool m_lifecycleHasBeenSet = false;
294 bool m_nameHasBeenSet = false;
295 bool m_ontapConfigurationHasBeenSet = false;
296 bool m_resourceARNHasBeenSet = false;
297 bool m_tagsHasBeenSet = false;
298 bool m_volumeIdHasBeenSet = false;
299 bool m_volumeTypeHasBeenSet = false;
300 bool m_lifecycleTransitionReasonHasBeenSet = false;
301 bool m_administrativeActionsHasBeenSet = false;
302 bool m_openZFSConfigurationHasBeenSet = false;
303};
304
305} // namespace Model
306} // namespace FSx
307} // namespace Aws
void SetOntapConfiguration(OntapConfigurationT &&value)
Definition Volume.h:123
const Aws::String & GetVolumeId() const
Definition Volume.h:176
Volume & WithCreationTime(CreationTimeT &&value)
Definition Volume.h:54
void SetResourceARN(ResourceARNT &&value)
Definition Volume.h:139
const OpenZFSVolumeConfiguration & GetOpenZFSConfiguration() const
Definition Volume.h:254
void SetCreationTime(CreationTimeT &&value)
Definition Volume.h:49
Volume & WithTags(TagsT &&value)
Definition Volume.h:160
bool AdministrativeActionsHasBeenSet() const
Definition Volume.h:231
AWS_FSX_API Volume & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetLifecycle(VolumeLifecycle value)
Definition Volume.h:90
const Aws::Utils::DateTime & GetCreationTime() const
Definition Volume.h:46
Volume & AddAdministrativeActions(AdministrativeActionsT &&value)
Definition Volume.h:243
Volume & WithVolumeId(VolumeIdT &&value)
Definition Volume.h:184
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
Volume & WithVolumeType(VolumeType value)
Definition Volume.h:200
void SetLifecycleTransitionReason(LifecycleTransitionReasonT &&value)
Definition Volume.h:213
bool LifecycleHasBeenSet() const
Definition Volume.h:89
void SetAdministrativeActions(AdministrativeActionsT &&value)
Definition Volume.h:233
const OntapVolumeConfiguration & GetOntapConfiguration() const
Definition Volume.h:120
void SetVolumeId(VolumeIdT &&value)
Definition Volume.h:179
bool CreationTimeHasBeenSet() const
Definition Volume.h:47
bool FileSystemIdHasBeenSet() const
Definition Volume.h:63
Volume & WithLifecycleTransitionReason(LifecycleTransitionReasonT &&value)
Definition Volume.h:218
bool VolumeIdHasBeenSet() const
Definition Volume.h:177
AWS_FSX_API Volume()=default
Volume & AddTags(TagsT &&value)
Definition Volume.h:165
bool LifecycleTransitionReasonHasBeenSet() const
Definition Volume.h:211
void SetTags(TagsT &&value)
Definition Volume.h:155
bool NameHasBeenSet() const
Definition Volume.h:105
bool OpenZFSConfigurationHasBeenSet() const
Definition Volume.h:255
Volume & WithName(NameT &&value)
Definition Volume.h:112
void SetVolumeType(VolumeType value)
Definition Volume.h:196
VolumeType GetVolumeType() const
Definition Volume.h:194
Volume & WithAdministrativeActions(AdministrativeActionsT &&value)
Definition Volume.h:238
const Aws::String & GetResourceARN() const
Definition Volume.h:136
bool VolumeTypeHasBeenSet() const
Definition Volume.h:195
const LifecycleTransitionReason & GetLifecycleTransitionReason() const
Definition Volume.h:210
const Aws::String & GetFileSystemId() const
Definition Volume.h:62
void SetName(NameT &&value)
Definition Volume.h:107
Volume & WithFileSystemId(FileSystemIdT &&value)
Definition Volume.h:70
bool OntapConfigurationHasBeenSet() const
Definition Volume.h:121
VolumeLifecycle GetLifecycle() const
Definition Volume.h:88
const Aws::String & GetName() const
Definition Volume.h:104
const Aws::Vector< Tag > & GetTags() const
Definition Volume.h:152
bool TagsHasBeenSet() const
Definition Volume.h:153
Volume & WithResourceARN(ResourceARNT &&value)
Definition Volume.h:144
void SetOpenZFSConfiguration(OpenZFSConfigurationT &&value)
Definition Volume.h:257
bool ResourceARNHasBeenSet() const
Definition Volume.h:137
AWS_FSX_API Volume(Aws::Utils::Json::JsonView jsonValue)
Volume & WithLifecycle(VolumeLifecycle value)
Definition Volume.h:94
void SetFileSystemId(FileSystemIdT &&value)
Definition Volume.h:65
Volume & WithOpenZFSConfiguration(OpenZFSConfigurationT &&value)
Definition Volume.h:262
const Aws::Vector< AdministrativeAction > & GetAdministrativeActions() const
Definition Volume.h:230
Volume & WithOntapConfiguration(OntapConfigurationT &&value)
Definition Volume.h:128
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue