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/IpAddressType.h>
14#include <aws/lightsail/model/InstanceHardware.h>
15#include <aws/lightsail/model/InstanceNetworking.h>
16#include <aws/lightsail/model/InstanceState.h>
17#include <aws/lightsail/model/InstanceMetadataOptions.h>
18#include <aws/lightsail/model/Tag.h>
19#include <aws/lightsail/model/AddOn.h>
58 template<
typename NameT = Aws::String>
59 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
60 template<
typename NameT = Aws::String>
71 template<
typename ArnT = Aws::String>
72 void SetArn(ArnT&& value) { m_arnHasBeenSet =
true; m_arn = std::forward<ArnT>(value); }
73 template<
typename ArnT = Aws::String>
85 template<
typename SupportCodeT = Aws::String>
86 void SetSupportCode(SupportCodeT&& value) { m_supportCodeHasBeenSet =
true; m_supportCode = std::forward<SupportCodeT>(value); }
87 template<
typename SupportCodeT = Aws::String>
98 template<
typename CreatedAtT = Aws::Utils::DateTime>
99 void SetCreatedAt(CreatedAtT&& value) { m_createdAtHasBeenSet =
true; m_createdAt = std::forward<CreatedAtT>(value); }
100 template<
typename CreatedAtT = Aws::Utils::DateTime>
110 template<
typename LocationT = ResourceLocation>
111 void SetLocation(LocationT&& value) { m_locationHasBeenSet =
true; m_location = std::forward<LocationT>(value); }
112 template<
typename LocationT = ResourceLocation>
135 template<
typename TagsT = Aws::Vector<Tag>>
136 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
137 template<
typename TagsT = Aws::Vector<Tag>>
139 template<
typename TagsT = Tag>
140 Instance&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
149 template<
typename Bluepr
intIdT = Aws::String>
150 void SetBlueprintId(BlueprintIdT&& value) { m_blueprintIdHasBeenSet =
true; m_blueprintId = std::forward<BlueprintIdT>(value); }
151 template<
typename Bluepr
intIdT = Aws::String>
161 template<
typename Bluepr
intNameT = Aws::String>
162 void SetBlueprintName(BlueprintNameT&& value) { m_blueprintNameHasBeenSet =
true; m_blueprintName = std::forward<BlueprintNameT>(value); }
163 template<
typename Bluepr
intNameT = Aws::String>
173 template<
typename BundleIdT = Aws::String>
174 void SetBundleId(BundleIdT&& value) { m_bundleIdHasBeenSet =
true; m_bundleId = std::forward<BundleIdT>(value); }
175 template<
typename BundleIdT = Aws::String>
185 template<
typename AddOnsT = Aws::Vector<AddOn>>
186 void SetAddOns(AddOnsT&& value) { m_addOnsHasBeenSet =
true; m_addOns = std::forward<AddOnsT>(value); }
187 template<
typename AddOnsT = Aws::Vector<AddOn>>
189 template<
typename AddOnsT = AddOn>
190 Instance&
AddAddOns(AddOnsT&& value) { m_addOnsHasBeenSet =
true; m_addOns.emplace_back(std::forward<AddOnsT>(value));
return *
this; }
200 inline void SetIsStaticIp(
bool value) { m_isStaticIpHasBeenSet =
true; m_isStaticIp = value; }
210 template<
typename PrivateIpAddressT = Aws::String>
211 void SetPrivateIpAddress(PrivateIpAddressT&& value) { m_privateIpAddressHasBeenSet =
true; m_privateIpAddress = std::forward<PrivateIpAddressT>(value); }
212 template<
typename PrivateIpAddressT = Aws::String>
222 template<
typename PublicIpAddressT = Aws::String>
223 void SetPublicIpAddress(PublicIpAddressT&& value) { m_publicIpAddressHasBeenSet =
true; m_publicIpAddress = std::forward<PublicIpAddressT>(value); }
224 template<
typename PublicIpAddressT = Aws::String>
234 template<
typename Ipv6AddressesT = Aws::Vector<Aws::String>>
235 void SetIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet =
true; m_ipv6Addresses = std::forward<Ipv6AddressesT>(value); }
236 template<
typename Ipv6AddressesT = Aws::Vector<Aws::String>>
238 template<
typename Ipv6AddressesT = Aws::String>
239 Instance&
AddIpv6Addresses(Ipv6AddressesT&& value) { m_ipv6AddressesHasBeenSet =
true; m_ipv6Addresses.emplace_back(std::forward<Ipv6AddressesT>(value));
return *
this; }
260 template<
typename HardwareT = InstanceHardware>
261 void SetHardware(HardwareT&& value) { m_hardwareHasBeenSet =
true; m_hardware = std::forward<HardwareT>(value); }
262 template<
typename HardwareT = InstanceHardware>
273 template<
typename NetworkingT = InstanceNetworking>
274 void SetNetworking(NetworkingT&& value) { m_networkingHasBeenSet =
true; m_networking = std::forward<NetworkingT>(value); }
275 template<
typename NetworkingT = InstanceNetworking>
285 template<
typename StateT = InstanceState>
286 void SetState(StateT&& value) { m_stateHasBeenSet =
true; m_state = std::forward<StateT>(value); }
287 template<
typename StateT = InstanceState>
297 template<
typename UsernameT = Aws::String>
298 void SetUsername(UsernameT&& value) { m_usernameHasBeenSet =
true; m_username = std::forward<UsernameT>(value); }
299 template<
typename UsernameT = Aws::String>
310 template<
typename SshKeyNameT = Aws::String>
311 void SetSshKeyName(SshKeyNameT&& value) { m_sshKeyNameHasBeenSet =
true; m_sshKeyName = std::forward<SshKeyNameT>(value); }
312 template<
typename SshKeyNameT = Aws::String>
322 template<
typename MetadataOptionsT = InstanceMetadataOptions>
323 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet =
true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
324 template<
typename MetadataOptionsT = InstanceMetadataOptions>
330 bool m_nameHasBeenSet =
false;
333 bool m_arnHasBeenSet =
false;
336 bool m_supportCodeHasBeenSet =
false;
339 bool m_createdAtHasBeenSet =
false;
341 ResourceLocation m_location;
342 bool m_locationHasBeenSet =
false;
345 bool m_resourceTypeHasBeenSet =
false;
348 bool m_tagsHasBeenSet =
false;
351 bool m_blueprintIdHasBeenSet =
false;
354 bool m_blueprintNameHasBeenSet =
false;
357 bool m_bundleIdHasBeenSet =
false;
360 bool m_addOnsHasBeenSet =
false;
362 bool m_isStaticIp{
false};
363 bool m_isStaticIpHasBeenSet =
false;
366 bool m_privateIpAddressHasBeenSet =
false;
369 bool m_publicIpAddressHasBeenSet =
false;
372 bool m_ipv6AddressesHasBeenSet =
false;
375 bool m_ipAddressTypeHasBeenSet =
false;
377 InstanceHardware m_hardware;
378 bool m_hardwareHasBeenSet =
false;
380 InstanceNetworking m_networking;
381 bool m_networkingHasBeenSet =
false;
383 InstanceState m_state;
384 bool m_stateHasBeenSet =
false;
387 bool m_usernameHasBeenSet =
false;
390 bool m_sshKeyNameHasBeenSet =
false;
392 InstanceMetadataOptions m_metadataOptions;
393 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