AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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#include <utility>
12
13namespace Aws
14{
15namespace Utils
16{
17namespace Json
18{
19 class JsonValue;
20 class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace AppMesh
24{
25namespace Model
26{
27
34 {
35 public:
36 AWS_APPMESH_API TcpRoute() = default;
37 AWS_APPMESH_API TcpRoute(Aws::Utils::Json::JsonView jsonValue);
38 AWS_APPMESH_API TcpRoute& operator=(Aws::Utils::Json::JsonView jsonValue);
39 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
40
41
43
46 inline const TcpRouteAction& GetAction() const { return m_action; }
47 inline bool ActionHasBeenSet() const { return m_actionHasBeenSet; }
48 template<typename ActionT = TcpRouteAction>
49 void SetAction(ActionT&& value) { m_actionHasBeenSet = true; m_action = std::forward<ActionT>(value); }
50 template<typename ActionT = TcpRouteAction>
51 TcpRoute& WithAction(ActionT&& value) { SetAction(std::forward<ActionT>(value)); return *this;}
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) { m_matchHasBeenSet = true; m_match = std::forward<MatchT>(value); }
62 template<typename MatchT = TcpRouteMatch>
63 TcpRoute& WithMatch(MatchT&& value) { SetMatch(std::forward<MatchT>(value)); return *this;}
65
67
70 inline const TcpTimeout& GetTimeout() const { return m_timeout; }
71 inline bool TimeoutHasBeenSet() const { return m_timeoutHasBeenSet; }
72 template<typename TimeoutT = TcpTimeout>
73 void SetTimeout(TimeoutT&& value) { m_timeoutHasBeenSet = true; m_timeout = std::forward<TimeoutT>(value); }
74 template<typename TimeoutT = TcpTimeout>
75 TcpRoute& WithTimeout(TimeoutT&& value) { SetTimeout(std::forward<TimeoutT>(value)); return *this;}
77 private:
78
79 TcpRouteAction m_action;
80 bool m_actionHasBeenSet = false;
81
82 TcpRouteMatch m_match;
83 bool m_matchHasBeenSet = false;
84
85 TcpTimeout m_timeout;
86 bool m_timeoutHasBeenSet = false;
87 };
88
89} // namespace Model
90} // namespace AppMesh
91} // namespace Aws
void SetAction(ActionT &&value)
Definition TcpRoute.h:49
void SetTimeout(TimeoutT &&value)
Definition TcpRoute.h:73
bool ActionHasBeenSet() const
Definition TcpRoute.h:47
AWS_APPMESH_API TcpRoute()=default
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
bool TimeoutHasBeenSet() const
Definition TcpRoute.h:71
TcpRoute & WithTimeout(TimeoutT &&value)
Definition TcpRoute.h:75
TcpRoute & WithAction(ActionT &&value)
Definition TcpRoute.h:51
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:70
AWS_APPMESH_API TcpRoute(Aws::Utils::Json::JsonView jsonValue)
TcpRoute & WithMatch(MatchT &&value)
Definition TcpRoute.h:63
const TcpRouteAction & GetAction() const
Definition TcpRoute.h:46
const TcpRouteMatch & GetMatch() const
Definition TcpRoute.h:58
Aws::Utils::Json::JsonValue JsonValue