AWS SDK for C++  0.12.9
AWS SDK for C++
SpotInstanceRequest.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>
27 #include <aws/ec2/model/Tag.h>
28 
29 namespace Aws
30 {
31 namespace Utils
32 {
33 namespace Xml
34 {
35  class XmlNode;
36 } // namespace Xml
37 } // namespace Utils
38 namespace EC2
39 {
40 namespace Model
41 {
42 
47  {
48  public:
51  SpotInstanceRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
52 
53  void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
54  void OutputToStream(Aws::OStream& oStream, const char* location) const;
55 
59  inline const Aws::String& GetSpotInstanceRequestId() const{ return m_spotInstanceRequestId; }
60 
64  inline void SetSpotInstanceRequestId(const Aws::String& value) { m_spotInstanceRequestIdHasBeenSet = true; m_spotInstanceRequestId = value; }
65 
69  inline void SetSpotInstanceRequestId(Aws::String&& value) { m_spotInstanceRequestIdHasBeenSet = true; m_spotInstanceRequestId = value; }
70 
74  inline void SetSpotInstanceRequestId(const char* value) { m_spotInstanceRequestIdHasBeenSet = true; m_spotInstanceRequestId.assign(value); }
75 
79  inline SpotInstanceRequest& WithSpotInstanceRequestId(const Aws::String& value) { SetSpotInstanceRequestId(value); return *this;}
80 
84  inline SpotInstanceRequest& WithSpotInstanceRequestId(Aws::String&& value) { SetSpotInstanceRequestId(value); return *this;}
85 
89  inline SpotInstanceRequest& WithSpotInstanceRequestId(const char* value) { SetSpotInstanceRequestId(value); return *this;}
90 
95  inline const Aws::String& GetSpotPrice() const{ return m_spotPrice; }
96 
101  inline void SetSpotPrice(const Aws::String& value) { m_spotPriceHasBeenSet = true; m_spotPrice = value; }
102 
107  inline void SetSpotPrice(Aws::String&& value) { m_spotPriceHasBeenSet = true; m_spotPrice = value; }
108 
113  inline void SetSpotPrice(const char* value) { m_spotPriceHasBeenSet = true; m_spotPrice.assign(value); }
114 
119  inline SpotInstanceRequest& WithSpotPrice(const Aws::String& value) { SetSpotPrice(value); return *this;}
120 
125  inline SpotInstanceRequest& WithSpotPrice(Aws::String&& value) { SetSpotPrice(value); return *this;}
126 
131  inline SpotInstanceRequest& WithSpotPrice(const char* value) { SetSpotPrice(value); return *this;}
132 
136  inline const SpotInstanceType& GetType() const{ return m_type; }
137 
141  inline void SetType(const SpotInstanceType& value) { m_typeHasBeenSet = true; m_type = value; }
142 
146  inline void SetType(SpotInstanceType&& value) { m_typeHasBeenSet = true; m_type = value; }
147 
151  inline SpotInstanceRequest& WithType(const SpotInstanceType& value) { SetType(value); return *this;}
152 
156  inline SpotInstanceRequest& WithType(SpotInstanceType&& value) { SetType(value); return *this;}
157 
164  inline const SpotInstanceState& GetState() const{ return m_state; }
165 
172  inline void SetState(const SpotInstanceState& value) { m_stateHasBeenSet = true; m_state = value; }
173 
180  inline void SetState(SpotInstanceState&& value) { m_stateHasBeenSet = true; m_state = value; }
181 
188  inline SpotInstanceRequest& WithState(const SpotInstanceState& value) { SetState(value); return *this;}
189 
196  inline SpotInstanceRequest& WithState(SpotInstanceState&& value) { SetState(value); return *this;}
197 
201  inline const SpotInstanceStateFault& GetFault() const{ return m_fault; }
202 
206  inline void SetFault(const SpotInstanceStateFault& value) { m_faultHasBeenSet = true; m_fault = value; }
207 
211  inline void SetFault(SpotInstanceStateFault&& value) { m_faultHasBeenSet = true; m_fault = value; }
212 
216  inline SpotInstanceRequest& WithFault(const SpotInstanceStateFault& value) { SetFault(value); return *this;}
217 
221  inline SpotInstanceRequest& WithFault(SpotInstanceStateFault&& value) { SetFault(value); return *this;}
222 
226  inline const SpotInstanceStatus& GetStatus() const{ return m_status; }
227 
231  inline void SetStatus(const SpotInstanceStatus& value) { m_statusHasBeenSet = true; m_status = value; }
232 
236  inline void SetStatus(SpotInstanceStatus&& value) { m_statusHasBeenSet = true; m_status = value; }
237 
241  inline SpotInstanceRequest& WithStatus(const SpotInstanceStatus& value) { SetStatus(value); return *this;}
242 
246  inline SpotInstanceRequest& WithStatus(SpotInstanceStatus&& value) { SetStatus(value); return *this;}
247 
253  inline const Aws::Utils::DateTime& GetValidFrom() const{ return m_validFrom; }
254 
260  inline void SetValidFrom(const Aws::Utils::DateTime& value) { m_validFromHasBeenSet = true; m_validFrom = value; }
261 
267  inline void SetValidFrom(Aws::Utils::DateTime&& value) { m_validFromHasBeenSet = true; m_validFrom = value; }
268 
274  inline SpotInstanceRequest& WithValidFrom(const Aws::Utils::DateTime& value) { SetValidFrom(value); return *this;}
275 
281  inline SpotInstanceRequest& WithValidFrom(Aws::Utils::DateTime&& value) { SetValidFrom(value); return *this;}
282 
290  inline const Aws::Utils::DateTime& GetValidUntil() const{ return m_validUntil; }
291 
299  inline void SetValidUntil(const Aws::Utils::DateTime& value) { m_validUntilHasBeenSet = true; m_validUntil = value; }
300 
308  inline void SetValidUntil(Aws::Utils::DateTime&& value) { m_validUntilHasBeenSet = true; m_validUntil = value; }
309 
317  inline SpotInstanceRequest& WithValidUntil(const Aws::Utils::DateTime& value) { SetValidUntil(value); return *this;}
318 
326  inline SpotInstanceRequest& WithValidUntil(Aws::Utils::DateTime&& value) { SetValidUntil(value); return *this;}
327 
332  inline const Aws::String& GetLaunchGroup() const{ return m_launchGroup; }
333 
338  inline void SetLaunchGroup(const Aws::String& value) { m_launchGroupHasBeenSet = true; m_launchGroup = value; }
339 
344  inline void SetLaunchGroup(Aws::String&& value) { m_launchGroupHasBeenSet = true; m_launchGroup = value; }
345 
350  inline void SetLaunchGroup(const char* value) { m_launchGroupHasBeenSet = true; m_launchGroup.assign(value); }
351 
356  inline SpotInstanceRequest& WithLaunchGroup(const Aws::String& value) { SetLaunchGroup(value); return *this;}
357 
362  inline SpotInstanceRequest& WithLaunchGroup(Aws::String&& value) { SetLaunchGroup(value); return *this;}
363 
368  inline SpotInstanceRequest& WithLaunchGroup(const char* value) { SetLaunchGroup(value); return *this;}
369 
375  inline const Aws::String& GetAvailabilityZoneGroup() const{ return m_availabilityZoneGroup; }
376 
382  inline void SetAvailabilityZoneGroup(const Aws::String& value) { m_availabilityZoneGroupHasBeenSet = true; m_availabilityZoneGroup = value; }
383 
389  inline void SetAvailabilityZoneGroup(Aws::String&& value) { m_availabilityZoneGroupHasBeenSet = true; m_availabilityZoneGroup = value; }
390 
396  inline void SetAvailabilityZoneGroup(const char* value) { m_availabilityZoneGroupHasBeenSet = true; m_availabilityZoneGroup.assign(value); }
397 
403  inline SpotInstanceRequest& WithAvailabilityZoneGroup(const Aws::String& value) { SetAvailabilityZoneGroup(value); return *this;}
404 
410  inline SpotInstanceRequest& WithAvailabilityZoneGroup(Aws::String&& value) { SetAvailabilityZoneGroup(value); return *this;}
411 
417  inline SpotInstanceRequest& WithAvailabilityZoneGroup(const char* value) { SetAvailabilityZoneGroup(value); return *this;}
418 
422  inline const LaunchSpecification& GetLaunchSpecification() const{ return m_launchSpecification; }
423 
427  inline void SetLaunchSpecification(const LaunchSpecification& value) { m_launchSpecificationHasBeenSet = true; m_launchSpecification = value; }
428 
432  inline void SetLaunchSpecification(LaunchSpecification&& value) { m_launchSpecificationHasBeenSet = true; m_launchSpecification = value; }
433 
437  inline SpotInstanceRequest& WithLaunchSpecification(const LaunchSpecification& value) { SetLaunchSpecification(value); return *this;}
438 
442  inline SpotInstanceRequest& WithLaunchSpecification(LaunchSpecification&& value) { SetLaunchSpecification(value); return *this;}
443 
448  inline const Aws::String& GetInstanceId() const{ return m_instanceId; }
449 
454  inline void SetInstanceId(const Aws::String& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
455 
460  inline void SetInstanceId(Aws::String&& value) { m_instanceIdHasBeenSet = true; m_instanceId = value; }
461 
466  inline void SetInstanceId(const char* value) { m_instanceIdHasBeenSet = true; m_instanceId.assign(value); }
467 
472  inline SpotInstanceRequest& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;}
473 
478  inline SpotInstanceRequest& WithInstanceId(Aws::String&& value) { SetInstanceId(value); return *this;}
479 
484  inline SpotInstanceRequest& WithInstanceId(const char* value) { SetInstanceId(value); return *this;}
485 
491  inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; }
492 
498  inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; }
499 
505  inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = value; }
506 
512  inline SpotInstanceRequest& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;}
513 
519  inline SpotInstanceRequest& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(value); return *this;}
520 
524  inline const RIProductDescription& GetProductDescription() const{ return m_productDescription; }
525 
529  inline void SetProductDescription(const RIProductDescription& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
530 
534  inline void SetProductDescription(RIProductDescription&& value) { m_productDescriptionHasBeenSet = true; m_productDescription = value; }
535 
539  inline SpotInstanceRequest& WithProductDescription(const RIProductDescription& value) { SetProductDescription(value); return *this;}
540 
544  inline SpotInstanceRequest& WithProductDescription(RIProductDescription&& value) { SetProductDescription(value); return *this;}
545 
549  inline long GetBlockDurationMinutes() const{ return m_blockDurationMinutes; }
550 
554  inline void SetBlockDurationMinutes(long value) { m_blockDurationMinutesHasBeenSet = true; m_blockDurationMinutes = value; }
555 
559  inline SpotInstanceRequest& WithBlockDurationMinutes(long value) { SetBlockDurationMinutes(value); return *this;}
560 
566  inline const Aws::String& GetActualBlockHourlyPrice() const{ return m_actualBlockHourlyPrice; }
567 
573  inline void SetActualBlockHourlyPrice(const Aws::String& value) { m_actualBlockHourlyPriceHasBeenSet = true; m_actualBlockHourlyPrice = value; }
574 
580  inline void SetActualBlockHourlyPrice(Aws::String&& value) { m_actualBlockHourlyPriceHasBeenSet = true; m_actualBlockHourlyPrice = value; }
581 
587  inline void SetActualBlockHourlyPrice(const char* value) { m_actualBlockHourlyPriceHasBeenSet = true; m_actualBlockHourlyPrice.assign(value); }
588 
594  inline SpotInstanceRequest& WithActualBlockHourlyPrice(const Aws::String& value) { SetActualBlockHourlyPrice(value); return *this;}
595 
601  inline SpotInstanceRequest& WithActualBlockHourlyPrice(Aws::String&& value) { SetActualBlockHourlyPrice(value); return *this;}
602 
608  inline SpotInstanceRequest& WithActualBlockHourlyPrice(const char* value) { SetActualBlockHourlyPrice(value); return *this;}
609 
613  inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; }
614 
618  inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; }
619 
623  inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = value; }
624 
628  inline SpotInstanceRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;}
629 
633  inline SpotInstanceRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(value); return *this;}
634 
638  inline SpotInstanceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
639 
643  inline SpotInstanceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; }
644 
648  inline const Aws::String& GetLaunchedAvailabilityZone() const{ return m_launchedAvailabilityZone; }
649 
653  inline void SetLaunchedAvailabilityZone(const Aws::String& value) { m_launchedAvailabilityZoneHasBeenSet = true; m_launchedAvailabilityZone = value; }
654 
658  inline void SetLaunchedAvailabilityZone(Aws::String&& value) { m_launchedAvailabilityZoneHasBeenSet = true; m_launchedAvailabilityZone = value; }
659 
663  inline void SetLaunchedAvailabilityZone(const char* value) { m_launchedAvailabilityZoneHasBeenSet = true; m_launchedAvailabilityZone.assign(value); }
664 
668  inline SpotInstanceRequest& WithLaunchedAvailabilityZone(const Aws::String& value) { SetLaunchedAvailabilityZone(value); return *this;}
669 
673  inline SpotInstanceRequest& WithLaunchedAvailabilityZone(Aws::String&& value) { SetLaunchedAvailabilityZone(value); return *this;}
674 
678  inline SpotInstanceRequest& WithLaunchedAvailabilityZone(const char* value) { SetLaunchedAvailabilityZone(value); return *this;}
679 
680  private:
681  Aws::String m_spotInstanceRequestId;
682  bool m_spotInstanceRequestIdHasBeenSet;
683  Aws::String m_spotPrice;
684  bool m_spotPriceHasBeenSet;
685  SpotInstanceType m_type;
686  bool m_typeHasBeenSet;
687  SpotInstanceState m_state;
688  bool m_stateHasBeenSet;
689  SpotInstanceStateFault m_fault;
690  bool m_faultHasBeenSet;
691  SpotInstanceStatus m_status;
692  bool m_statusHasBeenSet;
693  Aws::Utils::DateTime m_validFrom;
694  bool m_validFromHasBeenSet;
695  Aws::Utils::DateTime m_validUntil;
696  bool m_validUntilHasBeenSet;
697  Aws::String m_launchGroup;
698  bool m_launchGroupHasBeenSet;
699  Aws::String m_availabilityZoneGroup;
700  bool m_availabilityZoneGroupHasBeenSet;
701  LaunchSpecification m_launchSpecification;
702  bool m_launchSpecificationHasBeenSet;
703  Aws::String m_instanceId;
704  bool m_instanceIdHasBeenSet;
705  Aws::Utils::DateTime m_createTime;
706  bool m_createTimeHasBeenSet;
707  RIProductDescription m_productDescription;
708  bool m_productDescriptionHasBeenSet;
709  long m_blockDurationMinutes;
710  bool m_blockDurationMinutesHasBeenSet;
711  Aws::String m_actualBlockHourlyPrice;
712  bool m_actualBlockHourlyPriceHasBeenSet;
713  Aws::Vector<Tag> m_tags;
714  bool m_tagsHasBeenSet;
715  Aws::String m_launchedAvailabilityZone;
716  bool m_launchedAvailabilityZoneHasBeenSet;
717  };
718 
719 } // namespace Model
720 } // namespace EC2
721 } // namespace Aws
void SetType(SpotInstanceType &&value)
const Aws::String & GetLaunchGroup() const
void SetLaunchSpecification(LaunchSpecification &&value)
SpotInstanceRequest & WithType(const SpotInstanceType &value)
void SetSpotInstanceRequestId(const char *value)
SpotInstanceRequest & WithAvailabilityZoneGroup(Aws::String &&value)
SpotInstanceRequest & WithSpotPrice(const char *value)
const SpotInstanceState & GetState() const
SpotInstanceRequest & WithTags(Aws::Vector< Tag > &&value)
void SetInstanceId(const Aws::String &value)
const Aws::String & GetActualBlockHourlyPrice() const
const SpotInstanceStatus & GetStatus() const
void SetSpotInstanceRequestId(const Aws::String &value)
SpotInstanceRequest & WithFault(SpotInstanceStateFault &&value)
void SetFault(SpotInstanceStateFault &&value)
SpotInstanceRequest & WithSpotInstanceRequestId(const Aws::String &value)
void SetState(const SpotInstanceState &value)
SpotInstanceRequest & WithState(const SpotInstanceState &value)
std::vector< T, Aws::Allocator< T > > Vector
Definition: AWSVector.h:27
void SetActualBlockHourlyPrice(const Aws::String &value)
void SetSpotInstanceRequestId(Aws::String &&value)
const Aws::String & GetLaunchedAvailabilityZone() const
SpotInstanceRequest & WithSpotPrice(const Aws::String &value)
void SetFault(const SpotInstanceStateFault &value)
SpotInstanceRequest & WithLaunchSpecification(LaunchSpecification &&value)
void SetProductDescription(RIProductDescription &&value)
SpotInstanceRequest & WithValidUntil(Aws::Utils::DateTime &&value)
SpotInstanceRequest & WithSpotPrice(Aws::String &&value)
void SetValidFrom(Aws::Utils::DateTime &&value)
const Aws::String & GetSpotInstanceRequestId() const
const RIProductDescription & GetProductDescription() const
const Aws::Utils::DateTime & GetCreateTime() const
void SetInstanceId(Aws::String &&value)
SpotInstanceRequest & WithTags(const Aws::Vector< Tag > &value)
void SetLaunchedAvailabilityZone(Aws::String &&value)
const Aws::Vector< Tag > & GetTags() const
SpotInstanceRequest & WithActualBlockHourlyPrice(const Aws::String &value)
SpotInstanceRequest & WithLaunchedAvailabilityZone(const char *value)
const LaunchSpecification & GetLaunchSpecification() const
SpotInstanceRequest & WithProductDescription(const RIProductDescription &value)
std::basic_ostream< char, std::char_traits< char > > OStream
Definition: AWSStreamFwd.h:31
void SetTags(Aws::Vector< Tag > &&value)
const SpotInstanceType & GetType() const
SpotInstanceRequest & WithInstanceId(const char *value)
SpotInstanceRequest & WithLaunchedAvailabilityZone(const Aws::String &value)
void SetValidUntil(Aws::Utils::DateTime &&value)
void SetLaunchGroup(Aws::String &&value)
SpotInstanceRequest & WithCreateTime(const Aws::Utils::DateTime &value)
const Aws::Utils::DateTime & GetValidUntil() const
SpotInstanceRequest & WithLaunchGroup(Aws::String &&value)
SpotInstanceRequest & WithActualBlockHourlyPrice(Aws::String &&value)
SpotInstanceRequest & WithInstanceId(Aws::String &&value)
SpotInstanceRequest & WithCreateTime(Aws::Utils::DateTime &&value)
SpotInstanceRequest & WithLaunchGroup(const char *value)
SpotInstanceRequest & WithState(SpotInstanceState &&value)
SpotInstanceRequest & AddTags(Tag &&value)
void SetLaunchedAvailabilityZone(const Aws::String &value)
void SetProductDescription(const RIProductDescription &value)
SpotInstanceRequest & WithValidFrom(const Aws::Utils::DateTime &value)
const Aws::String & GetSpotPrice() const
void SetValidUntil(const Aws::Utils::DateTime &value)
SpotInstanceRequest & WithLaunchSpecification(const LaunchSpecification &value)
SpotInstanceRequest & WithProductDescription(RIProductDescription &&value)
void SetTags(const Aws::Vector< Tag > &value)
SpotInstanceRequest & WithLaunchedAvailabilityZone(Aws::String &&value)
void SetCreateTime(Aws::Utils::DateTime &&value)
void SetAvailabilityZoneGroup(Aws::String &&value)
void SetLaunchGroup(const Aws::String &value)
void SetValidFrom(const Aws::Utils::DateTime &value)
void SetStatus(SpotInstanceStatus &&value)
SpotInstanceRequest & WithAvailabilityZoneGroup(const char *value)
SpotInstanceRequest & WithStatus(const SpotInstanceStatus &value)
void SetAvailabilityZoneGroup(const char *value)
SpotInstanceRequest & WithFault(const SpotInstanceStateFault &value)
const Aws::String & GetAvailabilityZoneGroup() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
void SetType(const SpotInstanceType &value)
SpotInstanceRequest & WithType(SpotInstanceType &&value)
const SpotInstanceStateFault & GetFault() const
SpotInstanceRequest & WithInstanceId(const Aws::String &value)
void SetCreateTime(const Aws::Utils::DateTime &value)
void SetAvailabilityZoneGroup(const Aws::String &value)
SpotInstanceRequest & WithValidFrom(Aws::Utils::DateTime &&value)
void SetSpotPrice(const Aws::String &value)
const Aws::Utils::DateTime & GetValidFrom() const
SpotInstanceRequest & WithBlockDurationMinutes(long value)
SpotInstanceRequest & WithAvailabilityZoneGroup(const Aws::String &value)
void SetLaunchSpecification(const LaunchSpecification &value)
SpotInstanceRequest & WithSpotInstanceRequestId(Aws::String &&value)
const Aws::String & GetInstanceId() const
void SetSpotPrice(Aws::String &&value)
#define AWS_EC2_API
Definition: EC2_EXPORTS.h:34
void SetLaunchedAvailabilityZone(const char *value)
SpotInstanceRequest & WithActualBlockHourlyPrice(const char *value)
SpotInstanceRequest & WithValidUntil(const Aws::Utils::DateTime &value)
SpotInstanceRequest & WithStatus(SpotInstanceStatus &&value)
SpotInstanceRequest & WithLaunchGroup(const Aws::String &value)
void SetStatus(const SpotInstanceStatus &value)
void SetActualBlockHourlyPrice(const char *value)
SpotInstanceRequest & WithSpotInstanceRequestId(const char *value)
SpotInstanceRequest & AddTags(const Tag &value)
JSON (JavaScript Object Notation).
void SetActualBlockHourlyPrice(Aws::String &&value)
void SetState(SpotInstanceState &&value)