AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
HttpRouteMatch.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/HttpMethod.h>
10#include <aws/appmesh/model/HttpPathMatch.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/appmesh/model/HttpScheme.h>
13#include <aws/appmesh/model/HttpRouteHeader.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 HttpRouteMatch() = default;
42 AWS_APPMESH_API HttpRouteMatch(Aws::Utils::Json::JsonView jsonValue);
44 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::Vector<HttpRouteHeader>& GetHeaders() const { return m_headers; }
52 inline bool HeadersHasBeenSet() const { return m_headersHasBeenSet; }
53 template<typename HeadersT = Aws::Vector<HttpRouteHeader>>
54 void SetHeaders(HeadersT&& value) { m_headersHasBeenSet = true; m_headers = std::forward<HeadersT>(value); }
55 template<typename HeadersT = Aws::Vector<HttpRouteHeader>>
56 HttpRouteMatch& WithHeaders(HeadersT&& value) { SetHeaders(std::forward<HeadersT>(value)); return *this;}
57 template<typename HeadersT = HttpRouteHeader>
58 HttpRouteMatch& AddHeaders(HeadersT&& value) { m_headersHasBeenSet = true; m_headers.emplace_back(std::forward<HeadersT>(value)); return *this; }
60
62
65 inline HttpMethod GetMethod() const { return m_method; }
66 inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; }
67 inline void SetMethod(HttpMethod value) { m_methodHasBeenSet = true; m_method = value; }
68 inline HttpRouteMatch& WithMethod(HttpMethod value) { SetMethod(value); return *this;}
70
72
75 inline const HttpPathMatch& GetPath() const { return m_path; }
76 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
77 template<typename PathT = HttpPathMatch>
78 void SetPath(PathT&& value) { m_pathHasBeenSet = true; m_path = std::forward<PathT>(value); }
79 template<typename PathT = HttpPathMatch>
80 HttpRouteMatch& WithPath(PathT&& value) { SetPath(std::forward<PathT>(value)); return *this;}
82
84
87 inline int GetPort() const { return m_port; }
88 inline bool PortHasBeenSet() const { return m_portHasBeenSet; }
89 inline void SetPort(int value) { m_portHasBeenSet = true; m_port = value; }
90 inline HttpRouteMatch& WithPort(int value) { SetPort(value); return *this;}
92
94
102 inline const Aws::String& GetPrefix() const { return m_prefix; }
103 inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
104 template<typename PrefixT = Aws::String>
105 void SetPrefix(PrefixT&& value) { m_prefixHasBeenSet = true; m_prefix = std::forward<PrefixT>(value); }
106 template<typename PrefixT = Aws::String>
107 HttpRouteMatch& WithPrefix(PrefixT&& value) { SetPrefix(std::forward<PrefixT>(value)); return *this;}
109
111
114 inline const Aws::Vector<HttpQueryParameter>& GetQueryParameters() const { return m_queryParameters; }
115 inline bool QueryParametersHasBeenSet() const { return m_queryParametersHasBeenSet; }
116 template<typename QueryParametersT = Aws::Vector<HttpQueryParameter>>
117 void SetQueryParameters(QueryParametersT&& value) { m_queryParametersHasBeenSet = true; m_queryParameters = std::forward<QueryParametersT>(value); }
118 template<typename QueryParametersT = Aws::Vector<HttpQueryParameter>>
119 HttpRouteMatch& WithQueryParameters(QueryParametersT&& value) { SetQueryParameters(std::forward<QueryParametersT>(value)); return *this;}
120 template<typename QueryParametersT = HttpQueryParameter>
121 HttpRouteMatch& AddQueryParameters(QueryParametersT&& value) { m_queryParametersHasBeenSet = true; m_queryParameters.emplace_back(std::forward<QueryParametersT>(value)); return *this; }
123
125
129 inline HttpScheme GetScheme() const { return m_scheme; }
130 inline bool SchemeHasBeenSet() const { return m_schemeHasBeenSet; }
131 inline void SetScheme(HttpScheme value) { m_schemeHasBeenSet = true; m_scheme = value; }
132 inline HttpRouteMatch& WithScheme(HttpScheme value) { SetScheme(value); return *this;}
134 private:
135
137 bool m_headersHasBeenSet = false;
138
140 bool m_methodHasBeenSet = false;
141
142 HttpPathMatch m_path;
143 bool m_pathHasBeenSet = false;
144
145 int m_port{0};
146 bool m_portHasBeenSet = false;
147
148 Aws::String m_prefix;
149 bool m_prefixHasBeenSet = false;
150
151 Aws::Vector<HttpQueryParameter> m_queryParameters;
152 bool m_queryParametersHasBeenSet = false;
153
155 bool m_schemeHasBeenSet = false;
156 };
157
158} // namespace Model
159} // namespace AppMesh
160} // namespace Aws
HttpRouteMatch & AddQueryParameters(QueryParametersT &&value)
void SetHeaders(HeadersT &&value)
HttpRouteMatch & WithScheme(HttpScheme value)
HttpRouteMatch & WithHeaders(HeadersT &&value)
const HttpPathMatch & GetPath() const
const Aws::Vector< HttpQueryParameter > & GetQueryParameters() const
AWS_APPMESH_API HttpRouteMatch & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< HttpRouteHeader > & GetHeaders() const
HttpRouteMatch & WithPath(PathT &&value)
AWS_APPMESH_API HttpRouteMatch()=default
HttpRouteMatch & WithQueryParameters(QueryParametersT &&value)
const Aws::String & GetPrefix() const
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
HttpRouteMatch & WithPrefix(PrefixT &&value)
AWS_APPMESH_API HttpRouteMatch(Aws::Utils::Json::JsonView jsonValue)
HttpRouteMatch & WithMethod(HttpMethod value)
HttpRouteMatch & WithPort(int value)
HttpRouteMatch & AddHeaders(HeadersT &&value)
void SetQueryParameters(QueryParametersT &&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