7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/ec2/EC2Request.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/core/utils/DateTime.h>
13#include <aws/ec2/model/EndDateType.h>
14#include <aws/ec2/model/InstanceMatchCriteria.h>
15#include <aws/core/utils/memory/stl/AWSVector.h>
16#include <aws/ec2/model/CapacityReservationDeliveryPreference.h>
17#include <aws/ec2/model/TagSpecification.h>
56 template<
typename ClientTokenT = Aws::String>
57 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
58 template<
typename ClientTokenT = Aws::String>
72 template<
typename InstanceTypeT = Aws::String>
73 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet =
true; m_instanceType = std::forward<InstanceTypeT>(value); }
74 template<
typename InstanceTypeT = Aws::String>
94 template<
typename AvailabilityZoneT = Aws::String>
95 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet =
true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
96 template<
typename AvailabilityZoneT = Aws::String>
107 template<
typename AvailabilityZoneIdT = Aws::String>
108 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) { m_availabilityZoneIdHasBeenSet =
true; m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value); }
109 template<
typename AvailabilityZoneIdT = Aws::String>
139 inline void SetInstanceCount(
int value) { m_instanceCountHasBeenSet =
true; m_instanceCount = value; }
153 inline void SetEbsOptimized(
bool value) { m_ebsOptimizedHasBeenSet =
true; m_ebsOptimized = value; }
163 inline void SetEphemeralStorage(
bool value) { m_ephemeralStorageHasBeenSet =
true; m_ephemeralStorage = value; }
184 template<
typename EndDateT = Aws::Utils::DateTime>
185 void SetEndDate(EndDateT&& value) { m_endDateHasBeenSet =
true; m_endDate = std::forward<EndDateT>(value); }
186 template<
typename EndDateT = Aws::Utils::DateTime>
234 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
235 void SetTagSpecifications(TagSpecificationsT&& value) { m_tagSpecificationsHasBeenSet =
true; m_tagSpecifications = std::forward<TagSpecificationsT>(value); }
236 template<
typename TagSpecificationsT = Aws::Vector<TagSpecification>>
238 template<
typename TagSpecificationsT = TagSpecification>
251 inline void SetDryRun(
bool value) { m_dryRunHasBeenSet =
true; m_dryRun = value; }
263 template<
typename OutpostArnT = Aws::String>
264 void SetOutpostArn(OutpostArnT&& value) { m_outpostArnHasBeenSet =
true; m_outpostArn = std::forward<OutpostArnT>(value); }
265 template<
typename OutpostArnT = Aws::String>
280 template<
typename PlacementGroupArnT = Aws::String>
281 void SetPlacementGroupArn(PlacementGroupArnT&& value) { m_placementGroupArnHasBeenSet =
true; m_placementGroupArn = std::forward<PlacementGroupArnT>(value); }
282 template<
typename PlacementGroupArnT = Aws::String>
297 template<
typename StartDateT = Aws::Utils::DateTime>
298 void SetStartDate(StartDateT&& value) { m_startDateHasBeenSet =
true; m_startDate = std::forward<StartDateT>(value); }
299 template<
typename StartDateT = Aws::Utils::DateTime>
317 inline void SetCommitmentDuration(
long long value) { m_commitmentDurationHasBeenSet =
true; m_commitmentDuration = value; }
338 bool m_clientTokenHasBeenSet =
false;
341 bool m_instanceTypeHasBeenSet =
false;
344 bool m_instancePlatformHasBeenSet =
false;
347 bool m_availabilityZoneHasBeenSet =
false;
350 bool m_availabilityZoneIdHasBeenSet =
false;
353 bool m_tenancyHasBeenSet =
false;
355 int m_instanceCount{0};
356 bool m_instanceCountHasBeenSet =
false;
358 bool m_ebsOptimized{
false};
359 bool m_ebsOptimizedHasBeenSet =
false;
361 bool m_ephemeralStorage{
false};
362 bool m_ephemeralStorageHasBeenSet =
false;
365 bool m_endDateHasBeenSet =
false;
368 bool m_endDateTypeHasBeenSet =
false;
371 bool m_instanceMatchCriteriaHasBeenSet =
false;
374 bool m_tagSpecificationsHasBeenSet =
false;
376 bool m_dryRun{
false};
377 bool m_dryRunHasBeenSet =
false;
380 bool m_outpostArnHasBeenSet =
false;
383 bool m_placementGroupArnHasBeenSet =
false;
386 bool m_startDateHasBeenSet =
false;
388 long long m_commitmentDuration{0};
389 bool m_commitmentDurationHasBeenSet =
false;
392 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