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/lightsail/Lightsail_EXPORTS.h>
11#include <aws/lightsail/model/AddOn.h>
12#include <aws/lightsail/model/AutoMountStatus.h>
13#include <aws/lightsail/model/DiskState.h>
14#include <aws/lightsail/model/ResourceLocation.h>
15#include <aws/lightsail/model/ResourceType.h>
16#include <aws/lightsail/model/Tag.h>
37 AWS_LIGHTSAIL_API
Disk() =
default;
48 template <
typename NameT = Aws::String>
50 m_nameHasBeenSet =
true;
51 m_name = std::forward<NameT>(value);
53 template <
typename NameT = Aws::String>
55 SetName(std::forward<NameT>(value));
66 template <
typename ArnT = Aws::String>
68 m_arnHasBeenSet =
true;
69 m_arn = std::forward<ArnT>(value);
71 template <
typename ArnT = Aws::String>
73 SetArn(std::forward<ArnT>(value));
86 template <
typename SupportCodeT = Aws::String>
88 m_supportCodeHasBeenSet =
true;
89 m_supportCode = std::forward<SupportCodeT>(value);
91 template <
typename SupportCodeT = Aws::String>
104 template <
typename CreatedAtT = Aws::Utils::DateTime>
106 m_createdAtHasBeenSet =
true;
107 m_createdAt = std::forward<CreatedAtT>(value);
109 template <
typename CreatedAtT = Aws::Utils::DateTime>
122 template <
typename LocationT = ResourceLocation>
124 m_locationHasBeenSet =
true;
125 m_location = std::forward<LocationT>(value);
127 template <
typename LocationT = ResourceLocation>
141 m_resourceTypeHasBeenSet =
true;
142 m_resourceType = value;
159 template <
typename TagsT = Aws::Vector<Tag>>
161 m_tagsHasBeenSet =
true;
162 m_tags = std::forward<TagsT>(value);
164 template <
typename TagsT = Aws::Vector<Tag>>
166 SetTags(std::forward<TagsT>(value));
169 template <
typename TagsT = Tag>
171 m_tagsHasBeenSet =
true;
172 m_tags.emplace_back(std::forward<TagsT>(value));
183 template <
typename AddOnsT = Aws::Vector<AddOn>>
185 m_addOnsHasBeenSet =
true;
186 m_addOns = std::forward<AddOnsT>(value);
188 template <
typename AddOnsT = Aws::Vector<AddOn>>
193 template <
typename AddOnsT = AddOn>
195 m_addOnsHasBeenSet =
true;
196 m_addOns.emplace_back(std::forward<AddOnsT>(value));
208 m_sizeInGbHasBeenSet =
true;
225 m_isSystemDiskHasBeenSet =
true;
226 m_isSystemDisk = value;
241 m_iopsHasBeenSet =
true;
256 template <
typename PathT = Aws::String>
258 m_pathHasBeenSet =
true;
259 m_path = std::forward<PathT>(value);
261 template <
typename PathT = Aws::String>
263 SetPath(std::forward<PathT>(value));
275 m_stateHasBeenSet =
true;
290 template <
typename AttachedToT = Aws::String>
292 m_attachedToHasBeenSet =
true;
293 m_attachedTo = std::forward<AttachedToT>(value);
295 template <
typename AttachedToT = Aws::String>
309 m_isAttachedHasBeenSet =
true;
310 m_isAttached = value;
327 m_autoMountStatusHasBeenSet =
true;
328 m_autoMountStatus = value;
344 ResourceLocation m_location;
354 bool m_isSystemDisk{
false};
364 bool m_isAttached{
false};
367 bool m_nameHasBeenSet =
false;
368 bool m_arnHasBeenSet =
false;
369 bool m_supportCodeHasBeenSet =
false;
370 bool m_createdAtHasBeenSet =
false;
371 bool m_locationHasBeenSet =
false;
372 bool m_resourceTypeHasBeenSet =
false;
373 bool m_tagsHasBeenSet =
false;
374 bool m_addOnsHasBeenSet =
false;
375 bool m_sizeInGbHasBeenSet =
false;
376 bool m_isSystemDiskHasBeenSet =
false;
377 bool m_iopsHasBeenSet =
false;
378 bool m_pathHasBeenSet =
false;
379 bool m_stateHasBeenSet =
false;
380 bool m_attachedToHasBeenSet =
false;
381 bool m_isAttachedHasBeenSet =
false;
382 bool m_autoMountStatusHasBeenSet =
false;
const Aws::String & GetPath() const
Disk & WithSupportCode(SupportCodeT &&value)
AWS_LIGHTSAIL_API Disk(Aws::Utils::Json::JsonView jsonValue)
AWS_LIGHTSAIL_API Disk & operator=(Aws::Utils::Json::JsonView jsonValue)
Disk & WithCreatedAt(CreatedAtT &&value)
const Aws::String & GetAttachedTo() const
bool AutoMountStatusHasBeenSet() const
bool TagsHasBeenSet() const
void SetArn(ArnT &&value)
bool AddOnsHasBeenSet() const
Disk & WithAddOns(AddOnsT &&value)
void SetIsSystemDisk(bool value)
const Aws::String & GetName() const
Disk & WithName(NameT &&value)
bool IsSystemDiskHasBeenSet() const
Disk & AddAddOns(AddOnsT &&value)
const Aws::String & GetSupportCode() const
Disk & WithAutoMountStatus(AutoMountStatus value)
bool IsAttachedHasBeenSet() const
bool AttachedToHasBeenSet() const
Disk & AddTags(TagsT &&value)
Disk & WithResourceType(ResourceType value)
bool SupportCodeHasBeenSet() const
bool PathHasBeenSet() const
void SetTags(TagsT &&value)
bool IopsHasBeenSet() const
bool GetIsSystemDisk() const
void SetLocation(LocationT &&value)
const Aws::Vector< Tag > & GetTags() const
const Aws::Utils::DateTime & GetCreatedAt() const
bool NameHasBeenSet() const
bool ResourceTypeHasBeenSet() const
DiskState GetState() const
AWS_LIGHTSAIL_API Disk()=default
void SetAddOns(AddOnsT &&value)
Disk & WithIops(int value)
bool SizeInGbHasBeenSet() const
void SetPath(PathT &&value)
bool LocationHasBeenSet() const
Disk & WithArn(ArnT &&value)
Disk & WithPath(PathT &&value)
void SetName(NameT &&value)
void SetIsAttached(bool value)
Disk & WithSizeInGb(int value)
void SetResourceType(ResourceType value)
Disk & WithIsSystemDisk(bool value)
Disk & WithIsAttached(bool value)
const Aws::String & GetArn() const
void SetCreatedAt(CreatedAtT &&value)
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() const
Disk & WithState(DiskState value)
AutoMountStatus GetAutoMountStatus() const
bool StateHasBeenSet() const
void SetSizeInGb(int value)
Disk & WithTags(TagsT &&value)
const ResourceLocation & GetLocation() const
bool GetIsAttached() const
bool ArnHasBeenSet() const
bool CreatedAtHasBeenSet() const
void SetState(DiskState value)
void SetAttachedTo(AttachedToT &&value)
void SetSupportCode(SupportCodeT &&value)
Disk & WithAttachedTo(AttachedToT &&value)
Disk & WithLocation(LocationT &&value)
ResourceType GetResourceType() const
void SetAutoMountStatus(AutoMountStatus value)
const Aws::Vector< AddOn > & GetAddOns() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue