AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
Volume.h
1
6#pragma once
7#include <aws/fsx/FSx_EXPORTS.h>
8#include <aws/core/utils/DateTime.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/fsx/model/VolumeLifecycle.h>
11#include <aws/fsx/model/OntapVolumeConfiguration.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/fsx/model/VolumeType.h>
14#include <aws/fsx/model/LifecycleTransitionReason.h>
15#include <aws/fsx/model/AdministrativeAction.h>
16#include <aws/fsx/model/OpenZFSVolumeConfiguration.h>
17#include <aws/fsx/model/Tag.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Json
25{
26 class JsonValue;
27 class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace FSx
31{
32namespace Model
33{
34 class AdministrativeAction;
35
41 class Volume
42 {
43 public:
44 AWS_FSX_API Volume() = default;
45 AWS_FSX_API Volume(Aws::Utils::Json::JsonView jsonValue);
48
49
51
52 inline const Aws::Utils::DateTime& GetCreationTime() const { return m_creationTime; }
53 inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; }
54 template<typename CreationTimeT = Aws::Utils::DateTime>
55 void SetCreationTime(CreationTimeT&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::forward<CreationTimeT>(value); }
56 template<typename CreationTimeT = Aws::Utils::DateTime>
57 Volume& WithCreationTime(CreationTimeT&& value) { SetCreationTime(std::forward<CreationTimeT>(value)); return *this;}
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) { m_fileSystemIdHasBeenSet = true; m_fileSystemId = std::forward<FileSystemIdT>(value); }
66 template<typename FileSystemIdT = Aws::String>
67 Volume& WithFileSystemId(FileSystemIdT&& value) { SetFileSystemId(std::forward<FileSystemIdT>(value)); return *this;}
69
71
82 inline VolumeLifecycle GetLifecycle() const { return m_lifecycle; }
83 inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; }
84 inline void SetLifecycle(VolumeLifecycle value) { m_lifecycleHasBeenSet = true; m_lifecycle = value; }
85 inline Volume& WithLifecycle(VolumeLifecycle value) { SetLifecycle(value); return *this;}
87
89
92 inline const Aws::String& GetName() const { return m_name; }
93 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
94 template<typename NameT = Aws::String>
95 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
96 template<typename NameT = Aws::String>
97 Volume& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
99
101
102 inline const OntapVolumeConfiguration& GetOntapConfiguration() const { return m_ontapConfiguration; }
103 inline bool OntapConfigurationHasBeenSet() const { return m_ontapConfigurationHasBeenSet; }
104 template<typename OntapConfigurationT = OntapVolumeConfiguration>
105 void SetOntapConfiguration(OntapConfigurationT&& value) { m_ontapConfigurationHasBeenSet = true; m_ontapConfiguration = std::forward<OntapConfigurationT>(value); }
106 template<typename OntapConfigurationT = OntapVolumeConfiguration>
107 Volume& WithOntapConfiguration(OntapConfigurationT&& value) { SetOntapConfiguration(std::forward<OntapConfigurationT>(value)); return *this;}
109
111
112 inline const Aws::String& GetResourceARN() const { return m_resourceARN; }
113 inline bool ResourceARNHasBeenSet() const { return m_resourceARNHasBeenSet; }
114 template<typename ResourceARNT = Aws::String>
115 void SetResourceARN(ResourceARNT&& value) { m_resourceARNHasBeenSet = true; m_resourceARN = std::forward<ResourceARNT>(value); }
116 template<typename ResourceARNT = Aws::String>
117 Volume& WithResourceARN(ResourceARNT&& value) { SetResourceARN(std::forward<ResourceARNT>(value)); return *this;}
119
121
122 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
123 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
124 template<typename TagsT = Aws::Vector<Tag>>
125 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
126 template<typename TagsT = Aws::Vector<Tag>>
127 Volume& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
128 template<typename TagsT = Tag>
129 Volume& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
131
133
136 inline const Aws::String& GetVolumeId() const { return m_volumeId; }
137 inline bool VolumeIdHasBeenSet() const { return m_volumeIdHasBeenSet; }
138 template<typename VolumeIdT = Aws::String>
139 void SetVolumeId(VolumeIdT&& value) { m_volumeIdHasBeenSet = true; m_volumeId = std::forward<VolumeIdT>(value); }
140 template<typename VolumeIdT = Aws::String>
141 Volume& WithVolumeId(VolumeIdT&& value) { SetVolumeId(std::forward<VolumeIdT>(value)); return *this;}
143
145
148 inline VolumeType GetVolumeType() const { return m_volumeType; }
149 inline bool VolumeTypeHasBeenSet() const { return m_volumeTypeHasBeenSet; }
150 inline void SetVolumeType(VolumeType value) { m_volumeTypeHasBeenSet = true; m_volumeType = value; }
151 inline Volume& WithVolumeType(VolumeType value) { SetVolumeType(value); return *this;}
153
155
158 inline const LifecycleTransitionReason& GetLifecycleTransitionReason() const { return m_lifecycleTransitionReason; }
159 inline bool LifecycleTransitionReasonHasBeenSet() const { return m_lifecycleTransitionReasonHasBeenSet; }
160 template<typename LifecycleTransitionReasonT = LifecycleTransitionReason>
161 void SetLifecycleTransitionReason(LifecycleTransitionReasonT&& value) { m_lifecycleTransitionReasonHasBeenSet = true; m_lifecycleTransitionReason = std::forward<LifecycleTransitionReasonT>(value); }
162 template<typename LifecycleTransitionReasonT = LifecycleTransitionReason>
163 Volume& WithLifecycleTransitionReason(LifecycleTransitionReasonT&& value) { SetLifecycleTransitionReason(std::forward<LifecycleTransitionReasonT>(value)); return *this;}
165
167
172 inline const Aws::Vector<AdministrativeAction>& GetAdministrativeActions() const { return m_administrativeActions; }
173 inline bool AdministrativeActionsHasBeenSet() const { return m_administrativeActionsHasBeenSet; }
174 template<typename AdministrativeActionsT = Aws::Vector<AdministrativeAction>>
175 void SetAdministrativeActions(AdministrativeActionsT&& value) { m_administrativeActionsHasBeenSet = true; m_administrativeActions = std::forward<AdministrativeActionsT>(value); }
176 template<typename AdministrativeActionsT = Aws::Vector<AdministrativeAction>>
177 Volume& WithAdministrativeActions(AdministrativeActionsT&& value) { SetAdministrativeActions(std::forward<AdministrativeActionsT>(value)); return *this;}
178 template<typename AdministrativeActionsT = AdministrativeAction>
179 Volume& AddAdministrativeActions(AdministrativeActionsT&& value) { m_administrativeActionsHasBeenSet = true; m_administrativeActions.emplace_back(std::forward<AdministrativeActionsT>(value)); return *this; }
181
183
186 inline const OpenZFSVolumeConfiguration& GetOpenZFSConfiguration() const { return m_openZFSConfiguration; }
187 inline bool OpenZFSConfigurationHasBeenSet() const { return m_openZFSConfigurationHasBeenSet; }
188 template<typename OpenZFSConfigurationT = OpenZFSVolumeConfiguration>
189 void SetOpenZFSConfiguration(OpenZFSConfigurationT&& value) { m_openZFSConfigurationHasBeenSet = true; m_openZFSConfiguration = std::forward<OpenZFSConfigurationT>(value); }
190 template<typename OpenZFSConfigurationT = OpenZFSVolumeConfiguration>
191 Volume& WithOpenZFSConfiguration(OpenZFSConfigurationT&& value) { SetOpenZFSConfiguration(std::forward<OpenZFSConfigurationT>(value)); return *this;}
193 private:
194
195 Aws::Utils::DateTime m_creationTime{};
196 bool m_creationTimeHasBeenSet = false;
197
198 Aws::String m_fileSystemId;
199 bool m_fileSystemIdHasBeenSet = false;
200
202 bool m_lifecycleHasBeenSet = false;
203
204 Aws::String m_name;
205 bool m_nameHasBeenSet = false;
206
207 OntapVolumeConfiguration m_ontapConfiguration;
208 bool m_ontapConfigurationHasBeenSet = false;
209
210 Aws::String m_resourceARN;
211 bool m_resourceARNHasBeenSet = false;
212
213 Aws::Vector<Tag> m_tags;
214 bool m_tagsHasBeenSet = false;
215
216 Aws::String m_volumeId;
217 bool m_volumeIdHasBeenSet = false;
218
219 VolumeType m_volumeType{VolumeType::NOT_SET};
220 bool m_volumeTypeHasBeenSet = false;
221
222 LifecycleTransitionReason m_lifecycleTransitionReason;
223 bool m_lifecycleTransitionReasonHasBeenSet = false;
224
225 Aws::Vector<AdministrativeAction> m_administrativeActions;
226 bool m_administrativeActionsHasBeenSet = false;
227
228 OpenZFSVolumeConfiguration m_openZFSConfiguration;
229 bool m_openZFSConfigurationHasBeenSet = false;
230 };
231
232} // namespace Model
233} // namespace FSx
234} // namespace Aws
void SetOntapConfiguration(OntapConfigurationT &&value)
Definition Volume.h:105
const Aws::String & GetVolumeId() const
Definition Volume.h:136
Volume & WithCreationTime(CreationTimeT &&value)
Definition Volume.h:57
void SetResourceARN(ResourceARNT &&value)
Definition Volume.h:115
const OpenZFSVolumeConfiguration & GetOpenZFSConfiguration() const
Definition Volume.h:186
void SetCreationTime(CreationTimeT &&value)
Definition Volume.h:55
Volume & WithTags(TagsT &&value)
Definition Volume.h:127
bool AdministrativeActionsHasBeenSet() const
Definition Volume.h:173
AWS_FSX_API Volume & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetLifecycle(VolumeLifecycle value)
Definition Volume.h:84
const Aws::Utils::DateTime & GetCreationTime() const
Definition Volume.h:52
Volume & AddAdministrativeActions(AdministrativeActionsT &&value)
Definition Volume.h:179
Volume & WithVolumeId(VolumeIdT &&value)
Definition Volume.h:141
AWS_FSX_API Aws::Utils::Json::JsonValue Jsonize() const
Volume & WithVolumeType(VolumeType value)
Definition Volume.h:151
void SetLifecycleTransitionReason(LifecycleTransitionReasonT &&value)
Definition Volume.h:161
bool LifecycleHasBeenSet() const
Definition Volume.h:83
void SetAdministrativeActions(AdministrativeActionsT &&value)
Definition Volume.h:175
const OntapVolumeConfiguration & GetOntapConfiguration() const
Definition Volume.h:102
void SetVolumeId(VolumeIdT &&value)
Definition Volume.h:139
bool CreationTimeHasBeenSet() const
Definition Volume.h:53
bool FileSystemIdHasBeenSet() const
Definition Volume.h:63
Volume & WithLifecycleTransitionReason(LifecycleTransitionReasonT &&value)
Definition Volume.h:163
bool VolumeIdHasBeenSet() const
Definition Volume.h:137
AWS_FSX_API Volume()=default
Volume & AddTags(TagsT &&value)
Definition Volume.h:129
bool LifecycleTransitionReasonHasBeenSet() const
Definition Volume.h:159
void SetTags(TagsT &&value)
Definition Volume.h:125
bool NameHasBeenSet() const
Definition Volume.h:93
bool OpenZFSConfigurationHasBeenSet() const
Definition Volume.h:187
Volume & WithName(NameT &&value)
Definition Volume.h:97
void SetVolumeType(VolumeType value)
Definition Volume.h:150
VolumeType GetVolumeType() const
Definition Volume.h:148
Volume & WithAdministrativeActions(AdministrativeActionsT &&value)
Definition Volume.h:177
const Aws::String & GetResourceARN() const
Definition Volume.h:112
bool VolumeTypeHasBeenSet() const
Definition Volume.h:149
const LifecycleTransitionReason & GetLifecycleTransitionReason() const
Definition Volume.h:158
const Aws::String & GetFileSystemId() const
Definition Volume.h:62
void SetName(NameT &&value)
Definition Volume.h:95
Volume & WithFileSystemId(FileSystemIdT &&value)
Definition Volume.h:67
bool OntapConfigurationHasBeenSet() const
Definition Volume.h:103
VolumeLifecycle GetLifecycle() const
Definition Volume.h:82
const Aws::String & GetName() const
Definition Volume.h:92
const Aws::Vector< Tag > & GetTags() const
Definition Volume.h:122
bool TagsHasBeenSet() const
Definition Volume.h:123
Volume & WithResourceARN(ResourceARNT &&value)
Definition Volume.h:117
void SetOpenZFSConfiguration(OpenZFSConfigurationT &&value)
Definition Volume.h:189
bool ResourceARNHasBeenSet() const
Definition Volume.h:113
AWS_FSX_API Volume(Aws::Utils::Json::JsonView jsonValue)
Volume & WithLifecycle(VolumeLifecycle value)
Definition Volume.h:85
void SetFileSystemId(FileSystemIdT &&value)
Definition Volume.h:65
Volume & WithOpenZFSConfiguration(OpenZFSConfigurationT &&value)
Definition Volume.h:191
const Aws::Vector< AdministrativeAction > & GetAdministrativeActions() const
Definition Volume.h:172
Volume & WithOntapConfiguration(OntapConfigurationT &&value)
Definition Volume.h:107
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue