AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
RouteServer.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/ec2/model/RouteServerState.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/RouteServerPersistRoutesState.h>
13#include <aws/ec2/model/Tag.h>
14#include <utility>
15
16namespace Aws
17{
18namespace Utils
19{
20namespace Xml
21{
22 class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace EC2
26{
27namespace Model
28{
29
49 {
50 public:
51 AWS_EC2_API RouteServer() = default;
52 AWS_EC2_API RouteServer(const Aws::Utils::Xml::XmlNode& xmlNode);
53 AWS_EC2_API RouteServer& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
54
55 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
56 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
57
58
60
63 inline const Aws::String& GetRouteServerId() const { return m_routeServerId; }
64 inline bool RouteServerIdHasBeenSet() const { return m_routeServerIdHasBeenSet; }
65 template<typename RouteServerIdT = Aws::String>
66 void SetRouteServerId(RouteServerIdT&& value) { m_routeServerIdHasBeenSet = true; m_routeServerId = std::forward<RouteServerIdT>(value); }
67 template<typename RouteServerIdT = Aws::String>
68 RouteServer& WithRouteServerId(RouteServerIdT&& value) { SetRouteServerId(std::forward<RouteServerIdT>(value)); return *this;}
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) { m_amazonSideAsnHasBeenSet = true; m_amazonSideAsn = value; }
81 inline RouteServer& WithAmazonSideAsn(long long value) { SetAmazonSideAsn(value); return *this;}
83
85
88 inline RouteServerState GetState() const { return m_state; }
89 inline bool StateHasBeenSet() const { return m_stateHasBeenSet; }
90 inline void SetState(RouteServerState value) { m_stateHasBeenSet = true; m_state = value; }
91 inline RouteServer& WithState(RouteServerState value) { SetState(value); return *this;}
93
95
98 inline const Aws::Vector<Tag>& GetTags() const { return m_tags; }
99 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
100 template<typename TagsT = Aws::Vector<Tag>>
101 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
102 template<typename TagsT = Aws::Vector<Tag>>
103 RouteServer& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
104 template<typename TagsT = Tag>
105 RouteServer& AddTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags.emplace_back(std::forward<TagsT>(value)); return *this; }
107
109
112 inline RouteServerPersistRoutesState GetPersistRoutesState() const { return m_persistRoutesState; }
113 inline bool PersistRoutesStateHasBeenSet() const { return m_persistRoutesStateHasBeenSet; }
114 inline void SetPersistRoutesState(RouteServerPersistRoutesState value) { m_persistRoutesStateHasBeenSet = true; m_persistRoutesState = value; }
117
119
131 inline long long GetPersistRoutesDuration() const { return m_persistRoutesDuration; }
132 inline bool PersistRoutesDurationHasBeenSet() const { return m_persistRoutesDurationHasBeenSet; }
133 inline void SetPersistRoutesDuration(long long value) { m_persistRoutesDurationHasBeenSet = true; m_persistRoutesDuration = value; }
134 inline RouteServer& WithPersistRoutesDuration(long long value) { SetPersistRoutesDuration(value); return *this;}
136
138
143 inline bool GetSnsNotificationsEnabled() const { return m_snsNotificationsEnabled; }
144 inline bool SnsNotificationsEnabledHasBeenSet() const { return m_snsNotificationsEnabledHasBeenSet; }
145 inline void SetSnsNotificationsEnabled(bool value) { m_snsNotificationsEnabledHasBeenSet = true; m_snsNotificationsEnabled = value; }
146 inline RouteServer& WithSnsNotificationsEnabled(bool value) { SetSnsNotificationsEnabled(value); return *this;}
148
150
153 inline const Aws::String& GetSnsTopicArn() const { return m_snsTopicArn; }
154 inline bool SnsTopicArnHasBeenSet() const { return m_snsTopicArnHasBeenSet; }
155 template<typename SnsTopicArnT = Aws::String>
156 void SetSnsTopicArn(SnsTopicArnT&& value) { m_snsTopicArnHasBeenSet = true; m_snsTopicArn = std::forward<SnsTopicArnT>(value); }
157 template<typename SnsTopicArnT = Aws::String>
158 RouteServer& WithSnsTopicArn(SnsTopicArnT&& value) { SetSnsTopicArn(std::forward<SnsTopicArnT>(value)); return *this;}
160 private:
161
162 Aws::String m_routeServerId;
163 bool m_routeServerIdHasBeenSet = false;
164
165 long long m_amazonSideAsn{0};
166 bool m_amazonSideAsnHasBeenSet = false;
167
169 bool m_stateHasBeenSet = false;
170
171 Aws::Vector<Tag> m_tags;
172 bool m_tagsHasBeenSet = false;
173
175 bool m_persistRoutesStateHasBeenSet = false;
176
177 long long m_persistRoutesDuration{0};
178 bool m_persistRoutesDurationHasBeenSet = false;
179
180 bool m_snsNotificationsEnabled{false};
181 bool m_snsNotificationsEnabledHasBeenSet = false;
182
183 Aws::String m_snsTopicArn;
184 bool m_snsTopicArnHasBeenSet = false;
185 };
186
187} // namespace Model
188} // namespace EC2
189} // 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:64
void SetState(RouteServerState value)
Definition RouteServer.h:90
bool PersistRoutesStateHasBeenSet() const
void SetSnsTopicArn(SnsTopicArnT &&value)
RouteServer & WithSnsNotificationsEnabled(bool value)
const Aws::String & GetRouteServerId() const
Definition RouteServer.h:63
RouteServer & WithTags(TagsT &&value)
const Aws::Vector< Tag > & GetTags() const
Definition RouteServer.h:98
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)
Definition RouteServer.h:91
RouteServerState GetState() const
Definition RouteServer.h:88
RouteServerPersistRoutesState GetPersistRoutesState() const
bool GetSnsNotificationsEnabled() const
RouteServer & WithAmazonSideAsn(long long value)
Definition RouteServer.h:81
void SetRouteServerId(RouteServerIdT &&value)
Definition RouteServer.h:66
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:68
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