7#include <aws/shield/Shield_EXPORTS.h>
8#include <aws/core/utils/DateTime.h>
9#include <aws/shield/model/AutoRenew.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/shield/model/ProactiveEngagementStatus.h>
12#include <aws/shield/model/SubscriptionLimits.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/shield/model/Limit.h>
53 template<
typename StartTimeT = Aws::Utils::DateTime>
54 void SetStartTime(StartTimeT&& value) { m_startTimeHasBeenSet =
true; m_startTime = std::forward<StartTimeT>(value); }
55 template<
typename StartTimeT = Aws::Utils::DateTime>
65 template<
typename EndTimeT = Aws::Utils::DateTime>
66 void SetEndTime(EndTimeT&& value) { m_endTimeHasBeenSet =
true; m_endTime = std::forward<EndTimeT>(value); }
67 template<
typename EndTimeT = Aws::Utils::DateTime>
78 inline void SetTimeCommitmentInSeconds(
long long value) { m_timeCommitmentInSecondsHasBeenSet =
true; m_timeCommitmentInSeconds = value; }
104 template<
typename LimitsT = Aws::Vector<Limit>>
105 void SetLimits(LimitsT&& value) { m_limitsHasBeenSet =
true; m_limits = std::forward<LimitsT>(value); }
106 template<
typename LimitsT = Aws::Vector<Limit>>
108 template<
typename LimitsT = Limit>
109 Subscription&
AddLimits(LimitsT&& value) { m_limitsHasBeenSet =
true; m_limits.emplace_back(std::forward<LimitsT>(value));
return *
this; }
134 template<
typename SubscriptionLimitsT = SubscriptionLimits>
135 void SetSubscriptionLimits(SubscriptionLimitsT&& value) { m_subscriptionLimitsHasBeenSet =
true; m_subscriptionLimits = std::forward<SubscriptionLimitsT>(value); }
136 template<
typename SubscriptionLimitsT = SubscriptionLimits>
146 template<
typename SubscriptionArnT = Aws::String>
147 void SetSubscriptionArn(SubscriptionArnT&& value) { m_subscriptionArnHasBeenSet =
true; m_subscriptionArn = std::forward<SubscriptionArnT>(value); }
148 template<
typename SubscriptionArnT = Aws::String>
154 bool m_startTimeHasBeenSet =
false;
157 bool m_endTimeHasBeenSet =
false;
159 long long m_timeCommitmentInSeconds{0};
160 bool m_timeCommitmentInSecondsHasBeenSet =
false;
163 bool m_autoRenewHasBeenSet =
false;
166 bool m_limitsHasBeenSet =
false;
169 bool m_proactiveEngagementStatusHasBeenSet =
false;
171 SubscriptionLimits m_subscriptionLimits;
172 bool m_subscriptionLimitsHasBeenSet =
false;
175 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