7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/CapacityReservationInstancePlatform.h>
11#include <aws/ec2/model/CapacityReservationTenancy.h>
12#include <aws/ec2/model/CapacityReservationState.h>
13#include <aws/core/utils/DateTime.h>
14#include <aws/ec2/model/EndDateType.h>
15#include <aws/ec2/model/InstanceMatchCriteria.h>
16#include <aws/core/utils/memory/stl/AWSVector.h>
17#include <aws/ec2/model/CapacityReservationType.h>
18#include <aws/ec2/model/CapacityReservationCommitmentInfo.h>
19#include <aws/ec2/model/CapacityReservationDeliveryPreference.h>
20#include <aws/ec2/model/Tag.h>
21#include <aws/ec2/model/CapacityAllocation.h>
60 template<
typename CapacityReservationIdT = Aws::String>
61 void SetCapacityReservationId(CapacityReservationIdT&& value) { m_capacityReservationIdHasBeenSet =
true; m_capacityReservationId = std::forward<CapacityReservationIdT>(value); }
62 template<
typename CapacityReservationIdT = Aws::String>
73 template<
typename OwnerIdT = Aws::String>
74 void SetOwnerId(OwnerIdT&& value) { m_ownerIdHasBeenSet =
true; m_ownerId = std::forward<OwnerIdT>(value); }
75 template<
typename OwnerIdT = Aws::String>
85 template<
typename CapacityReservationArnT = Aws::String>
86 void SetCapacityReservationArn(CapacityReservationArnT&& value) { m_capacityReservationArnHasBeenSet =
true; m_capacityReservationArn = std::forward<CapacityReservationArnT>(value); }
87 template<
typename CapacityReservationArnT = Aws::String>
97 template<
typename AvailabilityZoneIdT = Aws::String>
98 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet =
true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
99 template<
typename AvailabilityZoneIdT = Aws::String>
110 template<
typename InstanceTypeT = Aws::String>
111 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
112 template<
typename InstanceTypeT = Aws::String>
133 template<
typename AvailabilityZoneT = Aws::String>
134 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
135 template<
typename AvailabilityZoneT = Aws::String>
162 inline void SetTotalInstanceCount(
int value) { m_totalInstanceCountHasBeenSet =
true; m_totalInstanceCount = value; }
187 inline void SetEbsOptimized(
bool value) { m_ebsOptimizedHasBeenSet =
true; m_ebsOptimized = value; }
197 inline void SetEphemeralStorage(
bool value) { m_ephemeralStorageHasBeenSet =
true; m_ephemeralStorage = value; }
245 template<
typename StartDateT = Aws::Utils::DateTime>
246 void SetStartDate(StartDateT&& value) { m_startDateHasBeenSet =
true; m_startDate = std::forward<StartDateT>(value); }
247 template<
typename StartDateT = Aws::Utils::DateTime>
260 template<
typename EndDateT = Aws::Utils::DateTime>
261 void SetEndDate(EndDateT&& value) { m_endDateHasBeenSet =
true; m_endDate = std::forward<EndDateT>(value); }
262 template<
typename EndDateT = Aws::Utils::DateTime>
305 template<
typename CreateDateT = Aws::Utils::DateTime>
306 void SetCreateDate(CreateDateT&& value) { m_createDateHasBeenSet =
true; m_createDate = std::forward<CreateDateT>(value); }
307 template<
typename CreateDateT = Aws::Utils::DateTime>
317 template<
typename TagsT = Aws::Vector<Tag>>
318 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
319 template<
typename TagsT = Aws::Vector<Tag>>
321 template<
typename TagsT = Tag>
332 template<
typename OutpostArnT = Aws::String>
333 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet =
true; m_outpostArn = std::forward<OutpostArnT>(value); }
334 template<
typename OutpostArnT = Aws::String>
346 template<
typename CapacityReservationFleetIdT = Aws::String>
347 void SetCapacityReservationFleetId(CapacityReservationFleetIdT&& value) { m_capacityReservationFleetIdHasBeenSet =
true; m_capacityReservationFleetId = std::forward<CapacityReservationFleetIdT>(value); }
348 template<
typename CapacityReservationFleetIdT = Aws::String>
362 template<
typename PlacementGroupArnT = Aws::String>
363 void SetPlacementGroupArn(PlacementGroupArnT&& value) { m_placementGroupArnHasBeenSet =
true; m_placementGroupArn = std::forward<PlacementGroupArnT>(value); }
364 template<
typename PlacementGroupArnT = Aws::String>
374 template<
typename CapacityAllocationsT = Aws::Vector<CapacityAllocation>>
375 void SetCapacityAllocations(CapacityAllocationsT&& value) { m_capacityAllocationsHasBeenSet =
true; m_capacityAllocations = std::forward<CapacityAllocationsT>(value); }
376 template<
typename CapacityAllocationsT = Aws::Vector<CapacityAllocation>>
378 template<
typename CapacityAllocationsT = CapacityAllocation>
399 template<
typename UnusedReservationBillingOwnerIdT = Aws::String>
400 void SetUnusedReservationBillingOwnerId(UnusedReservationBillingOwnerIdT&& value) { m_unusedReservationBillingOwnerIdHasBeenSet =
true; m_unusedReservationBillingOwnerId = std::forward<UnusedReservationBillingOwnerIdT>(value); }
401 template<
typename UnusedReservationBillingOwnerIdT = Aws::String>
412 template<
typename CommitmentInfoT = CapacityReservationCommitmentInfo>
413 void SetCommitmentInfo(CommitmentInfoT&& value) { m_commitmentInfoHasBeenSet =
true; m_commitmentInfo = std::forward<CommitmentInfoT>(value); }
414 template<
typename CommitmentInfoT = CapacityReservationCommitmentInfo>
437 template<
typename CapacityBlockIdT = Aws::String>
438 void SetCapacityBlockId(CapacityBlockIdT&& value) { m_capacityBlockIdHasBeenSet =
true; m_capacityBlockId = std::forward<CapacityBlockIdT>(value); }
439 template<
typename CapacityBlockIdT = Aws::String>
445 bool m_capacityReservationIdHasBeenSet =
false;
448 bool m_ownerIdHasBeenSet =
false;
451 bool m_capacityReservationArnHasBeenSet =
false;
454 bool m_availabilityZoneIdHasBeenSet =
false;
457 bool m_instanceTypeHasBeenSet =
false;
460 bool m_instancePlatformHasBeenSet =
false;
463 bool m_availabilityZoneHasBeenSet =
false;
466 bool m_tenancyHasBeenSet =
false;
468 int m_totalInstanceCount{0};
469 bool m_totalInstanceCountHasBeenSet =
false;
471 int m_availableInstanceCount{0};
472 bool m_availableInstanceCountHasBeenSet =
false;
474 bool m_ebsOptimized{
false};
475 bool m_ebsOptimizedHasBeenSet =
false;
477 bool m_ephemeralStorage{
false};
478 bool m_ephemeralStorageHasBeenSet =
false;
481 bool m_stateHasBeenSet =
false;
484 bool m_startDateHasBeenSet =
false;
487 bool m_endDateHasBeenSet =
false;
490 bool m_endDateTypeHasBeenSet =
false;
493 bool m_instanceMatchCriteriaHasBeenSet =
false;
496 bool m_createDateHasBeenSet =
false;
499 bool m_tagsHasBeenSet =
false;
502 bool m_outpostArnHasBeenSet =
false;
505 bool m_capacityReservationFleetIdHasBeenSet =
false;
508 bool m_placementGroupArnHasBeenSet =
false;
511 bool m_capacityAllocationsHasBeenSet =
false;
514 bool m_reservationTypeHasBeenSet =
false;
517 bool m_unusedReservationBillingOwnerIdHasBeenSet =
false;
519 CapacityReservationCommitmentInfo m_commitmentInfo;
520 bool m_commitmentInfoHasBeenSet =
false;
523 bool m_deliveryPreferenceHasBeenSet =
false;
526 bool m_capacityBlockIdHasBeenSet =
false;
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 & WithInstanceMatchCriteria(InstanceMatchCriteria 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)
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
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
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)
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)
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)
int GetAvailableInstanceCount() const
void SetCapacityBlockId(CapacityBlockIdT &&value)
CapacityReservation & WithInstanceType(InstanceTypeT &&value)
CapacityReservation & WithCapacityReservationId(CapacityReservationIdT &&value)
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