AWS SDK for C++

AWS SDK for C++ Version 1.11.862

Loading...
Searching...
No Matches
Route.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/directconnect/DirectConnect_EXPORTS.h>
11#include <aws/directconnect/model/AddressFamily.h>
12#include <aws/directconnect/model/AsPathSegment.h>
13#include <aws/directconnect/model/RouteDirection.h>
14
15#include <utility>
16
17namespace Aws {
18namespace Utils {
19namespace Json {
20class JsonValue;
21class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace DirectConnect {
25namespace Model {
26
33class Route {
34 public:
35 AWS_DIRECTCONNECT_API Route() = default;
36 AWS_DIRECTCONNECT_API Route(Aws::Utils::Json::JsonView jsonValue);
37 AWS_DIRECTCONNECT_API Route& operator=(Aws::Utils::Json::JsonView jsonValue);
38 AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
39
41
44 inline const Aws::String& GetCidr() const { return m_cidr; }
45 inline bool CidrHasBeenSet() const { return m_cidrHasBeenSet; }
46 template <typename CidrT = Aws::String>
47 void SetCidr(CidrT&& value) {
48 m_cidrHasBeenSet = true;
49 m_cidr = std::forward<CidrT>(value);
50 }
51 template <typename CidrT = Aws::String>
52 Route& WithCidr(CidrT&& value) {
53 SetCidr(std::forward<CidrT>(value));
54 return *this;
55 }
57
59
64 inline RouteDirection GetRouteDirection() const { return m_routeDirection; }
65 inline bool RouteDirectionHasBeenSet() const { return m_routeDirectionHasBeenSet; }
66 inline void SetRouteDirection(RouteDirection value) {
67 m_routeDirectionHasBeenSet = true;
68 m_routeDirection = value;
69 }
71 SetRouteDirection(value);
72 return *this;
73 }
75
77
81 inline AddressFamily GetAddressFamily() const { return m_addressFamily; }
82 inline bool AddressFamilyHasBeenSet() const { return m_addressFamilyHasBeenSet; }
83 inline void SetAddressFamily(AddressFamily value) {
84 m_addressFamilyHasBeenSet = true;
85 m_addressFamily = value;
86 }
88 SetAddressFamily(value);
89 return *this;
90 }
92
94
97 inline const Aws::Vector<AsPathSegment>& GetAsPath() const { return m_asPath; }
98 inline bool AsPathHasBeenSet() const { return m_asPathHasBeenSet; }
99 template <typename AsPathT = Aws::Vector<AsPathSegment>>
100 void SetAsPath(AsPathT&& value) {
101 m_asPathHasBeenSet = true;
102 m_asPath = std::forward<AsPathT>(value);
103 }
104 template <typename AsPathT = Aws::Vector<AsPathSegment>>
105 Route& WithAsPath(AsPathT&& value) {
106 SetAsPath(std::forward<AsPathT>(value));
107 return *this;
108 }
109 template <typename AsPathT = AsPathSegment>
110 Route& AddAsPath(AsPathT&& value) {
111 m_asPathHasBeenSet = true;
112 m_asPath.emplace_back(std::forward<AsPathT>(value));
113 return *this;
114 }
116
118
121 inline const Aws::Vector<Aws::String>& GetCommunities() const { return m_communities; }
122 inline bool CommunitiesHasBeenSet() const { return m_communitiesHasBeenSet; }
123 template <typename CommunitiesT = Aws::Vector<Aws::String>>
124 void SetCommunities(CommunitiesT&& value) {
125 m_communitiesHasBeenSet = true;
126 m_communities = std::forward<CommunitiesT>(value);
127 }
128 template <typename CommunitiesT = Aws::Vector<Aws::String>>
129 Route& WithCommunities(CommunitiesT&& value) {
130 SetCommunities(std::forward<CommunitiesT>(value));
131 return *this;
132 }
133 template <typename CommunitiesT = Aws::String>
134 Route& AddCommunities(CommunitiesT&& value) {
135 m_communitiesHasBeenSet = true;
136 m_communities.emplace_back(std::forward<CommunitiesT>(value));
137 return *this;
138 }
140
142
147 inline const Aws::String& GetAwsLogicalDeviceId() const { return m_awsLogicalDeviceId; }
148 inline bool AwsLogicalDeviceIdHasBeenSet() const { return m_awsLogicalDeviceIdHasBeenSet; }
149 template <typename AwsLogicalDeviceIdT = Aws::String>
150 void SetAwsLogicalDeviceId(AwsLogicalDeviceIdT&& value) {
151 m_awsLogicalDeviceIdHasBeenSet = true;
152 m_awsLogicalDeviceId = std::forward<AwsLogicalDeviceIdT>(value);
153 }
154 template <typename AwsLogicalDeviceIdT = Aws::String>
155 Route& WithAwsLogicalDeviceId(AwsLogicalDeviceIdT&& value) {
156 SetAwsLogicalDeviceId(std::forward<AwsLogicalDeviceIdT>(value));
157 return *this;
158 }
160
162
166 inline const Aws::Utils::DateTime& GetRouteInstalledAt() const { return m_routeInstalledAt; }
167 inline bool RouteInstalledAtHasBeenSet() const { return m_routeInstalledAtHasBeenSet; }
168 template <typename RouteInstalledAtT = Aws::Utils::DateTime>
169 void SetRouteInstalledAt(RouteInstalledAtT&& value) {
170 m_routeInstalledAtHasBeenSet = true;
171 m_routeInstalledAt = std::forward<RouteInstalledAtT>(value);
172 }
173 template <typename RouteInstalledAtT = Aws::Utils::DateTime>
174 Route& WithRouteInstalledAt(RouteInstalledAtT&& value) {
175 SetRouteInstalledAt(std::forward<RouteInstalledAtT>(value));
176 return *this;
177 }
179 private:
180 Aws::String m_cidr;
181
182 RouteDirection m_routeDirection{RouteDirection::NOT_SET};
183
184 AddressFamily m_addressFamily{AddressFamily::NOT_SET};
185
187
188 Aws::Vector<Aws::String> m_communities;
189
190 Aws::String m_awsLogicalDeviceId;
191
192 Aws::Utils::DateTime m_routeInstalledAt{};
193 bool m_cidrHasBeenSet = false;
194 bool m_routeDirectionHasBeenSet = false;
195 bool m_addressFamilyHasBeenSet = false;
196 bool m_asPathHasBeenSet = false;
197 bool m_communitiesHasBeenSet = false;
198 bool m_awsLogicalDeviceIdHasBeenSet = false;
199 bool m_routeInstalledAtHasBeenSet = false;
200};
201
202} // namespace Model
203} // namespace DirectConnect
204} // namespace Aws
AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Utils::DateTime & GetRouteInstalledAt() const
Definition Route.h:166
AWS_DIRECTCONNECT_API Route(Aws::Utils::Json::JsonView jsonValue)
AWS_DIRECTCONNECT_API Route & operator=(Aws::Utils::Json::JsonView jsonValue)
Route & AddCommunities(CommunitiesT &&value)
Definition Route.h:134
const Aws::Vector< AsPathSegment > & GetAsPath() const
Definition Route.h:97
Route & WithAwsLogicalDeviceId(AwsLogicalDeviceIdT &&value)
Definition Route.h:155
Route & WithAddressFamily(AddressFamily value)
Definition Route.h:87
Route & WithCommunities(CommunitiesT &&value)
Definition Route.h:129
void SetCommunities(CommunitiesT &&value)
Definition Route.h:124
bool RouteDirectionHasBeenSet() const
Definition Route.h:65
void SetRouteInstalledAt(RouteInstalledAtT &&value)
Definition Route.h:169
const Aws::String & GetCidr() const
Definition Route.h:44
const Aws::Vector< Aws::String > & GetCommunities() const
Definition Route.h:121
Route & WithRouteDirection(RouteDirection value)
Definition Route.h:70
bool AddressFamilyHasBeenSet() const
Definition Route.h:82
void SetAsPath(AsPathT &&value)
Definition Route.h:100
bool AsPathHasBeenSet() const
Definition Route.h:98
AWS_DIRECTCONNECT_API Route()=default
void SetRouteDirection(RouteDirection value)
Definition Route.h:66
Route & WithCidr(CidrT &&value)
Definition Route.h:52
const Aws::String & GetAwsLogicalDeviceId() const
Definition Route.h:147
void SetAwsLogicalDeviceId(AwsLogicalDeviceIdT &&value)
Definition Route.h:150
bool RouteInstalledAtHasBeenSet() const
Definition Route.h:167
AddressFamily GetAddressFamily() const
Definition Route.h:81
void SetCidr(CidrT &&value)
Definition Route.h:47
void SetAddressFamily(AddressFamily value)
Definition Route.h:83
Route & WithRouteInstalledAt(RouteInstalledAtT &&value)
Definition Route.h:174
bool CommunitiesHasBeenSet() const
Definition Route.h:122
RouteDirection GetRouteDirection() const
Definition Route.h:64
Route & AddAsPath(AsPathT &&value)
Definition Route.h:110
Route & WithAsPath(AsPathT &&value)
Definition Route.h:105
bool AwsLogicalDeviceIdHasBeenSet() const
Definition Route.h:148
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue