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/CapacityAllocation.h>
13#include <aws/ec2/model/CapacityReservationCommitmentInfo.h>
14#include <aws/ec2/model/CapacityReservationDeliveryPreference.h>
15#include <aws/ec2/model/CapacityReservationInstancePlatform.h>
16#include <aws/ec2/model/CapacityReservationState.h>
17#include <aws/ec2/model/CapacityReservationTenancy.h>
18#include <aws/ec2/model/CapacityReservationType.h>
19#include <aws/ec2/model/EndDateType.h>
20#include <aws/ec2/model/InstanceMatchCriteria.h>
21#include <aws/ec2/model/InterruptibleCapacityAllocation.h>
22#include <aws/ec2/model/InterruptionInfo.h>
23#include <aws/ec2/model/Tag.h>
56 template <
typename CapacityReservationIdT = Aws::String>
58 m_capacityReservationIdHasBeenSet =
true;
59 m_capacityReservationId = std::forward<CapacityReservationIdT>(value);
61 template <
typename CapacityReservationIdT = Aws::String>
75 template <
typename OwnerIdT = Aws::String>
77 m_ownerIdHasBeenSet =
true;
78 m_ownerId = std::forward<OwnerIdT>(value);
80 template <
typename OwnerIdT = Aws::String>
93 template <
typename CapacityReservationArnT = Aws::String>
95 m_capacityReservationArnHasBeenSet =
true;
96 m_capacityReservationArn = std::forward<CapacityReservationArnT>(value);
98 template <
typename CapacityReservationArnT = Aws::String>
111 template <
typename AvailabilityZoneIdT = Aws::String>
113 m_availabilityZoneIdHasBeenSet =
true;
114 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
116 template <
typename AvailabilityZoneIdT = Aws::String>
130 template <
typename InstanceTypeT = Aws::String>
132 m_instanceTypeHasBeenSet =
true;
133 m_instanceType = std::forward<InstanceTypeT>(value);
135 template <
typename InstanceTypeT = Aws::String>
150 m_instancePlatformHasBeenSet =
true;
151 m_instancePlatform = value;
165 template <
typename AvailabilityZoneT = Aws::String>
167 m_availabilityZoneHasBeenSet =
true;
168 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
170 template <
typename AvailabilityZoneT = Aws::String>
190 m_tenancyHasBeenSet =
true;
207 m_totalInstanceCountHasBeenSet =
true;
208 m_totalInstanceCount = value;
224 m_availableInstanceCountHasBeenSet =
true;
225 m_availableInstanceCount = value;
244 m_ebsOptimizedHasBeenSet =
true;
245 m_ebsOptimized = value;
260 m_ephemeralStorageHasBeenSet =
true;
261 m_ephemeralStorage = value;
304 m_stateHasBeenSet =
true;
319 template <
typename StartDateT = Aws::Utils::DateTime>
321 m_startDateHasBeenSet =
true;
322 m_startDate = std::forward<StartDateT>(value);
324 template <
typename StartDateT = Aws::Utils::DateTime>
340 template <
typename EndDateT = Aws::Utils::DateTime>
342 m_endDateHasBeenSet =
true;
343 m_endDate = std::forward<EndDateT>(value);
345 template <
typename EndDateT = Aws::Utils::DateTime>
363 m_endDateTypeHasBeenSet =
true;
364 m_endDateType = value;
388 m_instanceMatchCriteriaHasBeenSet =
true;
389 m_instanceMatchCriteria = value;
403 template <
typename CreateDateT = Aws::Utils::DateTime>
405 m_createDateHasBeenSet =
true;
406 m_createDate = std::forward<CreateDateT>(value);
408 template <
typename CreateDateT = Aws::Utils::DateTime>
421 template <
typename TagsT = Aws::Vector<Tag>>
423 m_tagsHasBeenSet =
true;
424 m_tags = std::forward<TagsT>(value);
426 template <
typename TagsT = Aws::Vector<Tag>>
428 SetTags(std::forward<TagsT>(value));
431 template <
typename TagsT = Tag>
433 m_tagsHasBeenSet =
true;
434 m_tags.emplace_back(std::forward<TagsT>(value));
446 template <
typename OutpostArnT = Aws::String>
448 m_outpostArnHasBeenSet =
true;
449 m_outpostArn = std::forward<OutpostArnT>(value);
451 template <
typename OutpostArnT = Aws::String>
466 template <
typename CapacityReservationFleetIdT = Aws::String>
468 m_capacityReservationFleetIdHasBeenSet =
true;
469 m_capacityReservationFleetId = std::forward<CapacityReservationFleetIdT>(value);
471 template <
typename CapacityReservationFleetIdT = Aws::String>
488 template <
typename PlacementGroupArnT = Aws::String>
490 m_placementGroupArnHasBeenSet =
true;
491 m_placementGroupArn = std::forward<PlacementGroupArnT>(value);
493 template <
typename PlacementGroupArnT = Aws::String>
506 template <
typename CapacityAllocationsT = Aws::Vector<CapacityAllocation>>
508 m_capacityAllocationsHasBeenSet =
true;
509 m_capacityAllocations = std::forward<CapacityAllocationsT>(value);
511 template <
typename CapacityAllocationsT = Aws::Vector<CapacityAllocation>>
516 template <
typename CapacityAllocationsT = CapacityAllocation>
518 m_capacityAllocationsHasBeenSet =
true;
519 m_capacityAllocations.emplace_back(std::forward<CapacityAllocationsT>(value));
531 m_reservationTypeHasBeenSet =
true;
532 m_reservationType = value;
547 template <
typename UnusedReservationBillingOwnerIdT = Aws::String>
549 m_unusedReservationBillingOwnerIdHasBeenSet =
true;
550 m_unusedReservationBillingOwnerId = std::forward<UnusedReservationBillingOwnerIdT>(value);
552 template <
typename UnusedReservationBillingOwnerIdT = Aws::String>
566 template <
typename CommitmentInfoT = CapacityReservationCommitmentInfo>
568 m_commitmentInfoHasBeenSet =
true;
569 m_commitmentInfo = std::forward<CommitmentInfoT>(value);
571 template <
typename CommitmentInfoT = CapacityReservationCommitmentInfo>
588 m_deliveryPreferenceHasBeenSet =
true;
589 m_deliveryPreference = value;
603 template <
typename CapacityBlockIdT = Aws::String>
605 m_capacityBlockIdHasBeenSet =
true;
606 m_capacityBlockId = std::forward<CapacityBlockIdT>(value);
608 template <
typename CapacityBlockIdT = Aws::String>
623 m_interruptibleHasBeenSet =
true;
624 m_interruptible = value;
640 template <
typename InterruptibleCapacityAllocationT = InterruptibleCapacityAllocation>
642 m_interruptibleCapacityAllocationHasBeenSet =
true;
643 m_interruptibleCapacityAllocation = std::forward<InterruptibleCapacityAllocationT>(value);
645 template <
typename InterruptibleCapacityAllocationT = InterruptibleCapacityAllocation>
659 template <
typename InterruptionInfoT = InterruptionInfo>
661 m_interruptionInfoHasBeenSet =
true;
662 m_interruptionInfo = std::forward<InterruptionInfoT>(value);
664 template <
typename InterruptionInfoT = InterruptionInfo>
687 int m_totalInstanceCount{0};
689 int m_availableInstanceCount{0};
691 bool m_ebsOptimized{
false};
693 bool m_ephemeralStorage{
false};
721 CapacityReservationCommitmentInfo m_commitmentInfo;
727 bool m_interruptible{
false};
729 InterruptibleCapacityAllocation m_interruptibleCapacityAllocation;
731 InterruptionInfo m_interruptionInfo;
732 bool m_capacityReservationIdHasBeenSet =
false;
733 bool m_ownerIdHasBeenSet =
false;
734 bool m_capacityReservationArnHasBeenSet =
false;
735 bool m_availabilityZoneIdHasBeenSet =
false;
736 bool m_instanceTypeHasBeenSet =
false;
737 bool m_instancePlatformHasBeenSet =
false;
738 bool m_availabilityZoneHasBeenSet =
false;
739 bool m_tenancyHasBeenSet =
false;
740 bool m_totalInstanceCountHasBeenSet =
false;
741 bool m_availableInstanceCountHasBeenSet =
false;
742 bool m_ebsOptimizedHasBeenSet =
false;
743 bool m_ephemeralStorageHasBeenSet =
false;
744 bool m_stateHasBeenSet =
false;
745 bool m_startDateHasBeenSet =
false;
746 bool m_endDateHasBeenSet =
false;
747 bool m_endDateTypeHasBeenSet =
false;
748 bool m_instanceMatchCriteriaHasBeenSet =
false;
749 bool m_createDateHasBeenSet =
false;
750 bool m_tagsHasBeenSet =
false;
751 bool m_outpostArnHasBeenSet =
false;
752 bool m_capacityReservationFleetIdHasBeenSet =
false;
753 bool m_placementGroupArnHasBeenSet =
false;
754 bool m_capacityAllocationsHasBeenSet =
false;
755 bool m_reservationTypeHasBeenSet =
false;
756 bool m_unusedReservationBillingOwnerIdHasBeenSet =
false;
757 bool m_commitmentInfoHasBeenSet =
false;
758 bool m_deliveryPreferenceHasBeenSet =
false;
759 bool m_capacityBlockIdHasBeenSet =
false;
760 bool m_interruptibleHasBeenSet =
false;
761 bool m_interruptibleCapacityAllocationHasBeenSet =
false;
762 bool m_interruptionInfoHasBeenSet =
false;
void SetInterruptibleCapacityAllocation(InterruptibleCapacityAllocationT &&value)
bool CommitmentInfoHasBeenSet() const
CapacityReservation & WithState(CapacityReservationState value)
CapacityReservation & WithStartDate(StartDateT &&value)
void SetStartDate(StartDateT &&value)
bool ReservationTypeHasBeenSet() const
void SetInstanceType(InstanceTypeT &&value)
CapacityReservation & WithAvailableInstanceCount(int value)
bool CapacityAllocationsHasBeenSet() const
bool StartDateHasBeenSet() const
bool CreateDateHasBeenSet() const
CapacityReservation & WithAvailabilityZone(AvailabilityZoneT &&value)
const Aws::Utils::DateTime & GetStartDate() const
void SetUnusedReservationBillingOwnerId(UnusedReservationBillingOwnerIdT &&value)
void SetPlacementGroupArn(PlacementGroupArnT &&value)
bool InstancePlatformHasBeenSet() const
bool TotalInstanceCountHasBeenSet() const
CapacityReservation & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
InstanceMatchCriteria GetInstanceMatchCriteria() const
const Aws::String & GetInstanceType() const
CapacityReservationDeliveryPreference GetDeliveryPreference() const
CapacityReservation & AddCapacityAllocations(CapacityAllocationsT &&value)
bool CapacityReservationArnHasBeenSet() const
int GetTotalInstanceCount() const
const Aws::Utils::DateTime & GetCreateDate() const
const Aws::Vector< Tag > & GetTags() const
const Aws::Utils::DateTime & GetEndDate() const
void SetAvailableInstanceCount(int value)
bool UnusedReservationBillingOwnerIdHasBeenSet() const
CapacityReservation & WithInterruptionInfo(InterruptionInfoT &&value)
CapacityReservation & WithInstanceMatchCriteria(InstanceMatchCriteria value)
void SetInterruptible(bool value)
const Aws::String & GetCapacityBlockId() const
AWS_EC2_API CapacityReservation & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool PlacementGroupArnHasBeenSet() const
void SetOwnerId(OwnerIdT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
void SetCapacityReservationArn(CapacityReservationArnT &&value)
void SetEphemeralStorage(bool value)
const Aws::String & GetCapacityReservationFleetId() const
void SetCreateDate(CreateDateT &&value)
void SetCapacityReservationFleetId(CapacityReservationFleetIdT &&value)
void SetEbsOptimized(bool value)
CapacityReservation & WithDeliveryPreference(CapacityReservationDeliveryPreference value)
void SetTags(TagsT &&value)
CapacityReservation & WithCommitmentInfo(CommitmentInfoT &&value)
CapacityReservation & WithOutpostArn(OutpostArnT &&value)
bool AvailabilityZoneIdHasBeenSet() const
const Aws::String & GetPlacementGroupArn() const
bool OwnerIdHasBeenSet() const
bool EphemeralStorageHasBeenSet() const
AWS_EC2_API CapacityReservation(const Aws::Utils::Xml::XmlNode &xmlNode)
CapacityReservation & WithEndDateType(EndDateType value)
bool InterruptionInfoHasBeenSet() const
CapacityReservation & WithPlacementGroupArn(PlacementGroupArnT &&value)
CapacityReservation & AddTags(TagsT &&value)
void SetDeliveryPreference(CapacityReservationDeliveryPreference value)
void SetReservationType(CapacityReservationType value)
bool StateHasBeenSet() const
bool TenancyHasBeenSet() const
bool GetEphemeralStorage() const
CapacityReservation & WithInterruptible(bool value)
bool GetInterruptible() const
bool EbsOptimizedHasBeenSet() const
CapacityReservation & WithInstancePlatform(CapacityReservationInstancePlatform value)
CapacityReservation & WithEphemeralStorage(bool value)
void SetCommitmentInfo(CommitmentInfoT &&value)
CapacityReservation & WithCapacityAllocations(CapacityAllocationsT &&value)
CapacityReservationType GetReservationType() const
CapacityReservationInstancePlatform GetInstancePlatform() const
EndDateType GetEndDateType() const
bool OutpostArnHasBeenSet() const
bool InstanceMatchCriteriaHasBeenSet() const
bool InterruptibleHasBeenSet() const
const Aws::String & GetOwnerId() const
const Aws::String & GetAvailabilityZoneId() const
CapacityReservation & WithUnusedReservationBillingOwnerId(UnusedReservationBillingOwnerIdT &&value)
void SetTotalInstanceCount(int value)
bool CapacityReservationIdHasBeenSet() const
void SetCapacityReservationId(CapacityReservationIdT &&value)
void SetInterruptionInfo(InterruptionInfoT &&value)
const Aws::String & GetCapacityReservationId() const
const CapacityReservationCommitmentInfo & GetCommitmentInfo() const
void SetCapacityAllocations(CapacityAllocationsT &&value)
const Aws::Vector< CapacityAllocation > & GetCapacityAllocations() const
const Aws::String & GetAvailabilityZone() const
void SetEndDate(EndDateT &&value)
bool EndDateHasBeenSet() const
CapacityReservation & WithCapacityReservationFleetId(CapacityReservationFleetIdT &&value)
bool CapacityReservationFleetIdHasBeenSet() const
const Aws::String & GetCapacityReservationArn() const
CapacityReservation & WithEbsOptimized(bool value)
const Aws::String & GetOutpostArn() const
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
CapacityReservation & WithTags(TagsT &&value)
bool EndDateTypeHasBeenSet() const
void SetTenancy(CapacityReservationTenancy value)
void SetInstancePlatform(CapacityReservationInstancePlatform value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
CapacityReservationState GetState() const
CapacityReservation & WithReservationType(CapacityReservationType value)
CapacityReservation & WithInterruptibleCapacityAllocation(InterruptibleCapacityAllocationT &&value)
void SetOutpostArn(OutpostArnT &&value)
void SetEndDateType(EndDateType value)
const Aws::String & GetUnusedReservationBillingOwnerId() const
CapacityReservation & WithTotalInstanceCount(int value)
AWS_EC2_API CapacityReservation()=default
CapacityReservation & WithCapacityReservationArn(CapacityReservationArnT &&value)
const InterruptionInfo & GetInterruptionInfo() const
int GetAvailableInstanceCount() const
void SetCapacityBlockId(CapacityBlockIdT &&value)
bool InterruptibleCapacityAllocationHasBeenSet() const
CapacityReservation & WithInstanceType(InstanceTypeT &&value)
CapacityReservation & WithCapacityReservationId(CapacityReservationIdT &&value)
const InterruptibleCapacityAllocation & GetInterruptibleCapacityAllocation() const
CapacityReservation & WithEndDate(EndDateT &&value)
bool InstanceTypeHasBeenSet() const
CapacityReservation & WithTenancy(CapacityReservationTenancy value)
bool AvailabilityZoneHasBeenSet() const
bool GetEbsOptimized() const
CapacityReservation & WithOwnerId(OwnerIdT &&value)
bool DeliveryPreferenceHasBeenSet() const
CapacityReservation & WithCreateDate(CreateDateT &&value)
bool TagsHasBeenSet() const
bool AvailableInstanceCountHasBeenSet() const
void SetInstanceMatchCriteria(InstanceMatchCriteria value)
bool CapacityBlockIdHasBeenSet() const
CapacityReservationTenancy GetTenancy() const
void SetState(CapacityReservationState value)
CapacityReservation & WithCapacityBlockId(CapacityBlockIdT &&value)
CapacityReservationDeliveryPreference
CapacityReservationTenancy
CapacityReservationInstancePlatform
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