AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
Subscription.h
1
6#pragma once
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>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace Shield
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_SHIELD_API Subscription() = default;
42 AWS_SHIELD_API Subscription(Aws::Utils::Json::JsonView jsonValue);
44 AWS_SHIELD_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::Utils::DateTime& GetStartTime() const { return m_startTime; }
52 inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
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>
56 Subscription& WithStartTime(StartTimeT&& value) { SetStartTime(std::forward<StartTimeT>(value)); return *this;}
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) { m_endTimeHasBeenSet = true; m_endTime = std::forward<EndTimeT>(value); }
67 template<typename EndTimeT = Aws::Utils::DateTime>
68 Subscription& WithEndTime(EndTimeT&& value) { SetEndTime(std::forward<EndTimeT>(value)); return *this;}
70
72
76 inline long long GetTimeCommitmentInSeconds() const { return m_timeCommitmentInSeconds; }
77 inline bool TimeCommitmentInSecondsHasBeenSet() const { return m_timeCommitmentInSecondsHasBeenSet; }
78 inline void SetTimeCommitmentInSeconds(long long value) { m_timeCommitmentInSecondsHasBeenSet = true; m_timeCommitmentInSeconds = value; }
79 inline Subscription& WithTimeCommitmentInSeconds(long long value) { SetTimeCommitmentInSeconds(value); return *this;}
81
83
92 inline AutoRenew GetAutoRenew() const { return m_autoRenew; }
93 inline bool AutoRenewHasBeenSet() const { return m_autoRenewHasBeenSet; }
94 inline void SetAutoRenew(AutoRenew value) { m_autoRenewHasBeenSet = true; m_autoRenew = value; }
95 inline Subscription& WithAutoRenew(AutoRenew value) { SetAutoRenew(value); return *this;}
97
99
102 inline const Aws::Vector<Limit>& GetLimits() const { return m_limits; }
103 inline bool LimitsHasBeenSet() const { return m_limitsHasBeenSet; }
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>>
107 Subscription& WithLimits(LimitsT&& value) { SetLimits(std::forward<LimitsT>(value)); return *this;}
108 template<typename LimitsT = Limit>
109 Subscription& AddLimits(LimitsT&& value) { m_limitsHasBeenSet = true; m_limits.emplace_back(std::forward<LimitsT>(value)); return *this; }
111
113
122 inline ProactiveEngagementStatus GetProactiveEngagementStatus() const { return m_proactiveEngagementStatus; }
123 inline bool ProactiveEngagementStatusHasBeenSet() const { return m_proactiveEngagementStatusHasBeenSet; }
124 inline void SetProactiveEngagementStatus(ProactiveEngagementStatus value) { m_proactiveEngagementStatusHasBeenSet = true; m_proactiveEngagementStatus = value; }
127
129
132 inline const SubscriptionLimits& GetSubscriptionLimits() const { return m_subscriptionLimits; }
133 inline bool SubscriptionLimitsHasBeenSet() const { return m_subscriptionLimitsHasBeenSet; }
134 template<typename SubscriptionLimitsT = SubscriptionLimits>
135 void SetSubscriptionLimits(SubscriptionLimitsT&& value) { m_subscriptionLimitsHasBeenSet = true; m_subscriptionLimits = std::forward<SubscriptionLimitsT>(value); }
136 template<typename SubscriptionLimitsT = SubscriptionLimits>
137 Subscription& WithSubscriptionLimits(SubscriptionLimitsT&& value) { SetSubscriptionLimits(std::forward<SubscriptionLimitsT>(value)); return *this;}
139
141
144 inline const Aws::String& GetSubscriptionArn() const { return m_subscriptionArn; }
145 inline bool SubscriptionArnHasBeenSet() const { return m_subscriptionArnHasBeenSet; }
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>
149 Subscription& WithSubscriptionArn(SubscriptionArnT&& value) { SetSubscriptionArn(std::forward<SubscriptionArnT>(value)); return *this;}
151 private:
152
153 Aws::Utils::DateTime m_startTime{};
154 bool m_startTimeHasBeenSet = false;
155
156 Aws::Utils::DateTime m_endTime{};
157 bool m_endTimeHasBeenSet = false;
158
159 long long m_timeCommitmentInSeconds{0};
160 bool m_timeCommitmentInSecondsHasBeenSet = false;
161
162 AutoRenew m_autoRenew{AutoRenew::NOT_SET};
163 bool m_autoRenewHasBeenSet = false;
164
165 Aws::Vector<Limit> m_limits;
166 bool m_limitsHasBeenSet = false;
167
169 bool m_proactiveEngagementStatusHasBeenSet = false;
170
171 SubscriptionLimits m_subscriptionLimits;
172 bool m_subscriptionLimitsHasBeenSet = false;
173
174 Aws::String m_subscriptionArn;
175 bool m_subscriptionArnHasBeenSet = false;
176 };
177
178} // namespace Model
179} // namespace Shield
180} // 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