AWS SDK for C++  0.12.9
AWS SDK for C++
SpotFleetRequestConfigData.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
16 #include <aws/ec2/EC2_EXPORTS.h>
25 
26 namespace Aws
27 {
28 namespace Utils
29 {
30 namespace Xml
31 {
32  class XmlNode;
33 } // namespace Xml
34 } // namespace Utils
35 namespace EC2
36 {
37 namespace Model
38 {
39 
44  {
45  public:
48  SpotFleetRequestConfigData& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
49 
50  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
51  void OutputToStream(Aws::OStream& oStream, const char* location) const;
52 
59  inline const Aws::String& GetClientToken() const{ return m_clientToken; }
60 
67  inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
68 
75  inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; }
76 
83  inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); }
84 
91  inline SpotFleetRequestConfigData& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;}
92 
99  inline SpotFleetRequestConfigData& WithClientToken(Aws::String&& value) { SetClientToken(value); return *this;}
100 
107  inline SpotFleetRequestConfigData& WithClientToken(const char* value) { SetClientToken(value); return *this;}
108 
112  inline const Aws::String& GetSpotPrice() const{ return m_spotPrice; }
113 
117  inline void SetSpotPrice(const Aws::String& value) { m_spotPriceHasBeenSet = true; m_spotPrice = value; }
118 
122  inline void SetSpotPrice(Aws::String&& value) { m_spotPriceHasBeenSet = true; m_spotPrice = value; }
123 
127  inline void SetSpotPrice(const char* value) { m_spotPriceHasBeenSet = true; m_spotPrice.assign(value); }
128 
132  inline SpotFleetRequestConfigData& WithSpotPrice(const Aws::String& value) { SetSpotPrice(value); return *this;}
133 
137  inline SpotFleetRequestConfigData& WithSpotPrice(Aws::String&& value) { SetSpotPrice(value); return *this;}
138 
142  inline SpotFleetRequestConfigData& WithSpotPrice(const char* value) { SetSpotPrice(value); return *this;}
143 
149  inline long GetTargetCapacity() const{ return m_targetCapacity; }
150 
156  inline void SetTargetCapacity(long value) { m_targetCapacityHasBeenSet = true; m_targetCapacity = value; }
157 
163  inline SpotFleetRequestConfigData& WithTargetCapacity(long value) { SetTargetCapacity(value); return *this;}
164 
170  inline const Aws::Utils::DateTime& GetValidFrom() const{ return m_validFrom; }
171 
177  inline void SetValidFrom(const Aws::Utils::DateTime& value) { m_validFromHasBeenSet = true; m_validFrom = value; }
178 
184  inline void SetValidFrom(Aws::Utils::DateTime&& value) { m_validFromHasBeenSet = true; m_validFrom = value; }
185 
191  inline SpotFleetRequestConfigData& WithValidFrom(const Aws::Utils::DateTime& value) { SetValidFrom(value); return *this;}
192 
198  inline SpotFleetRequestConfigData& WithValidFrom(Aws::Utils::DateTime&& value) { SetValidFrom(value); return *this;}
199 
205  inline const Aws::Utils::DateTime& GetValidUntil() const{ return m_validUntil; }
206 
212  inline void SetValidUntil(const Aws::Utils::DateTime& value) { m_validUntilHasBeenSet = true; m_validUntil = value; }
213 
219  inline void SetValidUntil(Aws::Utils::DateTime&& value) { m_validUntilHasBeenSet = true; m_validUntil = value; }
220 
226  inline SpotFleetRequestConfigData& WithValidUntil(const Aws::Utils::DateTime& value) { SetValidUntil(value); return *this;}
227 
233  inline SpotFleetRequestConfigData& WithValidUntil(Aws::Utils::DateTime&& value) { SetValidUntil(value); return *this;}
234 
239  inline bool GetTerminateInstancesWithExpiration() const{ return m_terminateInstancesWithExpiration; }
240 
245  inline void SetTerminateInstancesWithExpiration(bool value) { m_terminateInstancesWithExpirationHasBeenSet = true; m_terminateInstancesWithExpiration = value; }
246 
251  inline SpotFleetRequestConfigData& WithTerminateInstancesWithExpiration(bool value) { SetTerminateInstancesWithExpiration(value); return *this;}
252 
259  inline const Aws::String& GetIamFleetRole() const{ return m_iamFleetRole; }
260 
267  inline void SetIamFleetRole(const Aws::String& value) { m_iamFleetRoleHasBeenSet = true; m_iamFleetRole = value; }
268 
275  inline void SetIamFleetRole(Aws::String&& value) { m_iamFleetRoleHasBeenSet = true; m_iamFleetRole = value; }
276 
283  inline void SetIamFleetRole(const char* value) { m_iamFleetRoleHasBeenSet = true; m_iamFleetRole.assign(value); }
284 
291  inline SpotFleetRequestConfigData& WithIamFleetRole(const Aws::String& value) { SetIamFleetRole(value); return *this;}
292 
299  inline SpotFleetRequestConfigData& WithIamFleetRole(Aws::String&& value) { SetIamFleetRole(value); return *this;}
300 
307  inline SpotFleetRequestConfigData& WithIamFleetRole(const char* value) { SetIamFleetRole(value); return *this;}
308 
312  inline const Aws::Vector<SpotFleetLaunchSpecification>& GetLaunchSpecifications() const{ return m_launchSpecifications; }
313 
317  inline void SetLaunchSpecifications(const Aws::Vector<SpotFleetLaunchSpecification>& value) { m_launchSpecificationsHasBeenSet = true; m_launchSpecifications = value; }
318 
322  inline void SetLaunchSpecifications(Aws::Vector<SpotFleetLaunchSpecification>&& value) { m_launchSpecificationsHasBeenSet = true; m_launchSpecifications = value; }
323 
327  inline SpotFleetRequestConfigData& WithLaunchSpecifications(const Aws::Vector<SpotFleetLaunchSpecification>& value) { SetLaunchSpecifications(value); return *this;}
328 
332  inline SpotFleetRequestConfigData& WithLaunchSpecifications(Aws::Vector<SpotFleetLaunchSpecification>&& value) { SetLaunchSpecifications(value); return *this;}
333 
337  inline SpotFleetRequestConfigData& AddLaunchSpecifications(const SpotFleetLaunchSpecification& value) { m_launchSpecificationsHasBeenSet = true; m_launchSpecifications.push_back(value); return *this; }
338 
342  inline SpotFleetRequestConfigData& AddLaunchSpecifications(SpotFleetLaunchSpecification&& value) { m_launchSpecificationsHasBeenSet = true; m_launchSpecifications.push_back(value); return *this; }
343 
349  inline const ExcessCapacityTerminationPolicy& GetExcessCapacityTerminationPolicy() const{ return m_excessCapacityTerminationPolicy; }
350 
356  inline void SetExcessCapacityTerminationPolicy(const ExcessCapacityTerminationPolicy& value) { m_excessCapacityTerminationPolicyHasBeenSet = true; m_excessCapacityTerminationPolicy = value; }
357 
363  inline void SetExcessCapacityTerminationPolicy(ExcessCapacityTerminationPolicy&& value) { m_excessCapacityTerminationPolicyHasBeenSet = true; m_excessCapacityTerminationPolicy = value; }
364 
370  inline SpotFleetRequestConfigData& WithExcessCapacityTerminationPolicy(const ExcessCapacityTerminationPolicy& value) { SetExcessCapacityTerminationPolicy(value); return *this;}
371 
377  inline SpotFleetRequestConfigData& WithExcessCapacityTerminationPolicy(ExcessCapacityTerminationPolicy&& value) { SetExcessCapacityTerminationPolicy(value); return *this;}
378 
383  inline const AllocationStrategy& GetAllocationStrategy() const{ return m_allocationStrategy; }
384 
389  inline void SetAllocationStrategy(const AllocationStrategy& value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = value; }
390 
395  inline void SetAllocationStrategy(AllocationStrategy&& value) { m_allocationStrategyHasBeenSet = true; m_allocationStrategy = value; }
396 
401  inline SpotFleetRequestConfigData& WithAllocationStrategy(const AllocationStrategy& value) { SetAllocationStrategy(value); return *this;}
402 
407  inline SpotFleetRequestConfigData& WithAllocationStrategy(AllocationStrategy&& value) { SetAllocationStrategy(value); return *this;}
408 
413  inline double GetFulfilledCapacity() const{ return m_fulfilledCapacity; }
414 
419  inline void SetFulfilledCapacity(double value) { m_fulfilledCapacityHasBeenSet = true; m_fulfilledCapacity = value; }
420 
425  inline SpotFleetRequestConfigData& WithFulfilledCapacity(double value) { SetFulfilledCapacity(value); return *this;}
426 
438  inline const FleetType& GetType() const{ return m_type; }
439 
451  inline void SetType(const FleetType& value) { m_typeHasBeenSet = true; m_type = value; }
452 
464  inline void SetType(FleetType&& value) { m_typeHasBeenSet = true; m_type = value; }
465 
477  inline SpotFleetRequestConfigData& WithType(const FleetType& value) { SetType(value); return *this;}
478 
490  inline SpotFleetRequestConfigData& WithType(FleetType&& value) { SetType(value); return *this;}
491 
492  private:
493  Aws::String m_clientToken;
494  bool m_clientTokenHasBeenSet;
495  Aws::String m_spotPrice;
496  bool m_spotPriceHasBeenSet;
497  long m_targetCapacity;
498  bool m_targetCapacityHasBeenSet;
499  Aws::Utils::DateTime m_validFrom;
500  bool m_validFromHasBeenSet;
501  Aws::Utils::DateTime m_validUntil;
502  bool m_validUntilHasBeenSet;
503  bool m_terminateInstancesWithExpiration;
504  bool m_terminateInstancesWithExpirationHasBeenSet;
505  Aws::String m_iamFleetRole;
506  bool m_iamFleetRoleHasBeenSet;
507  Aws::Vector<SpotFleetLaunchSpecification> m_launchSpecifications;
508  bool m_launchSpecificationsHasBeenSet;
509  ExcessCapacityTerminationPolicy m_excessCapacityTerminationPolicy;
510  bool m_excessCapacityTerminationPolicyHasBeenSet;
511  AllocationStrategy m_allocationStrategy;
512  bool m_allocationStrategyHasBeenSet;
513  double m_fulfilledCapacity;
514  bool m_fulfilledCapacityHasBeenSet;
515  FleetType m_type;
516  bool m_typeHasBeenSet;
517  };
518 
519 } // namespace Model
520 } // namespace EC2
521 } // namespace Aws
SpotFleetRequestConfigData & WithIamFleetRole(const char *value)
SpotFleetRequestConfigData & WithValidFrom(Aws::Utils::DateTime &&value)
const Aws::Utils::DateTime & GetValidUntil() const
void SetLaunchSpecifications(const Aws::Vector< SpotFleetLaunchSpecification > &value)
SpotFleetRequestConfigData & WithFulfilledCapacity(double value)
SpotFleetRequestConfigData & WithValidUntil(Aws::Utils::DateTime &&value)
SpotFleetRequestConfigData & WithLaunchSpecifications(Aws::Vector< SpotFleetLaunchSpecification > &&value)
SpotFleetRequestConfigData & WithSpotPrice(const Aws::String &value)
const Aws::Vector< SpotFleetLaunchSpecification > & GetLaunchSpecifications() const
void SetValidUntil(const Aws::Utils::DateTime &value)
SpotFleetRequestConfigData & WithType(FleetType &&value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetExcessCapacityTerminationPolicy(ExcessCapacityTerminationPolicy &&value)
SpotFleetRequestConfigData & WithIamFleetRole(Aws::String &&value)
SpotFleetRequestConfigData & WithClientToken(const Aws::String &value)
SpotFleetRequestConfigData & WithLaunchSpecifications(const Aws::Vector< SpotFleetLaunchSpecification > &value)
SpotFleetRequestConfigData & WithAllocationStrategy(const AllocationStrategy &value)
void SetValidFrom(const Aws::Utils::DateTime &value)
void SetAllocationStrategy(AllocationStrategy &&value)
SpotFleetRequestConfigData & WithClientToken(const char *value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
const ExcessCapacityTerminationPolicy & GetExcessCapacityTerminationPolicy() const
SpotFleetRequestConfigData & WithClientToken(Aws::String &&value)
void SetValidUntil(Aws::Utils::DateTime &&value)
void SetLaunchSpecifications(Aws::Vector< SpotFleetLaunchSpecification > &&value)
SpotFleetRequestConfigData & WithSpotPrice(const char *value)
SpotFleetRequestConfigData & WithTerminateInstancesWithExpiration(bool value)
SpotFleetRequestConfigData & WithType(const FleetType &value)
SpotFleetRequestConfigData & WithValidFrom(const Aws::Utils::DateTime &value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
SpotFleetRequestConfigData & WithTargetCapacity(long value)
SpotFleetRequestConfigData & WithIamFleetRole(const Aws::String &value)
void SetAllocationStrategy(const AllocationStrategy &value)
SpotFleetRequestConfigData & WithAllocationStrategy(AllocationStrategy &&value)
SpotFleetRequestConfigData & WithSpotPrice(Aws::String &&value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:34
void SetExcessCapacityTerminationPolicy(const ExcessCapacityTerminationPolicy &value)
SpotFleetRequestConfigData & WithValidUntil(const Aws::Utils::DateTime &value)
const Aws::Utils::DateTime & GetValidFrom() const
SpotFleetRequestConfigData & AddLaunchSpecifications(const SpotFleetLaunchSpecification &value)
SpotFleetRequestConfigData & WithExcessCapacityTerminationPolicy(const ExcessCapacityTerminationPolicy &value)
JSON (JavaScript Object Notation).
SpotFleetRequestConfigData & AddLaunchSpecifications(SpotFleetLaunchSpecification &&value)
SpotFleetRequestConfigData & WithExcessCapacityTerminationPolicy(ExcessCapacityTerminationPolicy &&value)
const AllocationStrategy & GetAllocationStrategy() const