AWS SDK for C++

AWS SDK for C++ Version 1.11.612

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#include <utility>
10
11namespace Aws
12{
13namespace Utils
14{
15namespace Json
16{
17 class JsonValue;
18 class JsonView;
19} // namespace Json
20} // namespace Utils
21namespace AppMesh
22{
23namespace Model
24{
25
33 {
34 public:
35 AWS_APPMESH_API OutlierDetection() = default;
36 AWS_APPMESH_API OutlierDetection(Aws::Utils::Json::JsonView jsonValue);
38 AWS_APPMESH_API Aws::Utils::Json::JsonValue Jsonize() const;
39
40
42
45 inline const Duration& GetBaseEjectionDuration() const { return m_baseEjectionDuration; }
46 inline bool BaseEjectionDurationHasBeenSet() const { return m_baseEjectionDurationHasBeenSet; }
47 template<typename BaseEjectionDurationT = Duration>
48 void SetBaseEjectionDuration(BaseEjectionDurationT&& value) { m_baseEjectionDurationHasBeenSet = true; m_baseEjectionDuration = std::forward<BaseEjectionDurationT>(value); }
49 template<typename BaseEjectionDurationT = Duration>
50 OutlierDetection& WithBaseEjectionDuration(BaseEjectionDurationT&& value) { SetBaseEjectionDuration(std::forward<BaseEjectionDurationT>(value)); return *this;}
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) { m_intervalHasBeenSet = true; m_interval = std::forward<IntervalT>(value); }
61 template<typename IntervalT = Duration>
62 OutlierDetection& WithInterval(IntervalT&& value) { SetInterval(std::forward<IntervalT>(value)); return *this;}
64
66
70 inline int GetMaxEjectionPercent() const { return m_maxEjectionPercent; }
71 inline bool MaxEjectionPercentHasBeenSet() const { return m_maxEjectionPercentHasBeenSet; }
72 inline void SetMaxEjectionPercent(int value) { m_maxEjectionPercentHasBeenSet = true; m_maxEjectionPercent = value; }
73 inline OutlierDetection& WithMaxEjectionPercent(int value) { SetMaxEjectionPercent(value); return *this;}
75
77
80 inline long long GetMaxServerErrors() const { return m_maxServerErrors; }
81 inline bool MaxServerErrorsHasBeenSet() const { return m_maxServerErrorsHasBeenSet; }
82 inline void SetMaxServerErrors(long long value) { m_maxServerErrorsHasBeenSet = true; m_maxServerErrors = value; }
83 inline OutlierDetection& WithMaxServerErrors(long long value) { SetMaxServerErrors(value); return *this;}
85 private:
86
87 Duration m_baseEjectionDuration;
88 bool m_baseEjectionDurationHasBeenSet = false;
89
90 Duration m_interval;
91 bool m_intervalHasBeenSet = false;
92
93 int m_maxEjectionPercent{0};
94 bool m_maxEjectionPercentHasBeenSet = false;
95
96 long long m_maxServerErrors{0};
97 bool m_maxServerErrorsHasBeenSet = false;
98 };
99
100} // namespace Model
101} // namespace AppMesh
102} // 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