AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
Subscription.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/shield/Shield_EXPORTS.h>
11#include <aws/shield/model/AutoRenew.h>
12#include <aws/shield/model/Limit.h>
13#include <aws/shield/model/ProactiveEngagementStatus.h>
14#include <aws/shield/model/SubscriptionLimits.h>
15
16#include <utility>
17
18namespace Aws {
19namespace Utils {
20namespace Json {
21class JsonValue;
22class JsonView;
23} // namespace Json
24} // namespace Utils
25namespace Shield {
26namespace Model {
27
35 public:
36 AWS_SHIELD_API Subscription() = default;
37 AWS_SHIELD_API Subscription(Aws::Utils::Json::JsonView jsonValue);
39 AWS_SHIELD_API Aws::Utils::Json::JsonValue Jsonize() const;
40
42
45 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
46 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
47 template <typename StartTimeT = Aws::Utils::DateTime>
48 void SetStartTime(StartTimeT&& value) {
49 m_startTimeHasBeenSet = true;
50 m_startTime = std::forward<StartTimeT>(value);
51 }
52 template <typename StartTimeT = Aws::Utils::DateTime>
53 Subscription& WithStartTime(StartTimeT&& value) {
54 SetStartTime(std::forward<StartTimeT>(value));
55 return *this;
56 }
58
60
63 inline const Aws::Utils::DateTime& GetEndTime() const { return m_endTime; }
64 inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
65 template <typename EndTimeT = Aws::Utils::DateTime>
66 void SetEndTime(EndTimeT&& value) {
67 m_endTimeHasBeenSet = true;
68 m_endTime = std::forward<EndTimeT>(value);
69 }
70 template <typename EndTimeT = Aws::Utils::DateTime>
71 Subscription& WithEndTime(EndTimeT&& value) {
72 SetEndTime(std::forward<EndTimeT>(value));
73 return *this;
74 }
76
78
82 inline long long GetTimeCommitmentInSeconds() const { return m_timeCommitmentInSeconds; }
83 inline bool TimeCommitmentInSecondsHasBeenSet() const { return m_timeCommitmentInSecondsHasBeenSet; }
84 inline void SetTimeCommitmentInSeconds(long long value) {
85 m_timeCommitmentInSecondsHasBeenSet = true;
86 m_timeCommitmentInSeconds = value;
87 }
88 inline Subscription& WithTimeCommitmentInSeconds(long long value) {
90 return *this;
91 }
93
95
104 inline AutoRenew GetAutoRenew() const { return m_autoRenew; }
105 inline bool AutoRenewHasBeenSet() const { return m_autoRenewHasBeenSet; }
106 inline void SetAutoRenew(AutoRenew value) {
107 m_autoRenewHasBeenSet = true;
108 m_autoRenew = value;
109 }
111 SetAutoRenew(value);
112 return *this;
113 }
115
117
120 inline const Aws::Vector<Limit>& GetLimits() const { return m_limits; }
121 inline bool LimitsHasBeenSet() const { return m_limitsHasBeenSet; }
122 template <typename LimitsT = Aws::Vector<Limit>>
123 void SetLimits(LimitsT&& value) {
124 m_limitsHasBeenSet = true;
125 m_limits = std::forward<LimitsT>(value);
126 }
127 template <typename LimitsT = Aws::Vector<Limit>>
128 Subscription& WithLimits(LimitsT&& value) {
129 SetLimits(std::forward<LimitsT>(value));
130 return *this;
131 }
132 template <typename LimitsT = Limit>
133 Subscription& AddLimits(LimitsT&& value) {
134 m_limitsHasBeenSet = true;
135 m_limits.emplace_back(std::forward<LimitsT>(value));
136 return *this;
137 }
139
141
150 inline ProactiveEngagementStatus GetProactiveEngagementStatus() const { return m_proactiveEngagementStatus; }
151 inline bool ProactiveEngagementStatusHasBeenSet() const { return m_proactiveEngagementStatusHasBeenSet; }
153 m_proactiveEngagementStatusHasBeenSet = true;
154 m_proactiveEngagementStatus = value;
155 }
158 return *this;
159 }
161
163
166 inline const SubscriptionLimits& GetSubscriptionLimits() const { return m_subscriptionLimits; }
167 inline bool SubscriptionLimitsHasBeenSet() const { return m_subscriptionLimitsHasBeenSet; }
168 template <typename SubscriptionLimitsT = SubscriptionLimits>
169 void SetSubscriptionLimits(SubscriptionLimitsT&& value) {
170 m_subscriptionLimitsHasBeenSet = true;
171 m_subscriptionLimits = std::forward<SubscriptionLimitsT>(value);
172 }
173 template <typename SubscriptionLimitsT = SubscriptionLimits>
174 Subscription& WithSubscriptionLimits(SubscriptionLimitsT&& value) {
175 SetSubscriptionLimits(std::forward<SubscriptionLimitsT>(value));
176 return *this;
177 }
179
181
184 inline const Aws::String& GetSubscriptionArn() const { return m_subscriptionArn; }
185 inline bool SubscriptionArnHasBeenSet() const { return m_subscriptionArnHasBeenSet; }
186 template <typename SubscriptionArnT = Aws::String>
187 void SetSubscriptionArn(SubscriptionArnT&& value) {
188 m_subscriptionArnHasBeenSet = true;
189 m_subscriptionArn = std::forward<SubscriptionArnT>(value);
190 }
191 template <typename SubscriptionArnT = Aws::String>
192 Subscription& WithSubscriptionArn(SubscriptionArnT&& value) {
193 SetSubscriptionArn(std::forward<SubscriptionArnT>(value));
194 return *this;
195 }
197 private:
198 Aws::Utils::DateTime m_startTime{};
199
200 Aws::Utils::DateTime m_endTime{};
201
202 long long m_timeCommitmentInSeconds{0};
203
204 AutoRenew m_autoRenew{AutoRenew::NOT_SET};
205
206 Aws::Vector<Limit> m_limits;
207
209
210 SubscriptionLimits m_subscriptionLimits;
211
212 Aws::String m_subscriptionArn;
213 bool m_startTimeHasBeenSet = false;
214 bool m_endTimeHasBeenSet = false;
215 bool m_timeCommitmentInSecondsHasBeenSet = false;
216 bool m_autoRenewHasBeenSet = false;
217 bool m_limitsHasBeenSet = false;
218 bool m_proactiveEngagementStatusHasBeenSet = false;
219 bool m_subscriptionLimitsHasBeenSet = false;
220 bool m_subscriptionArnHasBeenSet = false;
221};
222
223} // namespace Model
224} // namespace Shield
225} // namespace Aws
Subscription & WithTimeCommitmentInSeconds(long long value)
AWS_SHIELD_API Subscription & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetStartTime(StartTimeT &&value)
AWS_SHIELD_API Aws::Utils::Json::JsonValue Jsonize() const
void SetLimits(LimitsT &&value)
const Aws::Utils::DateTime & GetEndTime() const
AWS_SHIELD_API Subscription(Aws::Utils::Json::JsonView jsonValue)
void SetAutoRenew(AutoRenew value)
Subscription & WithStartTime(StartTimeT &&value)
Subscription & WithEndTime(EndTimeT &&value)
Subscription & WithAutoRenew(AutoRenew value)
Subscription & WithLimits(LimitsT &&value)
bool ProactiveEngagementStatusHasBeenSet() const
Subscription & AddLimits(LimitsT &&value)
bool TimeCommitmentInSecondsHasBeenSet() const
void SetSubscriptionLimits(SubscriptionLimitsT &&value)
void SetProactiveEngagementStatus(ProactiveEngagementStatus value)
const Aws::Vector< Limit > & GetLimits() const
const SubscriptionLimits & GetSubscriptionLimits() const
void SetTimeCommitmentInSeconds(long long value)
AWS_SHIELD_API Subscription()=default
long long GetTimeCommitmentInSeconds() const
void SetSubscriptionArn(SubscriptionArnT &&value)
void SetEndTime(EndTimeT &&value)
Subscription & WithSubscriptionArn(SubscriptionArnT &&value)
Subscription & WithProactiveEngagementStatus(ProactiveEngagementStatus value)
Subscription & WithSubscriptionLimits(SubscriptionLimitsT &&value)
ProactiveEngagementStatus GetProactiveEngagementStatus() const
const Aws::Utils::DateTime & GetStartTime() const
const Aws::String & GetSubscriptionArn() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue