AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
PublicIpv4Pool.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/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/PublicIpv4PoolRange.h>
12#include <aws/ec2/model/Tag.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Xml {
19class XmlNode;
20} // namespace Xml
21} // namespace Utils
22namespace EC2 {
23namespace Model {
24
31 public:
32 AWS_EC2_API PublicIpv4Pool() = default;
33 AWS_EC2_API PublicIpv4Pool(const Aws::Utils::Xml::XmlNode& xmlNode);
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& GetPoolId() const { return m_poolId; }
44 inline bool PoolIdHasBeenSet() const { return m_poolIdHasBeenSet; }
45 template <typename PoolIdT = Aws::String>
46 void SetPoolId(PoolIdT&& value) {
47 m_poolIdHasBeenSet = true;
48 m_poolId = std::forward<PoolIdT>(value);
49 }
50 template <typename PoolIdT = Aws::String>
51 PublicIpv4Pool& WithPoolId(PoolIdT&& value) {
52 SetPoolId(std::forward<PoolIdT>(value));
53 return *this;
54 }
56
58
61 inline const Aws::String& GetDescription() const { return m_description; }
62 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
63 template <typename DescriptionT = Aws::String>
64 void SetDescription(DescriptionT&& value) {
65 m_descriptionHasBeenSet = true;
66 m_description = std::forward<DescriptionT>(value);
67 }
68 template <typename DescriptionT = Aws::String>
69 PublicIpv4Pool& WithDescription(DescriptionT&& value) {
70 SetDescription(std::forward<DescriptionT>(value));
71 return *this;
72 }
74
76
79 inline const Aws::Vector<PublicIpv4PoolRange>& GetPoolAddressRanges() const { return m_poolAddressRanges; }
80 inline bool PoolAddressRangesHasBeenSet() const { return m_poolAddressRangesHasBeenSet; }
81 template <typename PoolAddressRangesT = Aws::Vector<PublicIpv4PoolRange>>
82 void SetPoolAddressRanges(PoolAddressRangesT&& value) {
83 m_poolAddressRangesHasBeenSet = true;
84 m_poolAddressRanges = std::forward<PoolAddressRangesT>(value);
85 }
86 template <typename PoolAddressRangesT = Aws::Vector<PublicIpv4PoolRange>>
87 PublicIpv4Pool& WithPoolAddressRanges(PoolAddressRangesT&& value) {
88 SetPoolAddressRanges(std::forward<PoolAddressRangesT>(value));
89 return *this;
90 }
91 template <typename PoolAddressRangesT = PublicIpv4PoolRange>
92 PublicIpv4Pool& AddPoolAddressRanges(PoolAddressRangesT&& value) {
93 m_poolAddressRangesHasBeenSet = true;
94 m_poolAddressRanges.emplace_back(std::forward<PoolAddressRangesT>(value));
95 return *this;
96 }
98
100
103 inline int GetTotalAddressCount() const { return m_totalAddressCount; }
104 inline bool TotalAddressCountHasBeenSet() const { return m_totalAddressCountHasBeenSet; }
105 inline void SetTotalAddressCount(int value) {
106 m_totalAddressCountHasBeenSet = true;
107 m_totalAddressCount = value;
108 }
111 return *this;
112 }
114
116
119 inline int GetTotalAvailableAddressCount() const { return m_totalAvailableAddressCount; }
120 inline bool TotalAvailableAddressCountHasBeenSet() const { return m_totalAvailableAddressCountHasBeenSet; }
121 inline void SetTotalAvailableAddressCount(int value) {
122 m_totalAvailableAddressCountHasBeenSet = true;
123 m_totalAvailableAddressCount = value;
124 }
127 return *this;
128 }
130
132
137 inline const Aws::String& GetNetworkBorderGroup() const { return m_networkBorderGroup; }
138 inline bool NetworkBorderGroupHasBeenSet() const { return m_networkBorderGroupHasBeenSet; }
139 template <typename NetworkBorderGroupT = Aws::String>
140 void SetNetworkBorderGroup(NetworkBorderGroupT&& value) {
141 m_networkBorderGroupHasBeenSet = true;
142 m_networkBorderGroup = std::forward<NetworkBorderGroupT>(value);
143 }
144 template <typename NetworkBorderGroupT = Aws::String>
145 PublicIpv4Pool& WithNetworkBorderGroup(NetworkBorderGroupT&& value) {
146 SetNetworkBorderGroup(std::forward<NetworkBorderGroupT>(value));
147 return *this;
148 }
150
152
155 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
156 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
157 template <typename TagsT = Aws::Vector<Tag>>
158 void SetTags(TagsT&& value) {
159 m_tagsHasBeenSet = true;
160 m_tags = std::forward<TagsT>(value);
161 }
162 template <typename TagsT = Aws::Vector<Tag>>
163 PublicIpv4Pool& WithTags(TagsT&& value) {
164 SetTags(std::forward<TagsT>(value));
165 return *this;
166 }
167 template <typename TagsT = Tag>
168 PublicIpv4Pool& AddTags(TagsT&& value) {
169 m_tagsHasBeenSet = true;
170 m_tags.emplace_back(std::forward<TagsT>(value));
171 return *this;
172 }
174 private:
175 Aws::String m_poolId;
176
177 Aws::String m_description;
178
179 Aws::Vector<PublicIpv4PoolRange> m_poolAddressRanges;
180
181 int m_totalAddressCount{0};
182
183 int m_totalAvailableAddressCount{0};
184
185 Aws::String m_networkBorderGroup;
186
187 Aws::Vector<Tag> m_tags;
188 bool m_poolIdHasBeenSet = false;
189 bool m_descriptionHasBeenSet = false;
190 bool m_poolAddressRangesHasBeenSet = false;
191 bool m_totalAddressCountHasBeenSet = false;
192 bool m_totalAvailableAddressCountHasBeenSet = false;
193 bool m_networkBorderGroupHasBeenSet = false;
194 bool m_tagsHasBeenSet = false;
195};
196
197} // namespace Model
198} // namespace EC2
199} // namespace Aws
const Aws::String & GetDescription() const
bool TotalAvailableAddressCountHasBeenSet() const
PublicIpv4Pool & WithPoolAddressRanges(PoolAddressRangesT &&value)
void SetPoolId(PoolIdT &&value)
const Aws::Vector< PublicIpv4PoolRange > & GetPoolAddressRanges() const
void SetPoolAddressRanges(PoolAddressRangesT &&value)
const Aws::String & GetPoolId() const
void SetDescription(DescriptionT &&value)
PublicIpv4Pool & AddTags(TagsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
AWS_EC2_API PublicIpv4Pool & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
PublicIpv4Pool & WithDescription(DescriptionT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Vector< Tag > & GetTags() const
AWS_EC2_API PublicIpv4Pool(const Aws::Utils::Xml::XmlNode &xmlNode)
PublicIpv4Pool & WithNetworkBorderGroup(NetworkBorderGroupT &&value)
PublicIpv4Pool & AddPoolAddressRanges(PoolAddressRangesT &&value)
PublicIpv4Pool & WithTotalAvailableAddressCount(int value)
void SetNetworkBorderGroup(NetworkBorderGroupT &&value)
PublicIpv4Pool & WithTags(TagsT &&value)
const Aws::String & GetNetworkBorderGroup() const
PublicIpv4Pool & WithTotalAddressCount(int value)
void SetTotalAvailableAddressCount(int value)
PublicIpv4Pool & WithPoolId(PoolIdT &&value)
AWS_EC2_API PublicIpv4Pool()=default
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