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/HostInstance.h>
17#include <aws/ec2/model/HostMaintenance.h>
18#include <aws/ec2/model/HostProperties.h>
19#include <aws/ec2/model/HostRecovery.h>
20#include <aws/ec2/model/Tag.h>
40 AWS_EC2_API
Host() =
default;
54 m_autoPlacementHasBeenSet =
true;
55 m_autoPlacement = value;
69 template <
typename AvailabilityZoneT = Aws::String>
71 m_availabilityZoneHasBeenSet =
true;
72 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
74 template <
typename AvailabilityZoneT = Aws::String>
87 template <
typename AvailableCapacityT = AvailableCapacity>
89 m_availableCapacityHasBeenSet =
true;
90 m_availableCapacity = std::forward<AvailableCapacityT>(value);
92 template <
typename AvailableCapacityT = AvailableCapacity>
108 template <
typename ClientTokenT = Aws::String>
110 m_clientTokenHasBeenSet =
true;
111 m_clientToken = std::forward<ClientTokenT>(value);
113 template <
typename ClientTokenT = Aws::String>
126 template <
typename HostIdT = Aws::String>
128 m_hostIdHasBeenSet =
true;
129 m_hostId = std::forward<HostIdT>(value);
131 template <
typename HostIdT = Aws::String>
144 template <
typename HostPropertiesT = HostProperties>
146 m_hostPropertiesHasBeenSet =
true;
147 m_hostProperties = std::forward<HostPropertiesT>(value);
149 template <
typename HostPropertiesT = HostProperties>
163 template <
typename HostReservationIdT = Aws::String>
165 m_hostReservationIdHasBeenSet =
true;
166 m_hostReservationId = std::forward<HostReservationIdT>(value);
168 template <
typename HostReservationIdT = Aws::String>
182 template <
typename InstancesT = Aws::Vector<HostInstance>>
184 m_instancesHasBeenSet =
true;
185 m_instances = std::forward<InstancesT>(value);
187 template <
typename InstancesT = Aws::Vector<HostInstance>>
192 template <
typename InstancesT = HostInstance>
194 m_instancesHasBeenSet =
true;
195 m_instances.emplace_back(std::forward<InstancesT>(value));
207 m_stateHasBeenSet =
true;
222 template <
typename AllocationTimeT = Aws::Utils::DateTime>
224 m_allocationTimeHasBeenSet =
true;
225 m_allocationTime = std::forward<AllocationTimeT>(value);
227 template <
typename AllocationTimeT = Aws::Utils::DateTime>
240 template <
typename ReleaseTimeT = Aws::Utils::DateTime>
242 m_releaseTimeHasBeenSet =
true;
243 m_releaseTime = std::forward<ReleaseTimeT>(value);
245 template <
typename ReleaseTimeT = Aws::Utils::DateTime>
258 template <
typename TagsT = Aws::Vector<Tag>>
260 m_tagsHasBeenSet =
true;
261 m_tags = std::forward<TagsT>(value);
263 template <
typename TagsT = Aws::Vector<Tag>>
265 SetTags(std::forward<TagsT>(value));
268 template <
typename TagsT = Tag>
270 m_tagsHasBeenSet =
true;
271 m_tags.emplace_back(std::forward<TagsT>(value));
284 m_hostRecoveryHasBeenSet =
true;
285 m_hostRecovery = value;
303 m_allowsMultipleInstanceTypesHasBeenSet =
true;
304 m_allowsMultipleInstanceTypes = value;
318 template <
typename OwnerIdT = Aws::String>
320 m_ownerIdHasBeenSet =
true;
321 m_ownerId = std::forward<OwnerIdT>(value);
323 template <
typename OwnerIdT = Aws::String>
336 template <
typename AvailabilityZoneIdT = Aws::String>
338 m_availabilityZoneIdHasBeenSet =
true;
339 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
341 template <
typename AvailabilityZoneIdT = Aws::String>
357 m_memberOfServiceLinkedResourceGroupHasBeenSet =
true;
358 m_memberOfServiceLinkedResourceGroup = value;
373 template <
typename OutpostArnT = Aws::String>
375 m_outpostArnHasBeenSet =
true;
376 m_outpostArn = std::forward<OutpostArnT>(value);
378 template <
typename OutpostArnT = Aws::String>
393 m_hostMaintenanceHasBeenSet =
true;
394 m_hostMaintenance = value;
409 template <
typename AssetIdT = Aws::String>
411 m_assetIdHasBeenSet =
true;
412 m_assetId = std::forward<AssetIdT>(value);
414 template <
typename AssetIdT = Aws::String>
425 AvailableCapacity m_availableCapacity;
431 HostProperties m_hostProperties;
453 bool m_memberOfServiceLinkedResourceGroup{
false};
460 bool m_autoPlacementHasBeenSet =
false;
461 bool m_availabilityZoneHasBeenSet =
false;
462 bool m_availableCapacityHasBeenSet =
false;
463 bool m_clientTokenHasBeenSet =
false;
464 bool m_hostIdHasBeenSet =
false;
465 bool m_hostPropertiesHasBeenSet =
false;
466 bool m_hostReservationIdHasBeenSet =
false;
467 bool m_instancesHasBeenSet =
false;
468 bool m_stateHasBeenSet =
false;
469 bool m_allocationTimeHasBeenSet =
false;
470 bool m_releaseTimeHasBeenSet =
false;
471 bool m_tagsHasBeenSet =
false;
472 bool m_hostRecoveryHasBeenSet =
false;
473 bool m_allowsMultipleInstanceTypesHasBeenSet =
false;
474 bool m_ownerIdHasBeenSet =
false;
475 bool m_availabilityZoneIdHasBeenSet =
false;
476 bool m_memberOfServiceLinkedResourceGroupHasBeenSet =
false;
477 bool m_outpostArnHasBeenSet =
false;
478 bool m_hostMaintenanceHasBeenSet =
false;
479 bool m_assetIdHasBeenSet =
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
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)
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 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)
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