7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/AutoPlacement.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/ec2/model/AvailableCapacity.h>
12#include <aws/ec2/model/HostProperties.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/ec2/model/AllocationState.h>
15#include <aws/core/utils/DateTime.h>
16#include <aws/ec2/model/HostRecovery.h>
17#include <aws/ec2/model/AllowsMultipleInstanceTypes.h>
18#include <aws/ec2/model/HostMaintenance.h>
19#include <aws/ec2/model/HostInstance.h>
20#include <aws/ec2/model/Tag.h>
45 AWS_EC2_API
Host() =
default;
69 template<
typename AvailabilityZoneT = Aws::String>
70 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
71 template<
typename AvailabilityZoneT = Aws::String>
81 template<
typename AvailableCapacityT = AvailableCapacity>
82 void SetAvailableCapacity(AvailableCapacityT&& value) { m_availableCapacityHasBeenSet =
true; m_availableCapacity = std::forward<AvailableCapacityT>(value); }
83 template<
typename AvailableCapacityT = AvailableCapacity>
96 template<
typename ClientTokenT = Aws::String>
97 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
98 template<
typename ClientTokenT = Aws::String>
108 template<
typename HostIdT = Aws::String>
109 void SetHostId(HostIdT&& value) { m_hostIdHasBeenSet =
true; m_hostId = std::forward<HostIdT>(value); }
110 template<
typename HostIdT = Aws::String>
120 template<
typename HostPropertiesT = HostProperties>
121 void SetHostProperties(HostPropertiesT&& value) { m_hostPropertiesHasBeenSet =
true; m_hostProperties = std::forward<HostPropertiesT>(value); }
122 template<
typename HostPropertiesT = HostProperties>
133 template<
typename HostReservationIdT = Aws::String>
134 void SetHostReservationId(HostReservationIdT&& value) { m_hostReservationIdHasBeenSet =
true; m_hostReservationId = std::forward<HostReservationIdT>(value); }
135 template<
typename HostReservationIdT = Aws::String>
146 template<
typename InstancesT = Aws::Vector<HostInstance>>
147 void SetInstances(InstancesT&& value) { m_instancesHasBeenSet =
true; m_instances = std::forward<InstancesT>(value); }
148 template<
typename InstancesT = Aws::Vector<HostInstance>>
150 template<
typename InstancesT = HostInstance>
151 Host&
AddInstances(InstancesT&& value) { m_instancesHasBeenSet =
true; m_instances.emplace_back(std::forward<InstancesT>(value));
return *
this; }
170 template<
typename AllocationTimeT = Aws::Utils::DateTime>
171 void SetAllocationTime(AllocationTimeT&& value) { m_allocationTimeHasBeenSet =
true; m_allocationTime = std::forward<AllocationTimeT>(value); }
172 template<
typename AllocationTimeT = Aws::Utils::DateTime>
182 template<
typename ReleaseTimeT = Aws::Utils::DateTime>
183 void SetReleaseTime(ReleaseTimeT&& value) { m_releaseTimeHasBeenSet =
true; m_releaseTime = std::forward<ReleaseTimeT>(value); }
184 template<
typename ReleaseTimeT = Aws::Utils::DateTime>
194 template<
typename TagsT = Aws::Vector<Tag>>
195 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
196 template<
typename TagsT = Aws::Vector<Tag>>
198 template<
typename TagsT = Tag>
199 Host&
AddTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags.emplace_back(std::forward<TagsT>(value));
return *
this; }
232 template<
typename OwnerIdT = Aws::String>
233 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet =
true; m_ownerId = std::forward<OwnerIdT>(value); }
234 template<
typename OwnerIdT = Aws::String>
244 template<
typename AvailabilityZoneIdT = Aws::String>
245 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet =
true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
246 template<
typename AvailabilityZoneIdT = Aws::String>
269 template<
typename OutpostArnT = Aws::String>
270 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet =
true; m_outpostArn = std::forward<OutpostArnT>(value); }
271 template<
typename OutpostArnT = Aws::String>
293 template<
typename AssetIdT = Aws::String>
294 void SetAssetId(AssetIdT&& value) { m_assetIdHasBeenSet =
true; m_assetId = std::forward<AssetIdT>(value); }
295 template<
typename AssetIdT = Aws::String>
301 bool m_autoPlacementHasBeenSet =
false;
304 bool m_availabilityZoneHasBeenSet =
false;
306 AvailableCapacity m_availableCapacity;
307 bool m_availableCapacityHasBeenSet =
false;
310 bool m_clientTokenHasBeenSet =
false;
313 bool m_hostIdHasBeenSet =
false;
315 HostProperties m_hostProperties;
316 bool m_hostPropertiesHasBeenSet =
false;
319 bool m_hostReservationIdHasBeenSet =
false;
322 bool m_instancesHasBeenSet =
false;
325 bool m_stateHasBeenSet =
false;
328 bool m_allocationTimeHasBeenSet =
false;
331 bool m_releaseTimeHasBeenSet =
false;
334 bool m_tagsHasBeenSet =
false;
337 bool m_hostRecoveryHasBeenSet =
false;
340 bool m_allowsMultipleInstanceTypesHasBeenSet =
false;
343 bool m_ownerIdHasBeenSet =
false;
346 bool m_availabilityZoneIdHasBeenSet =
false;
348 bool m_memberOfServiceLinkedResourceGroup{
false};
349 bool m_memberOfServiceLinkedResourceGroupHasBeenSet =
false;
352 bool m_outpostArnHasBeenSet =
false;
355 bool m_hostMaintenanceHasBeenSet =
false;
358 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