7#include <aws/lightsail/Lightsail_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/lightsail/model/ResourceLocation.h>
11#include <aws/lightsail/model/ResourceType.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/lightsail/model/DiskState.h>
14#include <aws/lightsail/model/AutoMountStatus.h>
15#include <aws/lightsail/model/Tag.h>
16#include <aws/lightsail/model/AddOn.h>
42 AWS_LIGHTSAIL_API
Disk() =
default;
54 template<
typename NameT = Aws::String>
55 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
56 template<
typename NameT = Aws::String>
66 template<
typename ArnT = Aws::String>
67 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
68 template<
typename ArnT = Aws::String>
80 template<
typename SupportCodeT = Aws::String>
81 void SetSupportCode(SupportCodeT&& value) { m_supportCodeHasBeenSet =
true; m_supportCode = std::forward<SupportCodeT>(value); }
82 template<
typename SupportCodeT = Aws::String>
92 template<
typename CreatedAtT = Aws::Utils::DateTime>
93 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
94 template<
typename CreatedAtT = Aws::Utils::DateTime>
104 template<
typename LocationT = ResourceLocation>
105 void SetLocation(LocationT&& value) { m_locationHasBeenSet =
true; m_location = std::forward<LocationT>(value); }
106 template<
typename LocationT = ResourceLocation>
129 template<
typename TagsT = Aws::Vector<Tag>>
130 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
131 template<
typename TagsT = Aws::Vector<Tag>>
133 template<
typename TagsT = Tag>
134 Disk&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
143 template<
typename AddOnsT = Aws::Vector<AddOn>>
144 void SetAddOns(AddOnsT&& value) { m_addOnsHasBeenSet =
true; m_addOns = std::forward<AddOnsT>(value); }
145 template<
typename AddOnsT = Aws::Vector<AddOn>>
147 template<
typename AddOnsT = AddOn>
148 Disk&
AddAddOns(AddOnsT&& value) { m_addOnsHasBeenSet =
true; m_addOns.emplace_back(std::forward<AddOnsT>(value));
return *
this; }
157 inline void SetSizeInGb(
int value) { m_sizeInGbHasBeenSet =
true; m_sizeInGb = value; }
168 inline void SetIsSystemDisk(
bool value) { m_isSystemDiskHasBeenSet =
true; m_isSystemDisk = value; }
178 inline void SetIops(
int value) { m_iopsHasBeenSet =
true; m_iops = value; }
188 template<
typename PathT = Aws::String>
189 void SetPath(PathT&& value) { m_pathHasBeenSet =
true; m_path = std::forward<PathT>(value); }
190 template<
typename PathT = Aws::String>
210 template<
typename AttachedToT = Aws::String>
211 void SetAttachedTo(AttachedToT&& value) { m_attachedToHasBeenSet =
true; m_attachedTo = std::forward<AttachedToT>(value); }
212 template<
typename AttachedToT = Aws::String>
222 inline void SetIsAttached(
bool value) { m_isAttachedHasBeenSet =
true; m_isAttached = value; }
240 bool m_nameHasBeenSet =
false;
243 bool m_arnHasBeenSet =
false;
246 bool m_supportCodeHasBeenSet =
false;
249 bool m_createdAtHasBeenSet =
false;
251 ResourceLocation m_location;
252 bool m_locationHasBeenSet =
false;
255 bool m_resourceTypeHasBeenSet =
false;
258 bool m_tagsHasBeenSet =
false;
261 bool m_addOnsHasBeenSet =
false;
264 bool m_sizeInGbHasBeenSet =
false;
266 bool m_isSystemDisk{
false};
267 bool m_isSystemDiskHasBeenSet =
false;
270 bool m_iopsHasBeenSet =
false;
273 bool m_pathHasBeenSet =
false;
276 bool m_stateHasBeenSet =
false;
279 bool m_attachedToHasBeenSet =
false;
281 bool m_isAttached{
false};
282 bool m_isAttachedHasBeenSet =
false;
285 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