AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
HttpGatewayRouteMatch.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/appmesh/model/GatewayRouteHostnameMatch.h>
10#include <aws/appmesh/model/HttpMethod.h>
11#include <aws/appmesh/model/HttpPathMatch.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/appmesh/model/HttpGatewayRouteHeader.h>
14#include <aws/appmesh/model/HttpQueryParameter.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace AppMesh
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_APPMESH_API HttpGatewayRouteMatch() = default;
44 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::Vector<HttpGatewayRouteHeader>& GetHeaders() const { return m_headers; }
52 inline bool HeadersHasBeenSet() const { return m_headersHasBeenSet; }
53 template<typename HeadersT = Aws::Vector<HttpGatewayRouteHeader>>
54 void SetHeaders(HeadersT&& value) { m_headersHasBeenSet = true; m_headers = std::forward<HeadersT>(value); }
55 template<typename HeadersT = Aws::Vector<HttpGatewayRouteHeader>>
56 HttpGatewayRouteMatch& WithHeaders(HeadersT&& value) { SetHeaders(std::forward<HeadersT>(value)); return *this;}
57 template<typename HeadersT = HttpGatewayRouteHeader>
58 HttpGatewayRouteMatch& AddHeaders(HeadersT&& value) { m_headersHasBeenSet = true; m_headers.emplace_back(std::forward<HeadersT>(value)); return *this; }
60
62
65 inline const GatewayRouteHostnameMatch& GetHostname() const { return m_hostname; }
66 inline bool HostnameHasBeenSet() const { return m_hostnameHasBeenSet; }
67 template<typename HostnameT = GatewayRouteHostnameMatch>
68 void SetHostname(HostnameT&& value) { m_hostnameHasBeenSet = true; m_hostname = std::forward<HostnameT>(value); }
69 template<typename HostnameT = GatewayRouteHostnameMatch>
70 HttpGatewayRouteMatch& WithHostname(HostnameT&& value) { SetHostname(std::forward<HostnameT>(value)); return *this;}
72
74
77 inline HttpMethod GetMethod() const { return m_method; }
78 inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; }
79 inline void SetMethod(HttpMethod value) { m_methodHasBeenSet = true; m_method = value; }
80 inline HttpGatewayRouteMatch& WithMethod(HttpMethod value) { SetMethod(value); return *this;}
82
84
87 inline const HttpPathMatch& GetPath() const { return m_path; }
88 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
89 template<typename PathT = HttpPathMatch>
90 void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward<PathT>(value); }
91 template<typename PathT = HttpPathMatch>
92 HttpGatewayRouteMatch& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
94
96
99 inline int GetPort() const { return m_port; }
100 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
101 inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; }
102 inline HttpGatewayRouteMatch& WithPort(int value) { SetPort(value); return *this;}
104
106
114 inline const Aws::String& GetPrefix() const { return m_prefix; }
115 inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
116 template<typename PrefixT = Aws::String>
117 void SetPrefix(PrefixT&& value) { m_prefixHasBeenSet = true; m_prefix = std::forward<PrefixT>(value); }
118 template<typename PrefixT = Aws::String>
119 HttpGatewayRouteMatch& WithPrefix(PrefixT&& value) { SetPrefix(std::forward<PrefixT>(value)); return *this;}
121
123
126 inline const Aws::Vector<HttpQueryParameter>& GetQueryParameters() const { return m_queryParameters; }
127 inline bool QueryParametersHasBeenSet() const { return m_queryParametersHasBeenSet; }
128 template<typename QueryParametersT = Aws::Vector<HttpQueryParameter>>
129 void SetQueryParameters(QueryParametersT&& value) { m_queryParametersHasBeenSet = true; m_queryParameters = std::forward<QueryParametersT>(value); }
130 template<typename QueryParametersT = Aws::Vector<HttpQueryParameter>>
131 HttpGatewayRouteMatch& WithQueryParameters(QueryParametersT&& value) { SetQueryParameters(std::forward<QueryParametersT>(value)); return *this;}
132 template<typename QueryParametersT = HttpQueryParameter>
133 HttpGatewayRouteMatch& AddQueryParameters(QueryParametersT&& value) { m_queryParametersHasBeenSet = true; m_queryParameters.emplace_back(std::forward<QueryParametersT>(value)); return *this; }
135 private:
136
138 bool m_headersHasBeenSet = false;
139
140 GatewayRouteHostnameMatch m_hostname;
141 bool m_hostnameHasBeenSet = false;
142
144 bool m_methodHasBeenSet = false;
145
146 HttpPathMatch m_path;
147 bool m_pathHasBeenSet = false;
148
149 int m_port{0};
150 bool m_portHasBeenSet = false;
151
152 Aws::String m_prefix;
153 bool m_prefixHasBeenSet = false;
154
155 Aws::Vector<HttpQueryParameter> m_queryParameters;
156 bool m_queryParametersHasBeenSet = false;
157 };
158
159} // namespace Model
160} // namespace AppMesh
161} // namespace Aws
HttpGatewayRouteMatch & WithPrefix(PrefixT &&value)
HttpGatewayRouteMatch & WithQueryParameters(QueryParametersT &&value)
HttpGatewayRouteMatch & WithHeaders(HeadersT &&value)
const GatewayRouteHostnameMatch & GetHostname() const
void SetQueryParameters(QueryParametersT &&value)
AWS_APPMESH_API HttpGatewayRouteMatch & operator=(Aws::Utils::Json::JsonView jsonValue)
HttpGatewayRouteMatch & WithHostname(HostnameT &&value)
HttpGatewayRouteMatch & WithPath(PathT &&value)
const Aws::Vector< HttpGatewayRouteHeader > & GetHeaders() const
AWS_APPMESH_API HttpGatewayRouteMatch(Aws::Utils::Json::JsonView jsonValue)
HttpGatewayRouteMatch & AddQueryParameters(QueryParametersT &&value)
AWS_APPMESH_API HttpGatewayRouteMatch()=default
const Aws::Vector< HttpQueryParameter > & GetQueryParameters() const
HttpGatewayRouteMatch & AddHeaders(HeadersT &&value)
HttpGatewayRouteMatch & WithPort(int value)
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
HttpGatewayRouteMatch & WithMethod(HttpMethod value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue