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/InstanceHardware.h>
13#include <aws/lightsail/model/InstanceMetadataOptions.h>
14#include <aws/lightsail/model/InstanceNetworking.h>
15#include <aws/lightsail/model/InstanceState.h>
16#include <aws/lightsail/model/IpAddressType.h>
17#include <aws/lightsail/model/ResourceLocation.h>
18#include <aws/lightsail/model/ResourceType.h>
19#include <aws/lightsail/model/Tag.h>
52 template <
typename NameT = Aws::String>
54 m_nameHasBeenSet =
true;
55 m_name = std::forward<NameT>(value);
57 template <
typename NameT = Aws::String>
59 SetName(std::forward<NameT>(value));
71 template <
typename ArnT = Aws::String>
73 m_arnHasBeenSet =
true;
74 m_arn = std::forward<ArnT>(value);
76 template <
typename ArnT = Aws::String>
78 SetArn(std::forward<ArnT>(value));
91 template <
typename SupportCodeT = Aws::String>
93 m_supportCodeHasBeenSet =
true;
94 m_supportCode = std::forward<SupportCodeT>(value);
96 template <
typename SupportCodeT = Aws::String>
110 template <
typename CreatedAtT = Aws::Utils::DateTime>
112 m_createdAtHasBeenSet =
true;
113 m_createdAt = std::forward<CreatedAtT>(value);
115 template <
typename CreatedAtT = Aws::Utils::DateTime>
128 template <
typename LocationT = ResourceLocation>
130 m_locationHasBeenSet =
true;
131 m_location = std::forward<LocationT>(value);
133 template <
typename LocationT = ResourceLocation>
147 m_resourceTypeHasBeenSet =
true;
148 m_resourceType = value;
165 template <
typename TagsT = Aws::Vector<Tag>>
167 m_tagsHasBeenSet =
true;
168 m_tags = std::forward<TagsT>(value);
170 template <
typename TagsT = Aws::Vector<Tag>>
172 SetTags(std::forward<TagsT>(value));
175 template <
typename TagsT = Tag>
177 m_tagsHasBeenSet =
true;
178 m_tags.emplace_back(std::forward<TagsT>(value));
189 template <
typename Bluepr
intIdT = Aws::String>
191 m_blueprintIdHasBeenSet =
true;
192 m_blueprintId = std::forward<BlueprintIdT>(value);
194 template <
typename Bluepr
intIdT = Aws::String>
207 template <
typename Bluepr
intNameT = Aws::String>
209 m_blueprintNameHasBeenSet =
true;
210 m_blueprintName = std::forward<BlueprintNameT>(value);
212 template <
typename Bluepr
intNameT = Aws::String>
225 template <
typename BundleIdT = Aws::String>
227 m_bundleIdHasBeenSet =
true;
228 m_bundleId = std::forward<BundleIdT>(value);
230 template <
typename BundleIdT = Aws::String>
243 template <
typename AddOnsT = Aws::Vector<AddOn>>
245 m_addOnsHasBeenSet =
true;
246 m_addOns = std::forward<AddOnsT>(value);
248 template <
typename AddOnsT = Aws::Vector<AddOn>>
253 template <
typename AddOnsT = AddOn>
255 m_addOnsHasBeenSet =
true;
256 m_addOns.emplace_back(std::forward<AddOnsT>(value));
269 m_isStaticIpHasBeenSet =
true;
270 m_isStaticIp = value;
284 template <
typename PrivateIpAddressT = Aws::String>
286 m_privateIpAddressHasBeenSet =
true;
287 m_privateIpAddress = std::forward<PrivateIpAddressT>(value);
289 template <
typename PrivateIpAddressT = Aws::String>
302 template <
typename PublicIpAddressT = Aws::String>
304 m_publicIpAddressHasBeenSet =
true;
305 m_publicIpAddress = std::forward<PublicIpAddressT>(value);
307 template <
typename PublicIpAddressT = Aws::String>
320 template <
typename Ipv6AddressesT = Aws::Vector<Aws::String>>
322 m_ipv6AddressesHasBeenSet =
true;
323 m_ipv6Addresses = std::forward<Ipv6AddressesT>(value);
325 template <
typename Ipv6AddressesT = Aws::Vector<Aws::String>>
330 template <
typename Ipv6AddressesT = Aws::String>
332 m_ipv6AddressesHasBeenSet =
true;
333 m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
347 m_ipAddressTypeHasBeenSet =
true;
348 m_ipAddressType = value;
362 template <
typename HardwareT = InstanceHardware>
364 m_hardwareHasBeenSet =
true;
365 m_hardware = std::forward<HardwareT>(value);
367 template <
typename HardwareT = InstanceHardware>
381 template <
typename NetworkingT = InstanceNetworking>
383 m_networkingHasBeenSet =
true;
384 m_networking = std::forward<NetworkingT>(value);
386 template <
typename NetworkingT = InstanceNetworking>
399 template <
typename StateT = InstanceState>
401 m_stateHasBeenSet =
true;
402 m_state = std::forward<StateT>(value);
404 template <
typename StateT = InstanceState>
406 SetState(std::forward<StateT>(value));
417 template <
typename UsernameT = Aws::String>
419 m_usernameHasBeenSet =
true;
420 m_username = std::forward<UsernameT>(value);
422 template <
typename UsernameT = Aws::String>
436 template <
typename SshKeyNameT = Aws::String>
438 m_sshKeyNameHasBeenSet =
true;
439 m_sshKeyName = std::forward<SshKeyNameT>(value);
441 template <
typename SshKeyNameT = Aws::String>
454 template <
typename MetadataOptionsT = InstanceMetadataOptions>
456 m_metadataOptionsHasBeenSet =
true;
457 m_metadataOptions = std::forward<MetadataOptionsT>(value);
459 template <
typename MetadataOptionsT = InstanceMetadataOptions>
474 ResourceLocation m_location;
488 bool m_isStaticIp{
false};
498 InstanceHardware m_hardware;
500 InstanceNetworking m_networking;
502 InstanceState m_state;
508 InstanceMetadataOptions m_metadataOptions;
509 bool m_nameHasBeenSet =
false;
510 bool m_arnHasBeenSet =
false;
511 bool m_supportCodeHasBeenSet =
false;
512 bool m_createdAtHasBeenSet =
false;
513 bool m_locationHasBeenSet =
false;
514 bool m_resourceTypeHasBeenSet =
false;
515 bool m_tagsHasBeenSet =
false;
516 bool m_blueprintIdHasBeenSet =
false;
517 bool m_blueprintNameHasBeenSet =
false;
518 bool m_bundleIdHasBeenSet =
false;
519 bool m_addOnsHasBeenSet =
false;
520 bool m_isStaticIpHasBeenSet =
false;
521 bool m_privateIpAddressHasBeenSet =
false;
522 bool m_publicIpAddressHasBeenSet =
false;
523 bool m_ipv6AddressesHasBeenSet =
false;
524 bool m_ipAddressTypeHasBeenSet =
false;
525 bool m_hardwareHasBeenSet =
false;
526 bool m_networkingHasBeenSet =
false;
527 bool m_stateHasBeenSet =
false;
528 bool m_usernameHasBeenSet =
false;
529 bool m_sshKeyNameHasBeenSet =
false;
530 bool m_metadataOptionsHasBeenSet =
false;
void SetCreatedAt(CreatedAtT &&value)
Instance & WithBlueprintId(BlueprintIdT &&value)
void SetNetworking(NetworkingT &&value)
const InstanceMetadataOptions & GetMetadataOptions() const
bool UsernameHasBeenSet() const
bool Ipv6AddressesHasBeenSet() const
Instance & AddAddOns(AddOnsT &&value)
bool IpAddressTypeHasBeenSet() const
Instance & WithSshKeyName(SshKeyNameT &&value)
void SetPrivateIpAddress(PrivateIpAddressT &&value)
const Aws::String & GetBlueprintId() const
const Aws::String & GetPublicIpAddress() const
void SetTags(TagsT &&value)
AWS_LIGHTSAIL_API Instance()=default
Instance & AddIpv6Addresses(Ipv6AddressesT &&value)
const Aws::String & GetName() const
bool NameHasBeenSet() const
Instance & WithState(StateT &&value)
const ResourceLocation & GetLocation() const
Instance & WithSupportCode(SupportCodeT &&value)
const Aws::String & GetBundleId() const
AWS_LIGHTSAIL_API Instance(Aws::Utils::Json::JsonView jsonValue)
bool ArnHasBeenSet() const
bool TagsHasBeenSet() const
Instance & WithIsStaticIp(bool value)
const InstanceHardware & GetHardware() const
Instance & WithBundleId(BundleIdT &&value)
Instance & WithIpAddressType(IpAddressType value)
ResourceType GetResourceType() const
bool BlueprintNameHasBeenSet() const
Instance & WithBlueprintName(BlueprintNameT &&value)
void SetSshKeyName(SshKeyNameT &&value)
void SetUsername(UsernameT &&value)
bool SupportCodeHasBeenSet() const
const Aws::String & GetUsername() const
void SetLocation(LocationT &&value)
Instance & WithAddOns(AddOnsT &&value)
void SetMetadataOptions(MetadataOptionsT &&value)
bool ResourceTypeHasBeenSet() const
bool PublicIpAddressHasBeenSet() const
bool AddOnsHasBeenSet() const
Instance & WithLocation(LocationT &&value)
bool MetadataOptionsHasBeenSet() const
void SetIpv6Addresses(Ipv6AddressesT &&value)
Instance & WithResourceType(ResourceType value)
Instance & WithName(NameT &&value)
Instance & AddTags(TagsT &&value)
const Aws::Vector< AddOn > & GetAddOns() const
Instance & WithIpv6Addresses(Ipv6AddressesT &&value)
bool NetworkingHasBeenSet() const
bool BundleIdHasBeenSet() const
bool CreatedAtHasBeenSet() const
void SetBundleId(BundleIdT &&value)
bool SshKeyNameHasBeenSet() const
bool BlueprintIdHasBeenSet() const
Instance & WithPrivateIpAddress(PrivateIpAddressT &&value)
bool LocationHasBeenSet() const
const Aws::String & GetPrivateIpAddress() const
bool PrivateIpAddressHasBeenSet() const
void SetIsStaticIp(bool value)
Instance & WithMetadataOptions(MetadataOptionsT &&value)
Instance & WithPublicIpAddress(PublicIpAddressT &&value)
const Aws::String & GetBlueprintName() const
const Aws::String & GetSupportCode() const
Instance & WithArn(ArnT &&value)
void SetIpAddressType(IpAddressType value)
const Aws::String & GetArn() const
void SetAddOns(AddOnsT &&value)
void SetHardware(HardwareT &&value)
bool GetIsStaticIp() const
Instance & WithHardware(HardwareT &&value)
const Aws::Vector< Tag > & GetTags() const
void SetBlueprintId(BlueprintIdT &&value)
const Aws::Utils::DateTime & GetCreatedAt() const
void SetBlueprintName(BlueprintNameT &&value)
AWS_LIGHTSAIL_API Instance & operator=(Aws::Utils::Json::JsonView jsonValue)
bool StateHasBeenSet() const
const Aws::String & GetSshKeyName() const
bool HardwareHasBeenSet() const
IpAddressType GetIpAddressType() const
void SetArn(ArnT &&value)
const InstanceNetworking & GetNetworking() const
void SetPublicIpAddress(PublicIpAddressT &&value)
Instance & WithNetworking(NetworkingT &&value)
void SetName(NameT &&value)
void SetResourceType(ResourceType value)
Instance & WithCreatedAt(CreatedAtT &&value)
const InstanceState & GetState() const
Instance & WithTags(TagsT &&value)
void SetState(StateT &&value)
void SetSupportCode(SupportCodeT &&value)
bool IsStaticIpHasBeenSet() const
const Aws::Vector< Aws::String > & GetIpv6Addresses() const
Instance & WithUsername(UsernameT &&value)
AWS_LIGHTSAIL_API Aws::Utils::Json::JsonValue Jsonize() 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