AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
PublicIpv4Pool.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 <aws/ec2/model/PublicIpv4PoolRange.h>
12#include <aws/ec2/model/Tag.h>
13#include <utility>
14
15namespace Aws
16{
17namespace Utils
18{
19namespace Xml
20{
21 class XmlNode;
22} // namespace Xml
23} // namespace Utils
24namespace EC2
25{
26namespace Model
27{
28
35 {
36 public:
37 AWS_EC2_API PublicIpv4Pool() = default;
38 AWS_EC2_API PublicIpv4Pool(const Aws::Utils::Xml::XmlNode& xmlNode);
40
41 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
42 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
43
44
46
49 inline const Aws::String& GetPoolId() const { return m_poolId; }
50 inline bool PoolIdHasBeenSet() const { return m_poolIdHasBeenSet; }
51 template<typename PoolIdT = Aws::String>
52 void SetPoolId(PoolIdT&& value) { m_poolIdHasBeenSet = true; m_poolId = std::forward<PoolIdT>(value); }
53 template<typename PoolIdT = Aws::String>
54 PublicIpv4Pool& WithPoolId(PoolIdT&& value) { SetPoolId(std::forward<PoolIdT>(value)); return *this;}
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) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
65 template<typename DescriptionT = Aws::String>
66 PublicIpv4Pool& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
68
70
73 inline const Aws::Vector<PublicIpv4PoolRange>& GetPoolAddressRanges() const { return m_poolAddressRanges; }
74 inline bool PoolAddressRangesHasBeenSet() const { return m_poolAddressRangesHasBeenSet; }
75 template<typename PoolAddressRangesT = Aws::Vector<PublicIpv4PoolRange>>
76 void SetPoolAddressRanges(PoolAddressRangesT&& value) { m_poolAddressRangesHasBeenSet = true; m_poolAddressRanges = std::forward<PoolAddressRangesT>(value); }
77 template<typename PoolAddressRangesT = Aws::Vector<PublicIpv4PoolRange>>
78 PublicIpv4Pool& WithPoolAddressRanges(PoolAddressRangesT&& value) { SetPoolAddressRanges(std::forward<PoolAddressRangesT>(value)); return *this;}
79 template<typename PoolAddressRangesT = PublicIpv4PoolRange>
80 PublicIpv4Pool& AddPoolAddressRanges(PoolAddressRangesT&& value) { m_poolAddressRangesHasBeenSet = true; m_poolAddressRanges.emplace_back(std::forward<PoolAddressRangesT>(value)); return *this; }
82
84
87 inline int GetTotalAddressCount() const { return m_totalAddressCount; }
88 inline bool TotalAddressCountHasBeenSet() const { return m_totalAddressCountHasBeenSet; }
89 inline void SetTotalAddressCount(int value) { m_totalAddressCountHasBeenSet = true; m_totalAddressCount = value; }
90 inline PublicIpv4Pool& WithTotalAddressCount(int value) { SetTotalAddressCount(value); return *this;}
92
94
97 inline int GetTotalAvailableAddressCount() const { return m_totalAvailableAddressCount; }
98 inline bool TotalAvailableAddressCountHasBeenSet() const { return m_totalAvailableAddressCountHasBeenSet; }
99 inline void SetTotalAvailableAddressCount(int value) { m_totalAvailableAddressCountHasBeenSet = true; m_totalAvailableAddressCount = value; }
102
104
109 inline const Aws::String& GetNetworkBorderGroup() const { return m_networkBorderGroup; }
110 inline bool NetworkBorderGroupHasBeenSet() const { return m_networkBorderGroupHasBeenSet; }
111 template<typename NetworkBorderGroupT = Aws::String>
112 void SetNetworkBorderGroup(NetworkBorderGroupT&& value) { m_networkBorderGroupHasBeenSet = true; m_networkBorderGroup = std::forward<NetworkBorderGroupT>(value); }
113 template<typename NetworkBorderGroupT = Aws::String>
114 PublicIpv4Pool& WithNetworkBorderGroup(NetworkBorderGroupT&& value) { SetNetworkBorderGroup(std::forward<NetworkBorderGroupT>(value)); return *this;}
116
118
121 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
122 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
123 template<typename TagsT = Aws::Vector<Tag>>
124 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
125 template<typename TagsT = Aws::Vector<Tag>>
126 PublicIpv4Pool& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
127 template<typename TagsT = Tag>
128 PublicIpv4Pool& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
130 private:
131
132 Aws::String m_poolId;
133 bool m_poolIdHasBeenSet = false;
134
135 Aws::String m_description;
136 bool m_descriptionHasBeenSet = false;
137
138 Aws::Vector<PublicIpv4PoolRange> m_poolAddressRanges;
139 bool m_poolAddressRangesHasBeenSet = false;
140
141 int m_totalAddressCount{0};
142 bool m_totalAddressCountHasBeenSet = false;
143
144 int m_totalAvailableAddressCount{0};
145 bool m_totalAvailableAddressCountHasBeenSet = false;
146
147 Aws::String m_networkBorderGroup;
148 bool m_networkBorderGroupHasBeenSet = false;
149
150 Aws::Vector<Tag> m_tags;
151 bool m_tagsHasBeenSet = false;
152 };
153
154} // namespace Model
155} // namespace EC2
156} // 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