AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
RouteServer.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/RouteServerPersistRoutesState.h>
12#include <aws/ec2/model/RouteServerState.h>
13#include <aws/ec2/model/Tag.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Xml {
20class XmlNode;
21} // namespace Xml
22} // namespace Utils
23namespace EC2 {
24namespace Model {
25
45 public:
46 AWS_EC2_API RouteServer() = default;
47 AWS_EC2_API RouteServer(const Aws::Utils::Xml::XmlNode& xmlNode);
48 AWS_EC2_API RouteServer& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
49
50 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
51 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
52
54
57 inline const Aws::String& GetRouteServerId() const { return m_routeServerId; }
58 inline bool RouteServerIdHasBeenSet() const { return m_routeServerIdHasBeenSet; }
59 template <typename RouteServerIdT = Aws::String>
60 void SetRouteServerId(RouteServerIdT&& value) {
61 m_routeServerIdHasBeenSet = true;
62 m_routeServerId = std::forward<RouteServerIdT>(value);
63 }
64 template <typename RouteServerIdT = Aws::String>
65 RouteServer& WithRouteServerId(RouteServerIdT&& value) {
66 SetRouteServerId(std::forward<RouteServerIdT>(value));
67 return *this;
68 }
70
72
78 inline long long GetAmazonSideAsn() const { return m_amazonSideAsn; }
79 inline bool AmazonSideAsnHasBeenSet() const { return m_amazonSideAsnHasBeenSet; }
80 inline void SetAmazonSideAsn(long long value) {
81 m_amazonSideAsnHasBeenSet = true;
82 m_amazonSideAsn = value;
83 }
84 inline RouteServer& WithAmazonSideAsn(long long value) {
85 SetAmazonSideAsn(value);
86 return *this;
87 }
89
91
94 inline RouteServerState GetState() const { return m_state; }
95 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
96 inline void SetState(RouteServerState value) {
97 m_stateHasBeenSet = true;
98 m_state = value;
99 }
101 SetState(value);
102 return *this;
103 }
105
107
110 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
111 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
112 template <typename TagsT = Aws::Vector<Tag>>
113 void SetTags(TagsT&& value) {
114 m_tagsHasBeenSet = true;
115 m_tags = std::forward<TagsT>(value);
116 }
117 template <typename TagsT = Aws::Vector<Tag>>
118 RouteServer& WithTags(TagsT&& value) {
119 SetTags(std::forward<TagsT>(value));
120 return *this;
121 }
122 template <typename TagsT = Tag>
123 RouteServer& AddTags(TagsT&& value) {
124 m_tagsHasBeenSet = true;
125 m_tags.emplace_back(std::forward<TagsT>(value));
126 return *this;
127 }
129
131
134 inline RouteServerPersistRoutesState GetPersistRoutesState() const { return m_persistRoutesState; }
135 inline bool PersistRoutesStateHasBeenSet() const { return m_persistRoutesStateHasBeenSet; }
137 m_persistRoutesStateHasBeenSet = true;
138 m_persistRoutesState = value;
139 }
142 return *this;
143 }
145
147
159 inline long long GetPersistRoutesDuration() const { return m_persistRoutesDuration; }
160 inline bool PersistRoutesDurationHasBeenSet() const { return m_persistRoutesDurationHasBeenSet; }
161 inline void SetPersistRoutesDuration(long long value) {
162 m_persistRoutesDurationHasBeenSet = true;
163 m_persistRoutesDuration = value;
164 }
165 inline RouteServer& WithPersistRoutesDuration(long long value) {
167 return *this;
168 }
170
172
177 inline bool GetSnsNotificationsEnabled() const { return m_snsNotificationsEnabled; }
178 inline bool SnsNotificationsEnabledHasBeenSet() const { return m_snsNotificationsEnabledHasBeenSet; }
179 inline void SetSnsNotificationsEnabled(bool value) {
180 m_snsNotificationsEnabledHasBeenSet = true;
181 m_snsNotificationsEnabled = value;
182 }
185 return *this;
186 }
188
190
193 inline const Aws::String& GetSnsTopicArn() const { return m_snsTopicArn; }
194 inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; }
195 template <typename SnsTopicArnT = Aws::String>
196 void SetSnsTopicArn(SnsTopicArnT&& value) {
197 m_snsTopicArnHasBeenSet = true;
198 m_snsTopicArn = std::forward<SnsTopicArnT>(value);
199 }
200 template <typename SnsTopicArnT = Aws::String>
201 RouteServer& WithSnsTopicArn(SnsTopicArnT&& value) {
202 SetSnsTopicArn(std::forward<SnsTopicArnT>(value));
203 return *this;
204 }
206 private:
207 Aws::String m_routeServerId;
208
209 long long m_amazonSideAsn{0};
210
212
213 Aws::Vector<Tag> m_tags;
214
216
217 long long m_persistRoutesDuration{0};
218
219 bool m_snsNotificationsEnabled{false};
220
221 Aws::String m_snsTopicArn;
222 bool m_routeServerIdHasBeenSet = false;
223 bool m_amazonSideAsnHasBeenSet = false;
224 bool m_stateHasBeenSet = false;
225 bool m_tagsHasBeenSet = false;
226 bool m_persistRoutesStateHasBeenSet = false;
227 bool m_persistRoutesDurationHasBeenSet = false;
228 bool m_snsNotificationsEnabledHasBeenSet = false;
229 bool m_snsTopicArnHasBeenSet = false;
230};
231
232} // namespace Model
233} // namespace EC2
234} // namespace Aws
void SetPersistRoutesDuration(long long value)
RouteServer & WithPersistRoutesState(RouteServerPersistRoutesState value)
long long GetPersistRoutesDuration() const
AWS_EC2_API RouteServer & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_EC2_API RouteServer(const Aws::Utils::Xml::XmlNode &xmlNode)
RouteServer & WithSnsTopicArn(SnsTopicArnT &&value)
void SetSnsNotificationsEnabled(bool value)
long long GetAmazonSideAsn() const
Definition RouteServer.h:78
bool RouteServerIdHasBeenSet() const
Definition RouteServer.h:58
void SetState(RouteServerState value)
Definition RouteServer.h:96
bool PersistRoutesStateHasBeenSet() const
void SetSnsTopicArn(SnsTopicArnT &&value)
RouteServer & WithSnsNotificationsEnabled(bool value)
const Aws::String & GetRouteServerId() const
Definition RouteServer.h:57
RouteServer & WithTags(TagsT &&value)
const Aws::Vector< Tag > & GetTags() const
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAmazonSideAsn(long long value)
Definition RouteServer.h:80
RouteServer & WithPersistRoutesDuration(long long value)
RouteServer & WithState(RouteServerState value)
RouteServerState GetState() const
Definition RouteServer.h:94
RouteServerPersistRoutesState GetPersistRoutesState() const
bool GetSnsNotificationsEnabled() const
RouteServer & WithAmazonSideAsn(long long value)
Definition RouteServer.h:84
void SetRouteServerId(RouteServerIdT &&value)
Definition RouteServer.h:60
AWS_EC2_API RouteServer()=default
bool PersistRoutesDurationHasBeenSet() const
void SetPersistRoutesState(RouteServerPersistRoutesState value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
RouteServer & WithRouteServerId(RouteServerIdT &&value)
Definition RouteServer.h:65
bool SnsNotificationsEnabledHasBeenSet() const
const Aws::String & GetSnsTopicArn() const
void SetTags(TagsT &&value)
RouteServer & AddTags(TagsT &&value)
bool AmazonSideAsnHasBeenSet() const
Definition RouteServer.h:79
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