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>
24#include <aws/ec2/model/ZeroSizePreference.h>
57 template <
typename CapacityReservationIdT = Aws::String>
59 m_capacityReservationIdHasBeenSet =
true;
60 m_capacityReservationId = std::forward<CapacityReservationIdT>(value);
62 template <
typename CapacityReservationIdT = Aws::String>
76 template <
typename OwnerIdT = Aws::String>
78 m_ownerIdHasBeenSet =
true;
79 m_ownerId = std::forward<OwnerIdT>(value);
81 template <
typename OwnerIdT = Aws::String>
94 template <
typename CapacityReservationArnT = Aws::String>
96 m_capacityReservationArnHasBeenSet =
true;
97 m_capacityReservationArn = std::forward<CapacityReservationArnT>(value);
99 template <
typename CapacityReservationArnT = Aws::String>
112 template <
typename AvailabilityZoneIdT = Aws::String>
114 m_availabilityZoneIdHasBeenSet =
true;
115 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
117 template <
typename AvailabilityZoneIdT = Aws::String>
131 template <
typename InstanceTypeT = Aws::String>
133 m_instanceTypeHasBeenSet =
true;
134 m_instanceType = std::forward<InstanceTypeT>(value);
136 template <
typename InstanceTypeT = Aws::String>
151 m_instancePlatformHasBeenSet =
true;
152 m_instancePlatform = value;
166 template <
typename AvailabilityZoneT = Aws::String>
168 m_availabilityZoneHasBeenSet =
true;
169 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
171 template <
typename AvailabilityZoneT = Aws::String>
191 m_tenancyHasBeenSet =
true;
208 m_totalInstanceCountHasBeenSet =
true;
209 m_totalInstanceCount = value;
225 m_availableInstanceCountHasBeenSet =
true;
226 m_availableInstanceCount = value;
245 m_ebsOptimizedHasBeenSet =
true;
246 m_ebsOptimized = value;
261 m_ephemeralStorageHasBeenSet =
true;
262 m_ephemeralStorage = value;
309 m_stateHasBeenSet =
true;
324 template <
typename StartDateT = Aws::Utils::DateTime>
326 m_startDateHasBeenSet =
true;
327 m_startDate = std::forward<StartDateT>(value);
329 template <
typename StartDateT = Aws::Utils::DateTime>
345 template <
typename EndDateT = Aws::Utils::DateTime>
347 m_endDateHasBeenSet =
true;
348 m_endDate = std::forward<EndDateT>(value);
350 template <
typename EndDateT = Aws::Utils::DateTime>
368 m_endDateTypeHasBeenSet =
true;
369 m_endDateType = value;
393 m_instanceMatchCriteriaHasBeenSet =
true;
394 m_instanceMatchCriteria = value;
408 template <
typename CreateDateT = Aws::Utils::DateTime>
410 m_createDateHasBeenSet =
true;
411 m_createDate = std::forward<CreateDateT>(value);
413 template <
typename CreateDateT = Aws::Utils::DateTime>
426 template <
typename TagsT = Aws::Vector<Tag>>
428 m_tagsHasBeenSet =
true;
429 m_tags = std::forward<TagsT>(value);
431 template <
typename TagsT = Aws::Vector<Tag>>
433 SetTags(std::forward<TagsT>(value));
436 template <
typename TagsT = Tag>
438 m_tagsHasBeenSet =
true;
439 m_tags.emplace_back(std::forward<TagsT>(value));
451 template <
typename OutpostArnT = Aws::String>
453 m_outpostArnHasBeenSet =
true;
454 m_outpostArn = std::forward<OutpostArnT>(value);
456 template <
typename OutpostArnT = Aws::String>
471 template <
typename CapacityReservationFleetIdT = Aws::String>
473 m_capacityReservationFleetIdHasBeenSet =
true;
474 m_capacityReservationFleetId = std::forward<CapacityReservationFleetIdT>(value);
476 template <
typename CapacityReservationFleetIdT = Aws::String>
493 template <
typename PlacementGroupArnT = Aws::String>
495 m_placementGroupArnHasBeenSet =
true;
496 m_placementGroupArn = std::forward<PlacementGroupArnT>(value);
498 template <
typename PlacementGroupArnT = Aws::String>
511 template <
typename CapacityAllocationsT = Aws::Vector<CapacityAllocation>>
513 m_capacityAllocationsHasBeenSet =
true;
514 m_capacityAllocations = std::forward<CapacityAllocationsT>(value);
516 template <
typename CapacityAllocationsT = Aws::Vector<CapacityAllocation>>
521 template <
typename CapacityAllocationsT = CapacityAllocation>
523 m_capacityAllocationsHasBeenSet =
true;
524 m_capacityAllocations.emplace_back(std::forward<CapacityAllocationsT>(value));
536 m_reservationTypeHasBeenSet =
true;
537 m_reservationType = value;
552 template <
typename UnusedReservationBillingOwnerIdT = Aws::String>
554 m_unusedReservationBillingOwnerIdHasBeenSet =
true;
555 m_unusedReservationBillingOwnerId = std::forward<UnusedReservationBillingOwnerIdT>(value);
557 template <
typename UnusedReservationBillingOwnerIdT = Aws::String>
571 template <
typename CommitmentInfoT = CapacityReservationCommitmentInfo>
573 m_commitmentInfoHasBeenSet =
true;
574 m_commitmentInfo = std::forward<CommitmentInfoT>(value);
576 template <
typename CommitmentInfoT = CapacityReservationCommitmentInfo>
593 m_deliveryPreferenceHasBeenSet =
true;
594 m_deliveryPreference = value;
608 template <
typename CapacityBlockIdT = Aws::String>
610 m_capacityBlockIdHasBeenSet =
true;
611 m_capacityBlockId = std::forward<CapacityBlockIdT>(value);
613 template <
typename CapacityBlockIdT = Aws::String>
628 m_interruptibleHasBeenSet =
true;
629 m_interruptible = value;
645 template <
typename InterruptibleCapacityAllocationT = InterruptibleCapacityAllocation>
647 m_interruptibleCapacityAllocationHasBeenSet =
true;
648 m_interruptibleCapacityAllocation = std::forward<InterruptibleCapacityAllocationT>(value);
650 template <
typename InterruptibleCapacityAllocationT = InterruptibleCapacityAllocation>
664 template <
typename InterruptionInfoT = InterruptionInfo>
666 m_interruptionInfoHasBeenSet =
true;
667 m_interruptionInfo = std::forward<InterruptionInfoT>(value);
669 template <
typename InterruptionInfoT = InterruptionInfo>
687 m_zeroSizePreferenceHasBeenSet =
true;
688 m_zeroSizePreference = value;
712 int m_totalInstanceCount{0};
714 int m_availableInstanceCount{0};
716 bool m_ebsOptimized{
false};
718 bool m_ephemeralStorage{
false};
746 CapacityReservationCommitmentInfo m_commitmentInfo;
752 bool m_interruptible{
false};
754 InterruptibleCapacityAllocation m_interruptibleCapacityAllocation;
756 InterruptionInfo m_interruptionInfo;
759 bool m_capacityReservationIdHasBeenSet =
false;
760 bool m_ownerIdHasBeenSet =
false;
761 bool m_capacityReservationArnHasBeenSet =
false;
762 bool m_availabilityZoneIdHasBeenSet =
false;
763 bool m_instanceTypeHasBeenSet =
false;
764 bool m_instancePlatformHasBeenSet =
false;
765 bool m_availabilityZoneHasBeenSet =
false;
766 bool m_tenancyHasBeenSet =
false;
767 bool m_totalInstanceCountHasBeenSet =
false;
768 bool m_availableInstanceCountHasBeenSet =
false;
769 bool m_ebsOptimizedHasBeenSet =
false;
770 bool m_ephemeralStorageHasBeenSet =
false;
771 bool m_stateHasBeenSet =
false;
772 bool m_startDateHasBeenSet =
false;
773 bool m_endDateHasBeenSet =
false;
774 bool m_endDateTypeHasBeenSet =
false;
775 bool m_instanceMatchCriteriaHasBeenSet =
false;
776 bool m_createDateHasBeenSet =
false;
777 bool m_tagsHasBeenSet =
false;
778 bool m_outpostArnHasBeenSet =
false;
779 bool m_capacityReservationFleetIdHasBeenSet =
false;
780 bool m_placementGroupArnHasBeenSet =
false;
781 bool m_capacityAllocationsHasBeenSet =
false;
782 bool m_reservationTypeHasBeenSet =
false;
783 bool m_unusedReservationBillingOwnerIdHasBeenSet =
false;
784 bool m_commitmentInfoHasBeenSet =
false;
785 bool m_deliveryPreferenceHasBeenSet =
false;
786 bool m_capacityBlockIdHasBeenSet =
false;
787 bool m_interruptibleHasBeenSet =
false;
788 bool m_interruptibleCapacityAllocationHasBeenSet =
false;
789 bool m_interruptionInfoHasBeenSet =
false;
790 bool m_zeroSizePreferenceHasBeenSet =
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)
void SetZeroSizePreference(ZeroSizePreference value)
bool UnusedReservationBillingOwnerIdHasBeenSet() const
ZeroSizePreference GetZeroSizePreference() 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 & WithZeroSizePreference(ZeroSizePreference 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)
bool ZeroSizePreferenceHasBeenSet() const
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