7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/AllocationState.h>
13#include <aws/ec2/model/AllowsMultipleInstanceTypes.h>
14#include <aws/ec2/model/AutoPlacement.h>
15#include <aws/ec2/model/AvailableCapacity.h>
16#include <aws/ec2/model/HostCpuOptions.h>
17#include <aws/ec2/model/HostInstance.h>
18#include <aws/ec2/model/HostMaintenance.h>
19#include <aws/ec2/model/HostProperties.h>
20#include <aws/ec2/model/HostRecovery.h>
21#include <aws/ec2/model/Tag.h>
41 AWS_EC2_API
Host() =
default;
55 m_autoPlacementHasBeenSet =
true;
56 m_autoPlacement = value;
70 template <
typename AvailabilityZoneT = Aws::String>
72 m_availabilityZoneHasBeenSet =
true;
73 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
75 template <
typename AvailabilityZoneT = Aws::String>
88 template <
typename AvailableCapacityT = AvailableCapacity>
90 m_availableCapacityHasBeenSet =
true;
91 m_availableCapacity = std::forward<AvailableCapacityT>(value);
93 template <
typename AvailableCapacityT = AvailableCapacity>
109 template <
typename ClientTokenT = Aws::String>
111 m_clientTokenHasBeenSet =
true;
112 m_clientToken = std::forward<ClientTokenT>(value);
114 template <
typename ClientTokenT = Aws::String>
127 template <
typename HostIdT = Aws::String>
129 m_hostIdHasBeenSet =
true;
130 m_hostId = std::forward<HostIdT>(value);
132 template <
typename HostIdT = Aws::String>
145 template <
typename HostPropertiesT = HostProperties>
147 m_hostPropertiesHasBeenSet =
true;
148 m_hostProperties = std::forward<HostPropertiesT>(value);
150 template <
typename HostPropertiesT = HostProperties>
164 template <
typename HostReservationIdT = Aws::String>
166 m_hostReservationIdHasBeenSet =
true;
167 m_hostReservationId = std::forward<HostReservationIdT>(value);
169 template <
typename HostReservationIdT = Aws::String>
183 template <
typename InstancesT = Aws::Vector<HostInstance>>
185 m_instancesHasBeenSet =
true;
186 m_instances = std::forward<InstancesT>(value);
188 template <
typename InstancesT = Aws::Vector<HostInstance>>
193 template <
typename InstancesT = HostInstance>
195 m_instancesHasBeenSet =
true;
196 m_instances.emplace_back(std::forward<InstancesT>(value));
208 m_stateHasBeenSet =
true;
223 template <
typename AllocationTimeT = Aws::Utils::DateTime>
225 m_allocationTimeHasBeenSet =
true;
226 m_allocationTime = std::forward<AllocationTimeT>(value);
228 template <
typename AllocationTimeT = Aws::Utils::DateTime>
241 template <
typename ReleaseTimeT = Aws::Utils::DateTime>
243 m_releaseTimeHasBeenSet =
true;
244 m_releaseTime = std::forward<ReleaseTimeT>(value);
246 template <
typename ReleaseTimeT = Aws::Utils::DateTime>
259 template <
typename TagsT = Aws::Vector<Tag>>
261 m_tagsHasBeenSet =
true;
262 m_tags = std::forward<TagsT>(value);
264 template <
typename TagsT = Aws::Vector<Tag>>
266 SetTags(std::forward<TagsT>(value));
269 template <
typename TagsT = Tag>
271 m_tagsHasBeenSet =
true;
272 m_tags.emplace_back(std::forward<TagsT>(value));
285 m_hostRecoveryHasBeenSet =
true;
286 m_hostRecovery = value;
304 m_allowsMultipleInstanceTypesHasBeenSet =
true;
305 m_allowsMultipleInstanceTypes = value;
319 template <
typename OwnerIdT = Aws::String>
321 m_ownerIdHasBeenSet =
true;
322 m_ownerId = std::forward<OwnerIdT>(value);
324 template <
typename OwnerIdT = Aws::String>
337 template <
typename AvailabilityZoneIdT = Aws::String>
339 m_availabilityZoneIdHasBeenSet =
true;
340 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
342 template <
typename AvailabilityZoneIdT = Aws::String>
358 m_memberOfServiceLinkedResourceGroupHasBeenSet =
true;
359 m_memberOfServiceLinkedResourceGroup = value;
374 template <
typename OutpostArnT = Aws::String>
376 m_outpostArnHasBeenSet =
true;
377 m_outpostArn = std::forward<OutpostArnT>(value);
379 template <
typename OutpostArnT = Aws::String>
394 m_hostMaintenanceHasBeenSet =
true;
395 m_hostMaintenance = value;
410 template <
typename AssetIdT = Aws::String>
412 m_assetIdHasBeenSet =
true;
413 m_assetId = std::forward<AssetIdT>(value);
415 template <
typename AssetIdT = Aws::String>
429 template <
typename CpuOptionsT = HostCpuOptions>
431 m_cpuOptionsHasBeenSet =
true;
432 m_cpuOptions = std::forward<CpuOptionsT>(value);
434 template <
typename CpuOptionsT = HostCpuOptions>
445 AvailableCapacity m_availableCapacity;
451 HostProperties m_hostProperties;
473 bool m_memberOfServiceLinkedResourceGroup{
false};
481 HostCpuOptions m_cpuOptions;
482 bool m_autoPlacementHasBeenSet =
false;
483 bool m_availabilityZoneHasBeenSet =
false;
484 bool m_availableCapacityHasBeenSet =
false;
485 bool m_clientTokenHasBeenSet =
false;
486 bool m_hostIdHasBeenSet =
false;
487 bool m_hostPropertiesHasBeenSet =
false;
488 bool m_hostReservationIdHasBeenSet =
false;
489 bool m_instancesHasBeenSet =
false;
490 bool m_stateHasBeenSet =
false;
491 bool m_allocationTimeHasBeenSet =
false;
492 bool m_releaseTimeHasBeenSet =
false;
493 bool m_tagsHasBeenSet =
false;
494 bool m_hostRecoveryHasBeenSet =
false;
495 bool m_allowsMultipleInstanceTypesHasBeenSet =
false;
496 bool m_ownerIdHasBeenSet =
false;
497 bool m_availabilityZoneIdHasBeenSet =
false;
498 bool m_memberOfServiceLinkedResourceGroupHasBeenSet =
false;
499 bool m_outpostArnHasBeenSet =
false;
500 bool m_hostMaintenanceHasBeenSet =
false;
501 bool m_assetIdHasBeenSet =
false;
502 bool m_cpuOptionsHasBeenSet =
false;
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Vector< HostInstance > & GetInstances() const
void SetHostReservationId(HostReservationIdT &&value)
AWS_EC2_API Host()=default
const Aws::String & GetAssetId() const
bool AvailabilityZoneIdHasBeenSet() const
Host & WithReleaseTime(ReleaseTimeT &&value)
Host & WithAvailableCapacity(AvailableCapacityT &&value)
bool AutoPlacementHasBeenSet() const
const Aws::String & GetHostId() const
const HostCpuOptions & GetCpuOptions() const
void SetHostRecovery(HostRecovery value)
Host & WithInstances(InstancesT &&value)
Host & WithAllowsMultipleInstanceTypes(AllowsMultipleInstanceTypes value)
void SetHostId(HostIdT &&value)
const Aws::String & GetClientToken() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
bool AvailableCapacityHasBeenSet() const
const HostProperties & GetHostProperties() const
bool HostPropertiesHasBeenSet() const
void SetReleaseTime(ReleaseTimeT &&value)
void SetAllocationTime(AllocationTimeT &&value)
void SetHostMaintenance(HostMaintenance value)
bool OwnerIdHasBeenSet() const
Host & WithHostMaintenance(HostMaintenance value)
AWS_EC2_API Host(const Aws::Utils::Xml::XmlNode &xmlNode)
Host & WithHostId(HostIdT &&value)
Host & AddInstances(InstancesT &&value)
void SetHostProperties(HostPropertiesT &&value)
bool ReleaseTimeHasBeenSet() const
bool MemberOfServiceLinkedResourceGroupHasBeenSet() const
Host & WithAvailabilityZone(AvailabilityZoneT &&value)
const Aws::String & GetOutpostArn() const
Host & WithAllocationTime(AllocationTimeT &&value)
bool InstancesHasBeenSet() const
void SetTags(TagsT &&value)
Host & WithState(AllocationState value)
HostMaintenance GetHostMaintenance() const
void SetState(AllocationState value)
void SetMemberOfServiceLinkedResourceGroup(bool value)
void SetOwnerId(OwnerIdT &&value)
Host & WithCpuOptions(CpuOptionsT &&value)
HostRecovery GetHostRecovery() const
Host & WithTags(TagsT &&value)
const Aws::String & GetAvailabilityZone() const
void SetAvailableCapacity(AvailableCapacityT &&value)
Host & WithAutoPlacement(AutoPlacement value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
bool TagsHasBeenSet() const
AutoPlacement GetAutoPlacement() const
bool AvailabilityZoneHasBeenSet() const
bool CpuOptionsHasBeenSet() const
bool StateHasBeenSet() const
bool AllowsMultipleInstanceTypesHasBeenSet() const
const Aws::String & GetOwnerId() const
bool HostIdHasBeenSet() const
bool HostReservationIdHasBeenSet() const
Host & WithHostProperties(HostPropertiesT &&value)
Host & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
AWS_EC2_API Host & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetCpuOptions(CpuOptionsT &&value)
Host & WithOwnerId(OwnerIdT &&value)
bool OutpostArnHasBeenSet() const
bool AssetIdHasBeenSet() const
Host & WithOutpostArn(OutpostArnT &&value)
bool ClientTokenHasBeenSet() const
Host & AddTags(TagsT &&value)
Host & WithHostRecovery(HostRecovery value)
void SetClientToken(ClientTokenT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAssetId(AssetIdT &&value)
bool GetMemberOfServiceLinkedResourceGroup() const
void SetInstances(InstancesT &&value)
const Aws::String & GetAvailabilityZoneId() const
const Aws::Utils::DateTime & GetReleaseTime() const
bool HostRecoveryHasBeenSet() const
const Aws::Vector< Tag > & GetTags() const
const Aws::String & GetHostReservationId() const
AllowsMultipleInstanceTypes GetAllowsMultipleInstanceTypes() const
const AvailableCapacity & GetAvailableCapacity() const
void SetOutpostArn(OutpostArnT &&value)
bool AllocationTimeHasBeenSet() const
bool HostMaintenanceHasBeenSet() const
Host & WithHostReservationId(HostReservationIdT &&value)
void SetAllowsMultipleInstanceTypes(AllowsMultipleInstanceTypes value)
AllocationState GetState() const
const Aws::Utils::DateTime & GetAllocationTime() const
Host & WithClientToken(ClientTokenT &&value)
void SetAutoPlacement(AutoPlacement value)
Host & WithAssetId(AssetIdT &&value)
Host & WithMemberOfServiceLinkedResourceGroup(bool value)
AllowsMultipleInstanceTypes
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream