AWS SDK for C++

AWS SDK for C++ Version 1.11.748

Loading...
Searching...
No Matches
OutlierDetection.h
1
6#pragma once
7#include <aws/appmesh/AppMesh_EXPORTS.h>
8#include <aws/appmesh/model/Duration.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace AppMesh {
20namespace Model {
21
29 public:
30 AWS_APPMESH_API OutlierDetection() = default;
31 AWS_APPMESH_API OutlierDetection(Aws::Utils::Json::JsonView jsonValue);
33 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
34
36
39 inline const Duration& GetBaseEjectionDuration() const { return m_baseEjectionDuration; }
40 inline bool BaseEjectionDurationHasBeenSet() const { return m_baseEjectionDurationHasBeenSet; }
41 template <typename BaseEjectionDurationT = Duration>
42 void SetBaseEjectionDuration(BaseEjectionDurationT&& value) {
43 m_baseEjectionDurationHasBeenSet = true;
44 m_baseEjectionDuration = std::forward<BaseEjectionDurationT>(value);
45 }
46 template <typename BaseEjectionDurationT = Duration>
47 OutlierDetection& WithBaseEjectionDuration(BaseEjectionDurationT&& value) {
48 SetBaseEjectionDuration(std::forward<BaseEjectionDurationT>(value));
49 return *this;
50 }
52
54
57 inline const Duration& GetInterval() const { return m_interval; }
58 inline bool IntervalHasBeenSet() const { return m_intervalHasBeenSet; }
59 template <typename IntervalT = Duration>
60 void SetInterval(IntervalT&& value) {
61 m_intervalHasBeenSet = true;
62 m_interval = std::forward<IntervalT>(value);
63 }
64 template <typename IntervalT = Duration>
65 OutlierDetection& WithInterval(IntervalT&& value) {
66 SetInterval(std::forward<IntervalT>(value));
67 return *this;
68 }
70
72
76 inline int GetMaxEjectionPercent() const { return m_maxEjectionPercent; }
77 inline bool MaxEjectionPercentHasBeenSet() const { return m_maxEjectionPercentHasBeenSet; }
78 inline void SetMaxEjectionPercent(int value) {
79 m_maxEjectionPercentHasBeenSet = true;
80 m_maxEjectionPercent = value;
81 }
84 return *this;
85 }
87
89
92 inline long long GetMaxServerErrors() const { return m_maxServerErrors; }
93 inline bool MaxServerErrorsHasBeenSet() const { return m_maxServerErrorsHasBeenSet; }
94 inline void SetMaxServerErrors(long long value) {
95 m_maxServerErrorsHasBeenSet = true;
96 m_maxServerErrors = value;
97 }
98 inline OutlierDetection& WithMaxServerErrors(long long value) {
99 SetMaxServerErrors(value);
100 return *this;
101 }
103 private:
104 Duration m_baseEjectionDuration;
105
106 Duration m_interval;
107
108 int m_maxEjectionPercent{0};
109
110 long long m_maxServerErrors{0};
111 bool m_baseEjectionDurationHasBeenSet = false;
112 bool m_intervalHasBeenSet = false;
113 bool m_maxEjectionPercentHasBeenSet = false;
114 bool m_maxServerErrorsHasBeenSet = false;
115};
116
117} // namespace Model
118} // namespace AppMesh
119} // namespace Aws
OutlierDetection & WithBaseEjectionDuration(BaseEjectionDurationT &&value)
AWS_APPMESH_API OutlierDetection & operator=(Aws::Utils::Json::JsonView jsonValue)
OutlierDetection & WithInterval(IntervalT &&value)
AWS_APPMESH_API OutlierDetection()=default
OutlierDetection & WithMaxEjectionPercent(int value)
AWS_APPMESH_API OutlierDetection(Aws::Utils::Json::JsonView jsonValue)
void SetBaseEjectionDuration(BaseEjectionDurationT &&value)
const Duration & GetBaseEjectionDuration() const
AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const
OutlierDetection & WithMaxServerErrors(long long value)
Aws::Utils::Json::JsonValue JsonValue