AWS SDK for C++

AWS SDK for C++ Version 1.11.743

Loading...
Searching...
No Matches
HeaderMatchMethod.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/MatchRange.h>
9#include <aws/core/utils/memory/stl/AWSString.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 HeaderMatchMethod() = default;
34 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetExact() const { return m_exact; }
41 inline bool ExactHasBeenSet() const { return m_exactHasBeenSet; }
42 template <typename ExactT = Aws::String>
43 void SetExact(ExactT&& value) {
44 m_exactHasBeenSet = true;
45 m_exact = std::forward<ExactT>(value);
46 }
47 template <typename ExactT = Aws::String>
48 HeaderMatchMethod& WithExact(ExactT&& value) {
49 SetExact(std::forward<ExactT>(value));
50 return *this;
51 }
53
55
58 inline const Aws::String& GetPrefix() const { return m_prefix; }
59 inline bool PrefixHasBeenSet() const { return m_prefixHasBeenSet; }
60 template <typename PrefixT = Aws::String>
61 void SetPrefix(PrefixT&& value) {
62 m_prefixHasBeenSet = true;
63 m_prefix = std::forward<PrefixT>(value);
64 }
65 template <typename PrefixT = Aws::String>
66 HeaderMatchMethod& WithPrefix(PrefixT&& value) {
67 SetPrefix(std::forward<PrefixT>(value));
68 return *this;
69 }
71
73
76 inline const MatchRange& GetRange() const { return m_range; }
77 inline bool RangeHasBeenSet() const { return m_rangeHasBeenSet; }
78 template <typename RangeT = MatchRange>
79 void SetRange(RangeT&& value) {
80 m_rangeHasBeenSet = true;
81 m_range = std::forward<RangeT>(value);
82 }
83 template <typename RangeT = MatchRange>
84 HeaderMatchMethod& WithRange(RangeT&& value) {
85 SetRange(std::forward<RangeT>(value));
86 return *this;
87 }
89
91
94 inline const Aws::String& GetRegex() const { return m_regex; }
95 inline bool RegexHasBeenSet() const { return m_regexHasBeenSet; }
96 template <typename RegexT = Aws::String>
97 void SetRegex(RegexT&& value) {
98 m_regexHasBeenSet = true;
99 m_regex = std::forward<RegexT>(value);
100 }
101 template <typename RegexT = Aws::String>
102 HeaderMatchMethod& WithRegex(RegexT&& value) {
103 SetRegex(std::forward<RegexT>(value));
104 return *this;
105 }
107
109
112 inline const Aws::String& GetSuffix() const { return m_suffix; }
113 inline bool SuffixHasBeenSet() const { return m_suffixHasBeenSet; }
114 template <typename SuffixT = Aws::String>
115 void SetSuffix(SuffixT&& value) {
116 m_suffixHasBeenSet = true;
117 m_suffix = std::forward<SuffixT>(value);
118 }
119 template <typename SuffixT = Aws::String>
120 HeaderMatchMethod& WithSuffix(SuffixT&& value) {
121 SetSuffix(std::forward<SuffixT>(value));
122 return *this;
123 }
125 private:
126 Aws::String m_exact;
127
128 Aws::String m_prefix;
129
130 MatchRange m_range;
131
132 Aws::String m_regex;
133
134 Aws::String m_suffix;
135 bool m_exactHasBeenSet = false;
136 bool m_prefixHasBeenSet = false;
137 bool m_rangeHasBeenSet = false;
138 bool m_regexHasBeenSet = false;
139 bool m_suffixHasBeenSet = false;
140};
141
142} // namespace Model
143} // namespace AppMesh
144} // namespace Aws
HeaderMatchMethod & WithExact(ExactT &&value)
const Aws::String & GetRegex() const
const Aws::String & GetPrefix() const
AWS_APPMESH_API HeaderMatchMethod & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetSuffix() const
AWS_APPMESH_API HeaderMatchMethod()=default
HeaderMatchMethod & WithSuffix(SuffixT &&value)
HeaderMatchMethod & WithRange(RangeT &&value)
AWS_APPMESH_API HeaderMatchMethod(Aws::Utils::Json::JsonView jsonValue)
const Aws::String & GetExact() const
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
HeaderMatchMethod & WithPrefix(PrefixT &&value)
HeaderMatchMethod & WithRegex(RegexT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue