AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
TcpRoute.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/TcpRouteAction.h>
9#include <aws/appmesh/model/TcpRouteMatch.h>
10#include <aws/appmesh/model/TcpTimeout.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
29class TcpRoute {
30 public:
31 AWS_APPMESH_API TcpRoute() = default;
32 AWS_APPMESH_API TcpRoute(Aws::Utils::Json::JsonView jsonValue);
33 AWS_APPMESH_API TcpRoute& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const TcpRouteAction& GetAction() const { return m_action; }
41 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
42 template <typename ActionT = TcpRouteAction>
43 void SetAction(ActionT&& value) {
44 m_actionHasBeenSet = true;
45 m_action = std::forward<ActionT>(value);
46 }
47 template <typename ActionT = TcpRouteAction>
48 TcpRoute& WithAction(ActionT&& value) {
49 SetAction(std::forward<ActionT>(value));
50 return *this;
51 }
53
55
58 inline const TcpRouteMatch& GetMatch() const { return m_match; }
59 inline bool MatchHasBeenSet() const { return m_matchHasBeenSet; }
60 template <typename MatchT = TcpRouteMatch>
61 void SetMatch(MatchT&& value) {
62 m_matchHasBeenSet = true;
63 m_match = std::forward<MatchT>(value);
64 }
65 template <typename MatchT = TcpRouteMatch>
66 TcpRoute& WithMatch(MatchT&& value) {
67 SetMatch(std::forward<MatchT>(value));
68 return *this;
69 }
71
73
76 inline const TcpTimeout& GetTimeout() const { return m_timeout; }
77 inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
78 template <typename TimeoutT = TcpTimeout>
79 void SetTimeout(TimeoutT&& value) {
80 m_timeoutHasBeenSet = true;
81 m_timeout = std::forward<TimeoutT>(value);
82 }
83 template <typename TimeoutT = TcpTimeout>
84 TcpRoute& WithTimeout(TimeoutT&& value) {
85 SetTimeout(std::forward<TimeoutT>(value));
86 return *this;
87 }
89 private:
90 TcpRouteAction m_action;
91
92 TcpRouteMatch m_match;
93
94 TcpTimeout m_timeout;
95 bool m_actionHasBeenSet = false;
96 bool m_matchHasBeenSet = false;
97 bool m_timeoutHasBeenSet = false;
98};
99
100} // namespace Model
101} // namespace AppMesh
102} // namespace Aws
void SetAction(ActionT &&value)
Definition TcpRoute.h:43
void SetTimeout(TimeoutT &&value)
Definition TcpRoute.h:79
bool ActionHasBeenSet() const
Definition TcpRoute.h:41
AWS_APPMESH_API TcpRoute()=default
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
bool TimeoutHasBeenSet() const
Definition TcpRoute.h:77
TcpRoute & WithTimeout(TimeoutT &&value)
Definition TcpRoute.h:84
TcpRoute & WithAction(ActionT &&value)
Definition TcpRoute.h:48
AWS_APPMESH_API TcpRoute & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetMatch(MatchT &&value)
Definition TcpRoute.h:61
const TcpTimeout & GetTimeout() const
Definition TcpRoute.h:76
AWS_APPMESH_API TcpRoute(Aws::Utils::Json::JsonView jsonValue)
TcpRoute & WithMatch(MatchT &&value)
Definition TcpRoute.h:66
const TcpRouteAction & GetAction() const
Definition TcpRoute.h:40
const TcpRouteMatch & GetMatch() const
Definition TcpRoute.h:58
Aws::Utils::Json::JsonValue JsonValue