7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2Request.h>
11#include <aws/ec2/EC2_EXPORTS.h>
12#include <aws/ec2/model/CapacityReservationDeliveryPreference.h>
13#include <aws/ec2/model/CapacityReservationInstancePlatform.h>
14#include <aws/ec2/model/CapacityReservationTenancy.h>
15#include <aws/ec2/model/EndDateType.h>
16#include <aws/ec2/model/InstanceMatchCriteria.h>
17#include <aws/ec2/model/TagSpecification.h>
52 template <
typename ClientTokenT = Aws::String>
54 m_clientTokenHasBeenSet =
true;
55 m_clientToken = std::forward<ClientTokenT>(value);
57 template <
typename ClientTokenT = Aws::String>
74 template <
typename InstanceTypeT = Aws::String>
76 m_instanceTypeHasBeenSet =
true;
77 m_instanceType = std::forward<InstanceTypeT>(value);
79 template <
typename InstanceTypeT = Aws::String>
93 m_instancePlatformHasBeenSet =
true;
94 m_instancePlatform = value;
108 template <
typename AvailabilityZoneT = Aws::String>
110 m_availabilityZoneHasBeenSet =
true;
111 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
113 template <
typename AvailabilityZoneT = Aws::String>
127 template <
typename AvailabilityZoneIdT = Aws::String>
129 m_availabilityZoneIdHasBeenSet =
true;
130 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
132 template <
typename AvailabilityZoneIdT = Aws::String>
152 m_tenancyHasBeenSet =
true;
172 m_instanceCountHasBeenSet =
true;
173 m_instanceCount = value;
192 m_ebsOptimizedHasBeenSet =
true;
193 m_ebsOptimized = value;
208 m_ephemeralStorageHasBeenSet =
true;
209 m_ephemeralStorage = value;
234 template <
typename EndDateT = Aws::Utils::DateTime>
236 m_endDateHasBeenSet =
true;
237 m_endDate = std::forward<EndDateT>(value);
239 template <
typename EndDateT = Aws::Utils::DateTime>
260 m_endDateTypeHasBeenSet =
true;
261 m_endDateType = value;
287 m_instanceMatchCriteriaHasBeenSet =
true;
288 m_instanceMatchCriteria = value;
302 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
304 m_tagSpecificationsHasBeenSet =
true;
305 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
307 template <
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
312 template <
typename TagSpecificationsT = TagSpecification>
314 m_tagSpecificationsHasBeenSet =
true;
315 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
330 m_dryRunHasBeenSet =
true;
347 template <
typename OutpostArnT = Aws::String>
349 m_outpostArnHasBeenSet =
true;
350 m_outpostArn = std::forward<OutpostArnT>(value);
352 template <
typename OutpostArnT = Aws::String>
370 template <
typename PlacementGroupArnT = Aws::String>
372 m_placementGroupArnHasBeenSet =
true;
373 m_placementGroupArn = std::forward<PlacementGroupArnT>(value);
375 template <
typename PlacementGroupArnT = Aws::String>
393 template <
typename StartDateT = Aws::Utils::DateTime>
395 m_startDateHasBeenSet =
true;
396 m_startDate = std::forward<StartDateT>(value);
398 template <
typename StartDateT = Aws::Utils::DateTime>
420 m_commitmentDurationHasBeenSet =
true;
421 m_commitmentDuration = value;
441 m_deliveryPreferenceHasBeenSet =
true;
442 m_deliveryPreference = value;
462 int m_instanceCount{0};
464 bool m_ebsOptimized{
false};
466 bool m_ephemeralStorage{
false};
476 bool m_dryRun{
false};
484 long long m_commitmentDuration{0};
487 bool m_clientTokenHasBeenSet =
false;
488 bool m_instanceTypeHasBeenSet =
false;
489 bool m_instancePlatformHasBeenSet =
false;
490 bool m_availabilityZoneHasBeenSet =
false;
491 bool m_availabilityZoneIdHasBeenSet =
false;
492 bool m_tenancyHasBeenSet =
false;
493 bool m_instanceCountHasBeenSet =
false;
494 bool m_ebsOptimizedHasBeenSet =
false;
495 bool m_ephemeralStorageHasBeenSet =
false;
496 bool m_endDateHasBeenSet =
false;
497 bool m_endDateTypeHasBeenSet =
false;
498 bool m_instanceMatchCriteriaHasBeenSet =
false;
499 bool m_tagSpecificationsHasBeenSet =
false;
500 bool m_dryRunHasBeenSet =
false;
501 bool m_outpostArnHasBeenSet =
false;
502 bool m_placementGroupArnHasBeenSet =
false;
503 bool m_startDateHasBeenSet =
false;
504 bool m_commitmentDurationHasBeenSet =
false;
505 bool m_deliveryPreferenceHasBeenSet =
false;
void SetOutpostArn(OutpostArnT &&value)
CreateCapacityReservationRequest & WithInstanceType(InstanceTypeT &&value)
CreateCapacityReservationRequest & WithInstanceCount(int value)
const Aws::Utils::DateTime & GetEndDate() const
CreateCapacityReservationRequest & WithInstanceMatchCriteria(InstanceMatchCriteria value)
bool AvailabilityZoneIdHasBeenSet() const
bool InstanceTypeHasBeenSet() const
bool OutpostArnHasBeenSet() const
bool PlacementGroupArnHasBeenSet() const
void SetTagSpecifications(TagSpecificationsT &&value)
void SetInstanceMatchCriteria(InstanceMatchCriteria value)
CreateCapacityReservationRequest & WithStartDate(StartDateT &&value)
EndDateType GetEndDateType() const
void SetEphemeralStorage(bool value)
bool DeliveryPreferenceHasBeenSet() const
void SetCommitmentDuration(long long value)
CreateCapacityReservationRequest & WithEndDateType(EndDateType value)
CreateCapacityReservationRequest & AddTagSpecifications(TagSpecificationsT &&value)
AWS_EC2_API Aws::String SerializePayload() const override
long long GetCommitmentDuration() const
bool AvailabilityZoneHasBeenSet() const
void SetInstanceCount(int value)
void SetStartDate(StartDateT &&value)
void SetAvailabilityZoneId(AvailabilityZoneIdT &&value)
const Aws::String & GetOutpostArn() const
const Aws::String & GetAvailabilityZone() const
void SetPlacementGroupArn(PlacementGroupArnT &&value)
const Aws::Utils::DateTime & GetStartDate() const
CreateCapacityReservationRequest & WithTenancy(CapacityReservationTenancy value)
int GetInstanceCount() const
const Aws::String & GetPlacementGroupArn() const
bool EbsOptimizedHasBeenSet() const
void SetInstanceType(InstanceTypeT &&value)
CreateCapacityReservationRequest & WithEphemeralStorage(bool value)
void SetTenancy(CapacityReservationTenancy value)
bool DryRunHasBeenSet() const
CapacityReservationInstancePlatform GetInstancePlatform() const
CreateCapacityReservationRequest & WithEbsOptimized(bool value)
CreateCapacityReservationRequest & WithPlacementGroupArn(PlacementGroupArnT &&value)
bool TenancyHasBeenSet() const
bool EphemeralStorageHasBeenSet() const
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetClientToken(ClientTokenT &&value)
CreateCapacityReservationRequest & WithClientToken(ClientTokenT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
CreateCapacityReservationRequest & WithCommitmentDuration(long long value)
bool GetEphemeralStorage() const
bool ClientTokenHasBeenSet() const
bool InstancePlatformHasBeenSet() const
void SetDryRun(bool value)
InstanceMatchCriteria GetInstanceMatchCriteria() const
CapacityReservationDeliveryPreference GetDeliveryPreference() const
bool StartDateHasBeenSet() const
void SetEbsOptimized(bool value)
const Aws::String & GetAvailabilityZoneId() const
CapacityReservationTenancy GetTenancy() const
CreateCapacityReservationRequest & WithInstancePlatform(CapacityReservationInstancePlatform value)
bool InstanceMatchCriteriaHasBeenSet() const
bool EndDateHasBeenSet() const
void SetInstancePlatform(CapacityReservationInstancePlatform value)
CreateCapacityReservationRequest & WithEndDate(EndDateT &&value)
bool InstanceCountHasBeenSet() const
virtual const char * GetServiceRequestName() const override
void SetEndDate(EndDateT &&value)
AWS_EC2_API CreateCapacityReservationRequest()=default
CreateCapacityReservationRequest & WithDeliveryPreference(CapacityReservationDeliveryPreference value)
const Aws::String & GetClientToken() const
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
void SetDeliveryPreference(CapacityReservationDeliveryPreference value)
bool TagSpecificationsHasBeenSet() const
bool EndDateTypeHasBeenSet() const
CreateCapacityReservationRequest & WithOutpostArn(OutpostArnT &&value)
bool GetEbsOptimized() const
CreateCapacityReservationRequest & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
bool CommitmentDurationHasBeenSet() const
const Aws::String & GetInstanceType() const
CreateCapacityReservationRequest & WithTagSpecifications(TagSpecificationsT &&value)
void SetEndDateType(EndDateType value)
CreateCapacityReservationRequest & WithDryRun(bool value)
CreateCapacityReservationRequest & WithAvailabilityZone(AvailabilityZoneT &&value)
CapacityReservationDeliveryPreference
CapacityReservationTenancy
CapacityReservationInstancePlatform
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector