AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InstanceTopology.h
1
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 <aws/core/utils/memory/stl/AWSVector.h>
11#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Xml
18{
19 class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace EC2
23{
24namespace Model
25{
26
33 {
34 public:
35 AWS_EC2_API InstanceTopology() = default;
36 AWS_EC2_API InstanceTopology(const Aws::Utils::Xml::XmlNode& xmlNode);
38
39 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
40 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
41
42
44
47 inline const Aws::String& GetInstanceId() const { return m_instanceId; }
48 inline bool InstanceIdHasBeenSet() const { return m_instanceIdHasBeenSet; }
49 template<typename InstanceIdT = Aws::String>
50 void SetInstanceId(InstanceIdT&& value) { m_instanceIdHasBeenSet = true; m_instanceId = std::forward<InstanceIdT>(value); }
51 template<typename InstanceIdT = Aws::String>
52 InstanceTopology& WithInstanceId(InstanceIdT&& value) { SetInstanceId(std::forward<InstanceIdT>(value)); return *this;}
54
56
59 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
60 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
61 template<typename InstanceTypeT = Aws::String>
62 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
63 template<typename InstanceTypeT = Aws::String>
64 InstanceTopology& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
66
68
71 inline const Aws::String& GetGroupName() const { return m_groupName; }
72 inline bool GroupNameHasBeenSet() const { return m_groupNameHasBeenSet; }
73 template<typename GroupNameT = Aws::String>
74 void SetGroupName(GroupNameT&& value) { m_groupNameHasBeenSet = true; m_groupName = std::forward<GroupNameT>(value); }
75 template<typename GroupNameT = Aws::String>
76 InstanceTopology& WithGroupName(GroupNameT&& value) { SetGroupName(std::forward<GroupNameT>(value)); return *this;}
78
80
85 inline const Aws::Vector<Aws::String>& GetNetworkNodes() const { return m_networkNodes; }
86 inline bool NetworkNodesHasBeenSet() const { return m_networkNodesHasBeenSet; }
87 template<typename NetworkNodesT = Aws::Vector<Aws::String>>
88 void SetNetworkNodes(NetworkNodesT&& value) { m_networkNodesHasBeenSet = true; m_networkNodes = std::forward<NetworkNodesT>(value); }
89 template<typename NetworkNodesT = Aws::Vector<Aws::String>>
90 InstanceTopology& WithNetworkNodes(NetworkNodesT&& value) { SetNetworkNodes(std::forward<NetworkNodesT>(value)); return *this;}
91 template<typename NetworkNodesT = Aws::String>
92 InstanceTopology& AddNetworkNodes(NetworkNodesT&& value) { m_networkNodesHasBeenSet = true; m_networkNodes.emplace_back(std::forward<NetworkNodesT>(value)); return *this; }
94
96
99 inline const Aws::String& GetAvailabilityZone() const { return m_availabilityZone; }
100 inline bool AvailabilityZoneHasBeenSet() const { return m_availabilityZoneHasBeenSet; }
101 template<typename AvailabilityZoneT = Aws::String>
102 void SetAvailabilityZone(AvailabilityZoneT&& value) { m_availabilityZoneHasBeenSet = true; m_availabilityZone = std::forward<AvailabilityZoneT>(value); }
103 template<typename AvailabilityZoneT = Aws::String>
104 InstanceTopology& WithAvailabilityZone(AvailabilityZoneT&& value) { SetAvailabilityZone(std::forward<AvailabilityZoneT>(value)); return *this;}
106
108
111 inline const Aws::String& GetZoneId() const { return m_zoneId; }
112 inline bool ZoneIdHasBeenSet() const { return m_zoneIdHasBeenSet; }
113 template<typename ZoneIdT = Aws::String>
114 void SetZoneId(ZoneIdT&& value) { m_zoneIdHasBeenSet = true; m_zoneId = std::forward<ZoneIdT>(value); }
115 template<typename ZoneIdT = Aws::String>
116 InstanceTopology& WithZoneId(ZoneIdT&& value) { SetZoneId(std::forward<ZoneIdT>(value)); return *this;}
118
120
125 inline const Aws::String& GetCapacityBlockId() const { return m_capacityBlockId; }
126 inline bool CapacityBlockIdHasBeenSet() const { return m_capacityBlockIdHasBeenSet; }
127 template<typename CapacityBlockIdT = Aws::String>
128 void SetCapacityBlockId(CapacityBlockIdT&& value) { m_capacityBlockIdHasBeenSet = true; m_capacityBlockId = std::forward<CapacityBlockIdT>(value); }
129 template<typename CapacityBlockIdT = Aws::String>
130 InstanceTopology& WithCapacityBlockId(CapacityBlockIdT&& value) { SetCapacityBlockId(std::forward<CapacityBlockIdT>(value)); return *this;}
132 private:
133
134 Aws::String m_instanceId;
135 bool m_instanceIdHasBeenSet = false;
136
137 Aws::String m_instanceType;
138 bool m_instanceTypeHasBeenSet = false;
139
140 Aws::String m_groupName;
141 bool m_groupNameHasBeenSet = false;
142
143 Aws::Vector<Aws::String> m_networkNodes;
144 bool m_networkNodesHasBeenSet = false;
145
146 Aws::String m_availabilityZone;
147 bool m_availabilityZoneHasBeenSet = false;
148
149 Aws::String m_zoneId;
150 bool m_zoneIdHasBeenSet = false;
151
152 Aws::String m_capacityBlockId;
153 bool m_capacityBlockIdHasBeenSet = false;
154 };
155
156} // namespace Model
157} // namespace EC2
158} // namespace Aws
const Aws::Vector< Aws::String > & GetNetworkNodes() const
InstanceTopology & WithGroupName(GroupNameT &&value)
void SetNetworkNodes(NetworkNodesT &&value)
InstanceTopology & WithCapacityBlockId(CapacityBlockIdT &&value)
void SetCapacityBlockId(CapacityBlockIdT &&value)
void SetGroupName(GroupNameT &&value)
const Aws::String & GetInstanceType() const
const Aws::String & GetCapacityBlockId() const
AWS_EC2_API InstanceTopology()=default
InstanceTopology & WithNetworkNodes(NetworkNodesT &&value)
const Aws::String & GetGroupName() const
void SetInstanceId(InstanceIdT &&value)
InstanceTopology & WithAvailabilityZone(AvailabilityZoneT &&value)
AWS_EC2_API InstanceTopology(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceTopology & WithInstanceId(InstanceIdT &&value)
InstanceTopology & AddNetworkNodes(NetworkNodesT &&value)
void SetAvailabilityZone(AvailabilityZoneT &&value)
void SetInstanceType(InstanceTypeT &&value)
const Aws::String & GetInstanceId() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetAvailabilityZone() const
AWS_EC2_API InstanceTopology & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceTopology & WithInstanceType(InstanceTypeT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
const Aws::String & GetZoneId() const
InstanceTopology & WithZoneId(ZoneIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream