AWS SDK for C++

AWS SDK for C++ Version 1.11.745

Loading...
Searching...
No Matches
RouteSpec.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/GrpcRoute.h>
9#include <aws/appmesh/model/HttpRoute.h>
10#include <aws/appmesh/model/TcpRoute.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Json {
17class JsonValue;
18class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace AppMesh {
22namespace Model {
23
30class RouteSpec {
31 public:
32 AWS_APPMESH_API RouteSpec() = default;
33 AWS_APPMESH_API RouteSpec(Aws::Utils::Json::JsonView jsonValue);
34 AWS_APPMESH_API RouteSpec& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const GrpcRoute& GetGrpcRoute() const { return m_grpcRoute; }
42 inline bool GrpcRouteHasBeenSet() const { return m_grpcRouteHasBeenSet; }
43 template <typename GrpcRouteT = GrpcRoute>
44 void SetGrpcRoute(GrpcRouteT&& value) {
45 m_grpcRouteHasBeenSet = true;
46 m_grpcRoute = std::forward<GrpcRouteT>(value);
47 }
48 template <typename GrpcRouteT = GrpcRoute>
49 RouteSpec& WithGrpcRoute(GrpcRouteT&& value) {
50 SetGrpcRoute(std::forward<GrpcRouteT>(value));
51 return *this;
52 }
54
56
59 inline const HttpRoute& GetHttp2Route() const { return m_http2Route; }
60 inline bool Http2RouteHasBeenSet() const { return m_http2RouteHasBeenSet; }
61 template <typename Http2RouteT = HttpRoute>
62 void SetHttp2Route(Http2RouteT&& value) {
63 m_http2RouteHasBeenSet = true;
64 m_http2Route = std::forward<Http2RouteT>(value);
65 }
66 template <typename Http2RouteT = HttpRoute>
67 RouteSpec& WithHttp2Route(Http2RouteT&& value) {
68 SetHttp2Route(std::forward<Http2RouteT>(value));
69 return *this;
70 }
72
74
77 inline const HttpRoute& GetHttpRoute() const { return m_httpRoute; }
78 inline bool HttpRouteHasBeenSet() const { return m_httpRouteHasBeenSet; }
79 template <typename HttpRouteT = HttpRoute>
80 void SetHttpRoute(HttpRouteT&& value) {
81 m_httpRouteHasBeenSet = true;
82 m_httpRoute = std::forward<HttpRouteT>(value);
83 }
84 template <typename HttpRouteT = HttpRoute>
85 RouteSpec& WithHttpRoute(HttpRouteT&& value) {
86 SetHttpRoute(std::forward<HttpRouteT>(value));
87 return *this;
88 }
90
92
96 inline int GetPriority() const { return m_priority; }
97 inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
98 inline void SetPriority(int value) {
99 m_priorityHasBeenSet = true;
100 m_priority = value;
101 }
102 inline RouteSpec& WithPriority(int value) {
103 SetPriority(value);
104 return *this;
105 }
107
109
112 inline const TcpRoute& GetTcpRoute() const { return m_tcpRoute; }
113 inline bool TcpRouteHasBeenSet() const { return m_tcpRouteHasBeenSet; }
114 template <typename TcpRouteT = TcpRoute>
115 void SetTcpRoute(TcpRouteT&& value) {
116 m_tcpRouteHasBeenSet = true;
117 m_tcpRoute = std::forward<TcpRouteT>(value);
118 }
119 template <typename TcpRouteT = TcpRoute>
120 RouteSpec& WithTcpRoute(TcpRouteT&& value) {
121 SetTcpRoute(std::forward<TcpRouteT>(value));
122 return *this;
123 }
125 private:
126 GrpcRoute m_grpcRoute;
127
128 HttpRoute m_http2Route;
129
130 HttpRoute m_httpRoute;
131
132 int m_priority{0};
133
134 TcpRoute m_tcpRoute;
135 bool m_grpcRouteHasBeenSet = false;
136 bool m_http2RouteHasBeenSet = false;
137 bool m_httpRouteHasBeenSet = false;
138 bool m_priorityHasBeenSet = false;
139 bool m_tcpRouteHasBeenSet = false;
140};
141
142} // namespace Model
143} // namespace AppMesh
144} // namespace Aws
AWS_APPMESH_API RouteSpec(Aws::Utils::Json::JsonView jsonValue)
const GrpcRoute & GetGrpcRoute() const
Definition RouteSpec.h:41
AWS_APPMESH_API RouteSpec()=default
RouteSpec & WithTcpRoute(TcpRouteT &&value)
Definition RouteSpec.h:120
RouteSpec & WithHttpRoute(HttpRouteT &&value)
Definition RouteSpec.h:85
AWS_APPMESH_API RouteSpec & operator=(Aws::Utils::Json::JsonView jsonValue)
const HttpRoute & GetHttpRoute() const
Definition RouteSpec.h:77
void SetHttpRoute(HttpRouteT &&value)
Definition RouteSpec.h:80
void SetHttp2Route(Http2RouteT &&value)
Definition RouteSpec.h:62
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
RouteSpec & WithHttp2Route(Http2RouteT &&value)
Definition RouteSpec.h:67
const HttpRoute & GetHttp2Route() const
Definition RouteSpec.h:59
RouteSpec & WithGrpcRoute(GrpcRouteT &&value)
Definition RouteSpec.h:49
void SetGrpcRoute(GrpcRouteT &&value)
Definition RouteSpec.h:44
RouteSpec & WithPriority(int value)
Definition RouteSpec.h:102
bool Http2RouteHasBeenSet() const
Definition RouteSpec.h:60
void SetPriority(int value)
Definition RouteSpec.h:98
void SetTcpRoute(TcpRouteT &&value)
Definition RouteSpec.h:115
const TcpRoute & GetTcpRoute() const
Definition RouteSpec.h:112
Aws::Utils::Json::JsonValue JsonValue