AWS SDK for C++

AWS SDK for C++ Version 1.11.854

Loading...
Searching...
No Matches
EvaluationWindow.h
1
6#pragma once
7#include <aws/crt/cbor/Cbor.h>
8#include <aws/monitoring/CloudWatch_EXPORTS.h>
9#include <aws/monitoring/model/SlidingWindow.h>
10#include <aws/monitoring/model/WallClockWindow.h>
11
12#include <utility>
13
14namespace Aws {
15namespace Utils {
16namespace Cbor {
17class CborValue;
18} // namespace Cbor
19} // namespace Utils
20namespace CloudWatch {
21namespace Model {
22
36 public:
37 AWS_CLOUDWATCH_API EvaluationWindow() = default;
38 AWS_CLOUDWATCH_API EvaluationWindow(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
39 AWS_CLOUDWATCH_API EvaluationWindow& operator=(const std::shared_ptr<Aws::Crt::Cbor::CborDecoder>& decoder);
40 AWS_CLOUDWATCH_API void CborEncode(Aws::Crt::Cbor::CborEncoder& encoder) const;
41
43
48 inline const WallClockWindow& GetWallClockWindow() const { return m_wallClockWindow; }
49 inline bool WallClockWindowHasBeenSet() const { return m_wallClockWindowHasBeenSet; }
50 template <typename WallClockWindowT = WallClockWindow>
51 void SetWallClockWindow(WallClockWindowT&& value) {
52 m_wallClockWindowHasBeenSet = true;
53 m_wallClockWindow = std::forward<WallClockWindowT>(value);
54 }
55 template <typename WallClockWindowT = WallClockWindow>
56 EvaluationWindow& WithWallClockWindow(WallClockWindowT&& value) {
57 SetWallClockWindow(std::forward<WallClockWindowT>(value));
58 return *this;
59 }
61
63
67 inline const SlidingWindow& GetSlidingWindow() const { return m_slidingWindow; }
68 inline bool SlidingWindowHasBeenSet() const { return m_slidingWindowHasBeenSet; }
69 template <typename SlidingWindowT = SlidingWindow>
70 void SetSlidingWindow(SlidingWindowT&& value) {
71 m_slidingWindowHasBeenSet = true;
72 m_slidingWindow = std::forward<SlidingWindowT>(value);
73 }
74 template <typename SlidingWindowT = SlidingWindow>
75 EvaluationWindow& WithSlidingWindow(SlidingWindowT&& value) {
76 SetSlidingWindow(std::forward<SlidingWindowT>(value));
77 return *this;
78 }
80 private:
81 WallClockWindow m_wallClockWindow;
82
83 SlidingWindow m_slidingWindow;
84 bool m_wallClockWindowHasBeenSet = false;
85 bool m_slidingWindowHasBeenSet = false;
86};
87
88} // namespace Model
89} // namespace CloudWatch
90} // namespace Aws
EvaluationWindow & WithWallClockWindow(WallClockWindowT &&value)
void SetWallClockWindow(WallClockWindowT &&value)
EvaluationWindow & WithSlidingWindow(SlidingWindowT &&value)
AWS_CLOUDWATCH_API EvaluationWindow()=default
void SetSlidingWindow(SlidingWindowT &&value)
AWS_CLOUDWATCH_API EvaluationWindow(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
const SlidingWindow & GetSlidingWindow() const
const WallClockWindow & GetWallClockWindow() const
AWS_CLOUDWATCH_API EvaluationWindow & operator=(const std::shared_ptr< Aws::Crt::Cbor::CborDecoder > &decoder)
AWS_CLOUDWATCH_API void CborEncode(Aws::Crt::Cbor::CborEncoder &encoder) const