AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
ExclusionWindow.h
1
6#pragma once
7#include <aws/application-signals/ApplicationSignals_EXPORTS.h>
8#include <aws/application-signals/model/RecurrenceRule.h>
9#include <aws/application-signals/model/Window.h>
10#include <aws/core/utils/DateTime.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace ApplicationSignals {
23namespace Model {
24
32 public:
33 AWS_APPLICATIONSIGNALS_API ExclusionWindow() = default;
34 AWS_APPLICATIONSIGNALS_API ExclusionWindow(Aws::Utils::Json::JsonView jsonValue);
35 AWS_APPLICATIONSIGNALS_API ExclusionWindow& operator=(Aws::Utils::Json::JsonView jsonValue);
36 AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const;
37
39
42 inline const Window& GetWindow() const { return m_window; }
43 inline bool WindowHasBeenSet() const { return m_windowHasBeenSet; }
44 template <typename WindowT = Window>
45 void SetWindow(WindowT&& value) {
46 m_windowHasBeenSet = true;
47 m_window = std::forward<WindowT>(value);
48 }
49 template <typename WindowT = Window>
50 ExclusionWindow& WithWindow(WindowT&& value) {
51 SetWindow(std::forward<WindowT>(value));
52 return *this;
53 }
55
57
61 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
62 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
63 template <typename StartTimeT = Aws::Utils::DateTime>
64 void SetStartTime(StartTimeT&& value) {
65 m_startTimeHasBeenSet = true;
66 m_startTime = std::forward<StartTimeT>(value);
67 }
68 template <typename StartTimeT = Aws::Utils::DateTime>
69 ExclusionWindow& WithStartTime(StartTimeT&& value) {
70 SetStartTime(std::forward<StartTimeT>(value));
71 return *this;
72 }
74
76
80 inline const RecurrenceRule& GetRecurrenceRule() const { return m_recurrenceRule; }
81 inline bool RecurrenceRuleHasBeenSet() const { return m_recurrenceRuleHasBeenSet; }
82 template <typename RecurrenceRuleT = RecurrenceRule>
83 void SetRecurrenceRule(RecurrenceRuleT&& value) {
84 m_recurrenceRuleHasBeenSet = true;
85 m_recurrenceRule = std::forward<RecurrenceRuleT>(value);
86 }
87 template <typename RecurrenceRuleT = RecurrenceRule>
88 ExclusionWindow& WithRecurrenceRule(RecurrenceRuleT&& value) {
89 SetRecurrenceRule(std::forward<RecurrenceRuleT>(value));
90 return *this;
91 }
93
95
99 inline const Aws::String& GetReason() const { return m_reason; }
100 inline bool ReasonHasBeenSet() const { return m_reasonHasBeenSet; }
101 template <typename ReasonT = Aws::String>
102 void SetReason(ReasonT&& value) {
103 m_reasonHasBeenSet = true;
104 m_reason = std::forward<ReasonT>(value);
105 }
106 template <typename ReasonT = Aws::String>
107 ExclusionWindow& WithReason(ReasonT&& value) {
108 SetReason(std::forward<ReasonT>(value));
109 return *this;
110 }
112 private:
113 Window m_window;
114
115 Aws::Utils::DateTime m_startTime{};
116
117 RecurrenceRule m_recurrenceRule;
118
119 Aws::String m_reason;
120 bool m_windowHasBeenSet = false;
121 bool m_startTimeHasBeenSet = false;
122 bool m_recurrenceRuleHasBeenSet = false;
123 bool m_reasonHasBeenSet = false;
124};
125
126} // namespace Model
127} // namespace ApplicationSignals
128} // namespace Aws
const Aws::Utils::DateTime & GetStartTime() const
void SetRecurrenceRule(RecurrenceRuleT &&value)
ExclusionWindow & WithRecurrenceRule(RecurrenceRuleT &&value)
AWS_APPLICATIONSIGNALS_API ExclusionWindow()=default
const RecurrenceRule & GetRecurrenceRule() const
ExclusionWindow & WithReason(ReasonT &&value)
ExclusionWindow & WithWindow(WindowT &&value)
AWS_APPLICATIONSIGNALS_API ExclusionWindow & operator=(Aws::Utils::Json::JsonView jsonValue)
ExclusionWindow & WithStartTime(StartTimeT &&value)
AWS_APPLICATIONSIGNALS_API ExclusionWindow(Aws::Utils::Json::JsonView jsonValue)
AWS_APPLICATIONSIGNALS_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue