1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/ec2/EC2_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSStreamFwd.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Xml 17 { 18 class XmlNode; 19 } // namespace Xml 20 } // namespace Utils 21 namespace EC2 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Describes the placement for a Scheduled Instance.</p><p><h3>See Also:</h3> 28 * <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ScheduledInstancesPlacement">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_EC2_API ScheduledInstancesPlacement 33 { 34 public: 35 ScheduledInstancesPlacement(); 36 ScheduledInstancesPlacement(const Aws::Utils::Xml::XmlNode& xmlNode); 37 ScheduledInstancesPlacement& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); 38 39 void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; 40 void OutputToStream(Aws::OStream& oStream, const char* location) const; 41 42 43 /** 44 * <p>The Availability Zone.</p> 45 */ GetAvailabilityZone()46 inline const Aws::String& GetAvailabilityZone() const{ return m_availabilityZone; } 47 48 /** 49 * <p>The Availability Zone.</p> 50 */ AvailabilityZoneHasBeenSet()51 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; } 52 53 /** 54 * <p>The Availability Zone.</p> 55 */ SetAvailabilityZone(const Aws::String & value)56 inline void SetAvailabilityZone(const Aws::String& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = value; } 57 58 /** 59 * <p>The Availability Zone.</p> 60 */ SetAvailabilityZone(Aws::String && value)61 inline void SetAvailabilityZone(Aws::String&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::move(value); } 62 63 /** 64 * <p>The Availability Zone.</p> 65 */ SetAvailabilityZone(const char * value)66 inline void SetAvailabilityZone(const char* value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone.assign(value); } 67 68 /** 69 * <p>The Availability Zone.</p> 70 */ WithAvailabilityZone(const Aws::String & value)71 inline ScheduledInstancesPlacement& WithAvailabilityZone(const Aws::String& value) { SetAvailabilityZone(value); return *this;} 72 73 /** 74 * <p>The Availability Zone.</p> 75 */ WithAvailabilityZone(Aws::String && value)76 inline ScheduledInstancesPlacement& WithAvailabilityZone(Aws::String&& value) { SetAvailabilityZone(std::move(value)); return *this;} 77 78 /** 79 * <p>The Availability Zone.</p> 80 */ WithAvailabilityZone(const char * value)81 inline ScheduledInstancesPlacement& WithAvailabilityZone(const char* value) { SetAvailabilityZone(value); return *this;} 82 83 84 /** 85 * <p>The name of the placement group.</p> 86 */ GetGroupName()87 inline const Aws::String& GetGroupName() const{ return m_groupName; } 88 89 /** 90 * <p>The name of the placement group.</p> 91 */ GroupNameHasBeenSet()92 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; } 93 94 /** 95 * <p>The name of the placement group.</p> 96 */ SetGroupName(const Aws::String & value)97 inline void SetGroupName(const Aws::String& value) { m_groupNameHasBeenSet = true; m_groupName = value; } 98 99 /** 100 * <p>The name of the placement group.</p> 101 */ SetGroupName(Aws::String && value)102 inline void SetGroupName(Aws::String&& value) { m_groupNameHasBeenSet = true; m_groupName = std::move(value); } 103 104 /** 105 * <p>The name of the placement group.</p> 106 */ SetGroupName(const char * value)107 inline void SetGroupName(const char* value) { m_groupNameHasBeenSet = true; m_groupName.assign(value); } 108 109 /** 110 * <p>The name of the placement group.</p> 111 */ WithGroupName(const Aws::String & value)112 inline ScheduledInstancesPlacement& WithGroupName(const Aws::String& value) { SetGroupName(value); return *this;} 113 114 /** 115 * <p>The name of the placement group.</p> 116 */ WithGroupName(Aws::String && value)117 inline ScheduledInstancesPlacement& WithGroupName(Aws::String&& value) { SetGroupName(std::move(value)); return *this;} 118 119 /** 120 * <p>The name of the placement group.</p> 121 */ WithGroupName(const char * value)122 inline ScheduledInstancesPlacement& WithGroupName(const char* value) { SetGroupName(value); return *this;} 123 124 private: 125 126 Aws::String m_availabilityZone; 127 bool m_availabilityZoneHasBeenSet; 128 129 Aws::String m_groupName; 130 bool m_groupNameHasBeenSet; 131 }; 132 133 } // namespace Model 134 } // namespace EC2 135 } // namespace Aws 136