AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
HttpMatch.h
1
6#pragma once
7#include <aws/vpc-lattice/VPCLattice_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/vpc-lattice/model/PathMatch.h>
11#include <aws/vpc-lattice/model/HeaderMatch.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace VPCLattice
25{
26namespace Model
27{
28
36 {
37 public:
38 AWS_VPCLATTICE_API HttpMatch() = default;
39 AWS_VPCLATTICE_API HttpMatch(Aws::Utils::Json::JsonView jsonValue);
40 AWS_VPCLATTICE_API HttpMatch& operator=(Aws::Utils::Json::JsonView jsonValue);
41 AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const;
42
43
45
49 inline const Aws::Vector<HeaderMatch>& GetHeaderMatches() const { return m_headerMatches; }
50 inline bool HeaderMatchesHasBeenSet() const { return m_headerMatchesHasBeenSet; }
51 template<typename HeaderMatchesT = Aws::Vector<HeaderMatch>>
52 void SetHeaderMatches(HeaderMatchesT&& value) { m_headerMatchesHasBeenSet = true; m_headerMatches = std::forward<HeaderMatchesT>(value); }
53 template<typename HeaderMatchesT = Aws::Vector<HeaderMatch>>
54 HttpMatch& WithHeaderMatches(HeaderMatchesT&& value) { SetHeaderMatches(std::forward<HeaderMatchesT>(value)); return *this;}
55 template<typename HeaderMatchesT = HeaderMatch>
56 HttpMatch& AddHeaderMatches(HeaderMatchesT&& value) { m_headerMatchesHasBeenSet = true; m_headerMatches.emplace_back(std::forward<HeaderMatchesT>(value)); return *this; }
58
60
63 inline const Aws::String& GetMethod() const { return m_method; }
64 inline bool MethodHasBeenSet() const { return m_methodHasBeenSet; }
65 template<typename MethodT = Aws::String>
66 void SetMethod(MethodT&& value) { m_methodHasBeenSet = true; m_method = std::forward<MethodT>(value); }
67 template<typename MethodT = Aws::String>
68 HttpMatch& WithMethod(MethodT&& value) { SetMethod(std::forward<MethodT>(value)); return *this;}
70
72
75 inline const PathMatch& GetPathMatch() const { return m_pathMatch; }
76 inline bool PathMatchHasBeenSet() const { return m_pathMatchHasBeenSet; }
77 template<typename PathMatchT = PathMatch>
78 void SetPathMatch(PathMatchT&& value) { m_pathMatchHasBeenSet = true; m_pathMatch = std::forward<PathMatchT>(value); }
79 template<typename PathMatchT = PathMatch>
80 HttpMatch& WithPathMatch(PathMatchT&& value) { SetPathMatch(std::forward<PathMatchT>(value)); return *this;}
82 private:
83
84 Aws::Vector<HeaderMatch> m_headerMatches;
85 bool m_headerMatchesHasBeenSet = false;
86
87 Aws::String m_method;
88 bool m_methodHasBeenSet = false;
89
90 PathMatch m_pathMatch;
91 bool m_pathMatchHasBeenSet = false;
92 };
93
94} // namespace Model
95} // namespace VPCLattice
96} // namespace Aws
HttpMatch & WithHeaderMatches(HeaderMatchesT &&value)
Definition HttpMatch.h:54
void SetPathMatch(PathMatchT &&value)
Definition HttpMatch.h:78
HttpMatch & AddHeaderMatches(HeaderMatchesT &&value)
Definition HttpMatch.h:56
AWS_VPCLATTICE_API HttpMatch()=default
AWS_VPCLATTICE_API HttpMatch(Aws::Utils::Json::JsonView jsonValue)
void SetMethod(MethodT &&value)
Definition HttpMatch.h:66
const Aws::Vector< HeaderMatch > & GetHeaderMatches() const
Definition HttpMatch.h:49
AWS_VPCLATTICE_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetMethod() const
Definition HttpMatch.h:63
const PathMatch & GetPathMatch() const
Definition HttpMatch.h:75
void SetHeaderMatches(HeaderMatchesT &&value)
Definition HttpMatch.h:52
HttpMatch & WithMethod(MethodT &&value)
Definition HttpMatch.h:68
HttpMatch & WithPathMatch(PathMatchT &&value)
Definition HttpMatch.h:80
AWS_VPCLATTICE_API HttpMatch & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue