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>
47 template <
typename StartTimeT = Aws::Utils::DateTime>
49 m_startTimeHasBeenSet =
true;
50 m_startTime = std::forward<StartTimeT>(value);
52 template <
typename StartTimeT = Aws::Utils::DateTime>
65 template <
typename EndTimeT = Aws::Utils::DateTime>
67 m_endTimeHasBeenSet =
true;
68 m_endTime = std::forward<EndTimeT>(value);
70 template <
typename EndTimeT = Aws::Utils::DateTime>
85 m_timeCommitmentInSecondsHasBeenSet =
true;
86 m_timeCommitmentInSeconds = value;
107 m_autoRenewHasBeenSet =
true;
122 template <
typename LimitsT = Aws::Vector<Limit>>
124 m_limitsHasBeenSet =
true;
125 m_limits = std::forward<LimitsT>(value);
127 template <
typename LimitsT = Aws::Vector<Limit>>
132 template <
typename LimitsT = Limit>
134 m_limitsHasBeenSet =
true;
135 m_limits.emplace_back(std::forward<LimitsT>(value));
153 m_proactiveEngagementStatusHasBeenSet =
true;
154 m_proactiveEngagementStatus = value;
168 template <
typename SubscriptionLimitsT = SubscriptionLimits>
170 m_subscriptionLimitsHasBeenSet =
true;
171 m_subscriptionLimits = std::forward<SubscriptionLimitsT>(value);
173 template <
typename SubscriptionLimitsT = SubscriptionLimits>
186 template <
typename SubscriptionArnT = Aws::String>
188 m_subscriptionArnHasBeenSet =
true;
189 m_subscriptionArn = std::forward<SubscriptionArnT>(value);
191 template <
typename SubscriptionArnT = Aws::String>
202 long long m_timeCommitmentInSeconds{0};
210 SubscriptionLimits m_subscriptionLimits;
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;
Subscription & WithTimeCommitmentInSeconds(long long value)
AutoRenew GetAutoRenew() const
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)
bool StartTimeHasBeenSet() const
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)
bool EndTimeHasBeenSet() const
void SetEndTime(EndTimeT &&value)
Subscription & WithSubscriptionArn(SubscriptionArnT &&value)
Subscription & WithProactiveEngagementStatus(ProactiveEngagementStatus value)
Subscription & WithSubscriptionLimits(SubscriptionLimitsT &&value)
bool SubscriptionLimitsHasBeenSet() const
ProactiveEngagementStatus GetProactiveEngagementStatus() const
bool AutoRenewHasBeenSet() const
const Aws::Utils::DateTime & GetStartTime() const
const Aws::String & GetSubscriptionArn() const
bool LimitsHasBeenSet() const
bool SubscriptionArnHasBeenSet() const
ProactiveEngagementStatus
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue