AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateFleetRequest.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/UUID.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/ec2/EC2Request.h>
12#include <aws/ec2/EC2_EXPORTS.h>
13#include <aws/ec2/model/FleetExcessCapacityTerminationPolicy.h>
14#include <aws/ec2/model/FleetLaunchTemplateConfigRequest.h>
15#include <aws/ec2/model/FleetType.h>
16#include <aws/ec2/model/OnDemandOptionsRequest.h>
17#include <aws/ec2/model/SpotOptionsRequest.h>
18#include <aws/ec2/model/TagSpecification.h>
19#include <aws/ec2/model/TargetCapacitySpecificationRequest.h>
20
21#include <utility>
22
23namespace Aws {
24namespace EC2 {
25namespace Model {
26
30 public:
31 AWS_EC2_API CreateFleetRequest() = default;
32
33 // Service request name is the Operation name which will send this request out,
34 // each operation should has unique request name, so that we can get operation's name from this request.
35 // Note: this is not true for response, multiple operations may have the same response name,
36 // so we can not get operation's name from response.
37 inline virtual const char* GetServiceRequestName() const override { return "CreateFleet"; }
38
39 AWS_EC2_API Aws::String SerializePayload() const override;
40
41 protected:
42 AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI& uri) const override;
43
44 public:
46
52 inline bool GetDryRun() const { return m_dryRun; }
53 inline bool DryRunHasBeenSet() const { return m_dryRunHasBeenSet; }
54 inline void SetDryRun(bool value) {
55 m_dryRunHasBeenSet = true;
56 m_dryRun = value;
57 }
58 inline CreateFleetRequest& WithDryRun(bool value) {
59 SetDryRun(value);
60 return *this;
61 }
63
65
73 inline const Aws::String& GetClientToken() const { return m_clientToken; }
74 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
75 template <typename ClientTokenT = Aws::String>
76 void SetClientToken(ClientTokenT&& value) {
77 m_clientTokenHasBeenSet = true;
78 m_clientToken = std::forward<ClientTokenT>(value);
79 }
80 template <typename ClientTokenT = Aws::String>
81 CreateFleetRequest& WithClientToken(ClientTokenT&& value) {
82 SetClientToken(std::forward<ClientTokenT>(value));
83 return *this;
84 }
86
88
91 inline const SpotOptionsRequest& GetSpotOptions() const { return m_spotOptions; }
92 inline bool SpotOptionsHasBeenSet() const { return m_spotOptionsHasBeenSet; }
93 template <typename SpotOptionsT = SpotOptionsRequest>
94 void SetSpotOptions(SpotOptionsT&& value) {
95 m_spotOptionsHasBeenSet = true;
96 m_spotOptions = std::forward<SpotOptionsT>(value);
97 }
98 template <typename SpotOptionsT = SpotOptionsRequest>
99 CreateFleetRequest& WithSpotOptions(SpotOptionsT&& value) {
100 SetSpotOptions(std::forward<SpotOptionsT>(value));
101 return *this;
102 }
104
106
109 inline const OnDemandOptionsRequest& GetOnDemandOptions() const { return m_onDemandOptions; }
110 inline bool OnDemandOptionsHasBeenSet() const { return m_onDemandOptionsHasBeenSet; }
111 template <typename OnDemandOptionsT = OnDemandOptionsRequest>
112 void SetOnDemandOptions(OnDemandOptionsT&& value) {
113 m_onDemandOptionsHasBeenSet = true;
114 m_onDemandOptions = std::forward<OnDemandOptionsT>(value);
115 }
116 template <typename OnDemandOptionsT = OnDemandOptionsRequest>
117 CreateFleetRequest& WithOnDemandOptions(OnDemandOptionsT&& value) {
118 SetOnDemandOptions(std::forward<OnDemandOptionsT>(value));
119 return *this;
120 }
122
124
129 inline FleetExcessCapacityTerminationPolicy GetExcessCapacityTerminationPolicy() const { return m_excessCapacityTerminationPolicy; }
130 inline bool ExcessCapacityTerminationPolicyHasBeenSet() const { return m_excessCapacityTerminationPolicyHasBeenSet; }
132 m_excessCapacityTerminationPolicyHasBeenSet = true;
133 m_excessCapacityTerminationPolicy = value;
134 }
137 return *this;
138 }
140
142
145 inline const Aws::Vector<FleetLaunchTemplateConfigRequest>& GetLaunchTemplateConfigs() const { return m_launchTemplateConfigs; }
146 inline bool LaunchTemplateConfigsHasBeenSet() const { return m_launchTemplateConfigsHasBeenSet; }
147 template <typename LaunchTemplateConfigsT = Aws::Vector<FleetLaunchTemplateConfigRequest>>
148 void SetLaunchTemplateConfigs(LaunchTemplateConfigsT&& value) {
149 m_launchTemplateConfigsHasBeenSet = true;
150 m_launchTemplateConfigs = std::forward<LaunchTemplateConfigsT>(value);
151 }
152 template <typename LaunchTemplateConfigsT = Aws::Vector<FleetLaunchTemplateConfigRequest>>
153 CreateFleetRequest& WithLaunchTemplateConfigs(LaunchTemplateConfigsT&& value) {
154 SetLaunchTemplateConfigs(std::forward<LaunchTemplateConfigsT>(value));
155 return *this;
156 }
157 template <typename LaunchTemplateConfigsT = FleetLaunchTemplateConfigRequest>
158 CreateFleetRequest& AddLaunchTemplateConfigs(LaunchTemplateConfigsT&& value) {
159 m_launchTemplateConfigsHasBeenSet = true;
160 m_launchTemplateConfigs.emplace_back(std::forward<LaunchTemplateConfigsT>(value));
161 return *this;
162 }
164
166
169 inline const TargetCapacitySpecificationRequest& GetTargetCapacitySpecification() const { return m_targetCapacitySpecification; }
170 inline bool TargetCapacitySpecificationHasBeenSet() const { return m_targetCapacitySpecificationHasBeenSet; }
171 template <typename TargetCapacitySpecificationT = TargetCapacitySpecificationRequest>
172 void SetTargetCapacitySpecification(TargetCapacitySpecificationT&& value) {
173 m_targetCapacitySpecificationHasBeenSet = true;
174 m_targetCapacitySpecification = std::forward<TargetCapacitySpecificationT>(value);
175 }
176 template <typename TargetCapacitySpecificationT = TargetCapacitySpecificationRequest>
177 CreateFleetRequest& WithTargetCapacitySpecification(TargetCapacitySpecificationT&& value) {
178 SetTargetCapacitySpecification(std::forward<TargetCapacitySpecificationT>(value));
179 return *this;
180 }
182
184
188 inline bool GetTerminateInstancesWithExpiration() const { return m_terminateInstancesWithExpiration; }
189 inline bool TerminateInstancesWithExpirationHasBeenSet() const { return m_terminateInstancesWithExpirationHasBeenSet; }
190 inline void SetTerminateInstancesWithExpiration(bool value) {
191 m_terminateInstancesWithExpirationHasBeenSet = true;
192 m_terminateInstancesWithExpiration = value;
193 }
196 return *this;
197 }
199
201
216 inline FleetType GetType() const { return m_type; }
217 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
218 inline void SetType(FleetType value) {
219 m_typeHasBeenSet = true;
220 m_type = value;
221 }
223 SetType(value);
224 return *this;
225 }
227
229
234 inline const Aws::Utils::DateTime& GetValidFrom() const { return m_validFrom; }
235 inline bool ValidFromHasBeenSet() const { return m_validFromHasBeenSet; }
236 template <typename ValidFromT = Aws::Utils::DateTime>
237 void SetValidFrom(ValidFromT&& value) {
238 m_validFromHasBeenSet = true;
239 m_validFrom = std::forward<ValidFromT>(value);
240 }
241 template <typename ValidFromT = Aws::Utils::DateTime>
242 CreateFleetRequest& WithValidFrom(ValidFromT&& value) {
243 SetValidFrom(std::forward<ValidFromT>(value));
244 return *this;
245 }
247
249
255 inline const Aws::Utils::DateTime& GetValidUntil() const { return m_validUntil; }
256 inline bool ValidUntilHasBeenSet() const { return m_validUntilHasBeenSet; }
257 template <typename ValidUntilT = Aws::Utils::DateTime>
258 void SetValidUntil(ValidUntilT&& value) {
259 m_validUntilHasBeenSet = true;
260 m_validUntil = std::forward<ValidUntilT>(value);
261 }
262 template <typename ValidUntilT = Aws::Utils::DateTime>
263 CreateFleetRequest& WithValidUntil(ValidUntilT&& value) {
264 SetValidUntil(std::forward<ValidUntilT>(value));
265 return *this;
266 }
268
270
277 inline bool GetReplaceUnhealthyInstances() const { return m_replaceUnhealthyInstances; }
278 inline bool ReplaceUnhealthyInstancesHasBeenSet() const { return m_replaceUnhealthyInstancesHasBeenSet; }
279 inline void SetReplaceUnhealthyInstances(bool value) {
280 m_replaceUnhealthyInstancesHasBeenSet = true;
281 m_replaceUnhealthyInstances = value;
282 }
285 return *this;
286 }
288
290
303 inline const Aws::Vector<TagSpecification>& GetTagSpecifications() const { return m_tagSpecifications; }
304 inline bool TagSpecificationsHasBeenSet() const { return m_tagSpecificationsHasBeenSet; }
305 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
306 void SetTagSpecifications(TagSpecificationsT&& value) {
307 m_tagSpecificationsHasBeenSet = true;
308 m_tagSpecifications = std::forward<TagSpecificationsT>(value);
309 }
310 template <typename TagSpecificationsT = Aws::Vector<TagSpecification>>
311 CreateFleetRequest& WithTagSpecifications(TagSpecificationsT&& value) {
312 SetTagSpecifications(std::forward<TagSpecificationsT>(value));
313 return *this;
314 }
315 template <typename TagSpecificationsT = TagSpecification>
316 CreateFleetRequest& AddTagSpecifications(TagSpecificationsT&& value) {
317 m_tagSpecificationsHasBeenSet = true;
318 m_tagSpecifications.emplace_back(std::forward<TagSpecificationsT>(value));
319 return *this;
320 }
322
324
327 inline const Aws::String& GetContext() const { return m_context; }
328 inline bool ContextHasBeenSet() const { return m_contextHasBeenSet; }
329 template <typename ContextT = Aws::String>
330 void SetContext(ContextT&& value) {
331 m_contextHasBeenSet = true;
332 m_context = std::forward<ContextT>(value);
333 }
334 template <typename ContextT = Aws::String>
335 CreateFleetRequest& WithContext(ContextT&& value) {
336 SetContext(std::forward<ContextT>(value));
337 return *this;
338 }
340 private:
341 bool m_dryRun{false};
342
344
345 SpotOptionsRequest m_spotOptions;
346
347 OnDemandOptionsRequest m_onDemandOptions;
348
350
351 Aws::Vector<FleetLaunchTemplateConfigRequest> m_launchTemplateConfigs;
352
353 TargetCapacitySpecificationRequest m_targetCapacitySpecification;
354
355 bool m_terminateInstancesWithExpiration{false};
356
358
359 Aws::Utils::DateTime m_validFrom{};
360
361 Aws::Utils::DateTime m_validUntil{};
362
363 bool m_replaceUnhealthyInstances{false};
364
365 Aws::Vector<TagSpecification> m_tagSpecifications;
366
367 Aws::String m_context;
368 bool m_dryRunHasBeenSet = false;
369 bool m_clientTokenHasBeenSet = true;
370 bool m_spotOptionsHasBeenSet = false;
371 bool m_onDemandOptionsHasBeenSet = false;
372 bool m_excessCapacityTerminationPolicyHasBeenSet = false;
373 bool m_launchTemplateConfigsHasBeenSet = false;
374 bool m_targetCapacitySpecificationHasBeenSet = false;
375 bool m_terminateInstancesWithExpirationHasBeenSet = false;
376 bool m_typeHasBeenSet = false;
377 bool m_validFromHasBeenSet = false;
378 bool m_validUntilHasBeenSet = false;
379 bool m_replaceUnhealthyInstancesHasBeenSet = false;
380 bool m_tagSpecificationsHasBeenSet = false;
381 bool m_contextHasBeenSet = false;
382};
383
384} // namespace Model
385} // namespace EC2
386} // namespace Aws
const Aws::Utils::DateTime & GetValidFrom() const
const Aws::String & GetContext() const
void SetOnDemandOptions(OnDemandOptionsT &&value)
CreateFleetRequest & AddLaunchTemplateConfigs(LaunchTemplateConfigsT &&value)
CreateFleetRequest & WithTagSpecifications(TagSpecificationsT &&value)
void SetValidUntil(ValidUntilT &&value)
const Aws::String & GetClientToken() const
void SetTargetCapacitySpecification(TargetCapacitySpecificationT &&value)
virtual const char * GetServiceRequestName() const override
CreateFleetRequest & WithClientToken(ClientTokenT &&value)
void SetLaunchTemplateConfigs(LaunchTemplateConfigsT &&value)
void SetTagSpecifications(TagSpecificationsT &&value)
CreateFleetRequest & WithExcessCapacityTerminationPolicy(FleetExcessCapacityTerminationPolicy value)
CreateFleetRequest & WithLaunchTemplateConfigs(LaunchTemplateConfigsT &&value)
CreateFleetRequest & WithSpotOptions(SpotOptionsT &&value)
const Aws::Vector< FleetLaunchTemplateConfigRequest > & GetLaunchTemplateConfigs() const
void SetExcessCapacityTerminationPolicy(FleetExcessCapacityTerminationPolicy value)
const TargetCapacitySpecificationRequest & GetTargetCapacitySpecification() const
AWS_EC2_API void DumpBodyToUrl(Aws::Http::URI &uri) const override
CreateFleetRequest & AddTagSpecifications(TagSpecificationsT &&value)
CreateFleetRequest & WithOnDemandOptions(OnDemandOptionsT &&value)
CreateFleetRequest & WithValidFrom(ValidFromT &&value)
void SetClientToken(ClientTokenT &&value)
CreateFleetRequest & WithDryRun(bool value)
void SetSpotOptions(SpotOptionsT &&value)
const SpotOptionsRequest & GetSpotOptions() const
FleetExcessCapacityTerminationPolicy GetExcessCapacityTerminationPolicy() const
CreateFleetRequest & WithReplaceUnhealthyInstances(bool value)
CreateFleetRequest & WithType(FleetType value)
AWS_EC2_API Aws::String SerializePayload() const override
CreateFleetRequest & WithTargetCapacitySpecification(TargetCapacitySpecificationT &&value)
const Aws::Vector< TagSpecification > & GetTagSpecifications() const
AWS_EC2_API CreateFleetRequest()=default
const Aws::Utils::DateTime & GetValidUntil() const
CreateFleetRequest & WithTerminateInstancesWithExpiration(bool value)
CreateFleetRequest & WithValidUntil(ValidUntilT &&value)
const OnDemandOptionsRequest & GetOnDemandOptions() const
CreateFleetRequest & WithContext(ContextT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector