AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
GatewayRouteSpec.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/GrpcGatewayRoute.h>
9#include <aws/appmesh/model/HttpGatewayRoute.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace AppMesh {
21namespace Model {
22
30 public:
31 AWS_APPMESH_API GatewayRouteSpec() = default;
32 AWS_APPMESH_API GatewayRouteSpec(Aws::Utils::Json::JsonView jsonValue);
34 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const GrpcGatewayRoute& GetGrpcRoute() const { return m_grpcRoute; }
41 inline bool GrpcRouteHasBeenSet() const { return m_grpcRouteHasBeenSet; }
42 template <typename GrpcRouteT = GrpcGatewayRoute>
43 void SetGrpcRoute(GrpcRouteT&& value) {
44 m_grpcRouteHasBeenSet = true;
45 m_grpcRoute = std::forward<GrpcRouteT>(value);
46 }
47 template <typename GrpcRouteT = GrpcGatewayRoute>
48 GatewayRouteSpec& WithGrpcRoute(GrpcRouteT&& value) {
49 SetGrpcRoute(std::forward<GrpcRouteT>(value));
50 return *this;
51 }
53
55
58 inline const HttpGatewayRoute& GetHttp2Route() const { return m_http2Route; }
59 inline bool Http2RouteHasBeenSet() const { return m_http2RouteHasBeenSet; }
60 template <typename Http2RouteT = HttpGatewayRoute>
61 void SetHttp2Route(Http2RouteT&& value) {
62 m_http2RouteHasBeenSet = true;
63 m_http2Route = std::forward<Http2RouteT>(value);
64 }
65 template <typename Http2RouteT = HttpGatewayRoute>
66 GatewayRouteSpec& WithHttp2Route(Http2RouteT&& value) {
67 SetHttp2Route(std::forward<Http2RouteT>(value));
68 return *this;
69 }
71
73
76 inline const HttpGatewayRoute& GetHttpRoute() const { return m_httpRoute; }
77 inline bool HttpRouteHasBeenSet() const { return m_httpRouteHasBeenSet; }
78 template <typename HttpRouteT = HttpGatewayRoute>
79 void SetHttpRoute(HttpRouteT&& value) {
80 m_httpRouteHasBeenSet = true;
81 m_httpRoute = std::forward<HttpRouteT>(value);
82 }
83 template <typename HttpRouteT = HttpGatewayRoute>
84 GatewayRouteSpec& WithHttpRoute(HttpRouteT&& value) {
85 SetHttpRoute(std::forward<HttpRouteT>(value));
86 return *this;
87 }
89
91
94 inline int GetPriority() const { return m_priority; }
95 inline bool PriorityHasBeenSet() const { return m_priorityHasBeenSet; }
96 inline void SetPriority(int value) {
97 m_priorityHasBeenSet = true;
98 m_priority = value;
99 }
100 inline GatewayRouteSpec& WithPriority(int value) {
101 SetPriority(value);
102 return *this;
103 }
105 private:
106 GrpcGatewayRoute m_grpcRoute;
107
108 HttpGatewayRoute m_http2Route;
109
110 HttpGatewayRoute m_httpRoute;
111
112 int m_priority{0};
113 bool m_grpcRouteHasBeenSet = false;
114 bool m_http2RouteHasBeenSet = false;
115 bool m_httpRouteHasBeenSet = false;
116 bool m_priorityHasBeenSet = false;
117};
118
119} // namespace Model
120} // namespace AppMesh
121} // namespace Aws
AWS_APPMESH_API GatewayRouteSpec & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetGrpcRoute(GrpcRouteT &&value)
GatewayRouteSpec & WithGrpcRoute(GrpcRouteT &&value)
const HttpGatewayRoute & GetHttp2Route() const
GatewayRouteSpec & WithHttp2Route(Http2RouteT &&value)
const GrpcGatewayRoute & GetGrpcRoute() const
GatewayRouteSpec & WithHttpRoute(HttpRouteT &&value)
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
void SetHttp2Route(Http2RouteT &&value)
AWS_APPMESH_API GatewayRouteSpec(Aws::Utils::Json::JsonView jsonValue)
const HttpGatewayRoute & GetHttpRoute() const
GatewayRouteSpec & WithPriority(int value)
AWS_APPMESH_API GatewayRouteSpec()=default
void SetHttpRoute(HttpRouteT &&value)
Aws::Utils::Json::JsonValue JsonValue