AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ReservedInstancesConfiguration.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/ec2/EC2_EXPORTS.h>
10#include <aws/ec2/model/InstanceType.h>
11#include <aws/ec2/model/Scope.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Xml {
18class XmlNode;
19} // namespace Xml
20} // namespace Utils
21namespace EC2 {
22namespace Model {
23
31 public:
32 AWS_EC2_API ReservedInstancesConfiguration() = default;
35
36 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
37 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
38
40
43 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
44 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
45 template <typename AvailabilityZoneT = Aws::String>
46 void SetAvailabilityZone(AvailabilityZoneT&& value) {
47 m_availabilityZoneHasBeenSet = true;
48 m_availabilityZone = std::forward<AvailabilityZoneT>(value);
49 }
50 template <typename AvailabilityZoneT = Aws::String>
52 SetAvailabilityZone(std::forward<AvailabilityZoneT>(value));
53 return *this;
54 }
56
58
62 inline int GetInstanceCount() const { return m_instanceCount; }
63 inline bool InstanceCountHasBeenSet() const { return m_instanceCountHasBeenSet; }
64 inline void SetInstanceCount(int value) {
65 m_instanceCountHasBeenSet = true;
66 m_instanceCount = value;
67 }
69 SetInstanceCount(value);
70 return *this;
71 }
73
75
78 inline InstanceType GetInstanceType() const { return m_instanceType; }
79 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
80 inline void SetInstanceType(InstanceType value) {
81 m_instanceTypeHasBeenSet = true;
82 m_instanceType = value;
83 }
85 SetInstanceType(value);
86 return *this;
87 }
89
91
94 inline const Aws::String& GetPlatform() const { return m_platform; }
95 inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; }
96 template <typename PlatformT = Aws::String>
97 void SetPlatform(PlatformT&& value) {
98 m_platformHasBeenSet = true;
99 m_platform = std::forward<PlatformT>(value);
100 }
101 template <typename PlatformT = Aws::String>
103 SetPlatform(std::forward<PlatformT>(value));
104 return *this;
105 }
107
109
113 inline Scope GetScope() const { return m_scope; }
114 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
115 inline void SetScope(Scope value) {
116 m_scopeHasBeenSet = true;
117 m_scope = value;
118 }
120 SetScope(value);
121 return *this;
122 }
124
126
129 inline const Aws::String& GetAvailabilityZoneId() const { return m_availabilityZoneId; }
130 inline bool AvailabilityZoneIdHasBeenSet() const { return m_availabilityZoneIdHasBeenSet; }
131 template <typename AvailabilityZoneIdT = Aws::String>
132 void SetAvailabilityZoneId(AvailabilityZoneIdT&& value) {
133 m_availabilityZoneIdHasBeenSet = true;
134 m_availabilityZoneId = std::forward<AvailabilityZoneIdT>(value);
135 }
136 template <typename AvailabilityZoneIdT = Aws::String>
138 SetAvailabilityZoneId(std::forward<AvailabilityZoneIdT>(value));
139 return *this;
140 }
142 private:
143 Aws::String m_availabilityZone;
144
145 int m_instanceCount{0};
146
147 InstanceType m_instanceType{InstanceType::NOT_SET};
148
149 Aws::String m_platform;
150
151 Scope m_scope{Scope::NOT_SET};
152
153 Aws::String m_availabilityZoneId;
154 bool m_availabilityZoneHasBeenSet = false;
155 bool m_instanceCountHasBeenSet = false;
156 bool m_instanceTypeHasBeenSet = false;
157 bool m_platformHasBeenSet = false;
158 bool m_scopeHasBeenSet = false;
159 bool m_availabilityZoneIdHasBeenSet = false;
160};
161
162} // namespace Model
163} // namespace EC2
164} // namespace Aws
ReservedInstancesConfiguration & WithPlatform(PlatformT &&value)
ReservedInstancesConfiguration & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API ReservedInstancesConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
ReservedInstancesConfiguration & WithInstanceCount(int value)
ReservedInstancesConfiguration & WithInstanceType(InstanceType value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_EC2_API ReservedInstancesConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ReservedInstancesConfiguration & WithAvailabilityZoneId(AvailabilityZoneIdT &&value)
ReservedInstancesConfiguration & WithScope(Scope value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::basic_ostream< char, std::char_traits< char > > OStream