AWS SDK for C++

AWS SDK for C++ Version 1.11.862

Loading...
Searching...
No Matches
PricingPlan.h
1
6#pragma once
7#include <aws/billing/Billing_EXPORTS.h>
8#include <aws/billing/model/PricingPlanTier.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace Billing {
23namespace Model {
24
31 public:
32 AWS_BILLING_API PricingPlan() = default;
33 AWS_BILLING_API PricingPlan(Aws::Utils::Json::JsonView jsonValue);
35 AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Aws::String& GetPricingPlanId() const { return m_pricingPlanId; }
42 inline bool PricingPlanIdHasBeenSet() const { return m_pricingPlanIdHasBeenSet; }
43 template <typename PricingPlanIdT = Aws::String>
44 void SetPricingPlanId(PricingPlanIdT&& value) {
45 m_pricingPlanIdHasBeenSet = true;
46 m_pricingPlanId = std::forward<PricingPlanIdT>(value);
47 }
48 template <typename PricingPlanIdT = Aws::String>
49 PricingPlan& WithPricingPlanId(PricingPlanIdT&& value) {
50 SetPricingPlanId(std::forward<PricingPlanIdT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::String& GetName() const { return m_name; }
60 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
61 template <typename NameT = Aws::String>
62 void SetName(NameT&& value) {
63 m_nameHasBeenSet = true;
64 m_name = std::forward<NameT>(value);
65 }
66 template <typename NameT = Aws::String>
67 PricingPlan& WithName(NameT&& value) {
68 SetName(std::forward<NameT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::String& GetDescription() const { return m_description; }
78 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
79 template <typename DescriptionT = Aws::String>
80 void SetDescription(DescriptionT&& value) {
81 m_descriptionHasBeenSet = true;
82 m_description = std::forward<DescriptionT>(value);
83 }
84 template <typename DescriptionT = Aws::String>
85 PricingPlan& WithDescription(DescriptionT&& value) {
86 SetDescription(std::forward<DescriptionT>(value));
87 return *this;
88 }
90
92
95 inline const Aws::Utils::DateTime& GetStartDate() const { return m_startDate; }
96 inline bool StartDateHasBeenSet() const { return m_startDateHasBeenSet; }
97 template <typename StartDateT = Aws::Utils::DateTime>
98 void SetStartDate(StartDateT&& value) {
99 m_startDateHasBeenSet = true;
100 m_startDate = std::forward<StartDateT>(value);
101 }
102 template <typename StartDateT = Aws::Utils::DateTime>
103 PricingPlan& WithStartDate(StartDateT&& value) {
104 SetStartDate(std::forward<StartDateT>(value));
105 return *this;
106 }
108
110
113 inline const Aws::Utils::DateTime& GetEndDate() const { return m_endDate; }
114 inline bool EndDateHasBeenSet() const { return m_endDateHasBeenSet; }
115 template <typename EndDateT = Aws::Utils::DateTime>
116 void SetEndDate(EndDateT&& value) {
117 m_endDateHasBeenSet = true;
118 m_endDate = std::forward<EndDateT>(value);
119 }
120 template <typename EndDateT = Aws::Utils::DateTime>
121 PricingPlan& WithEndDate(EndDateT&& value) {
122 SetEndDate(std::forward<EndDateT>(value));
123 return *this;
124 }
126
128
131 inline const Aws::String& GetPlanDiscountPercent() const { return m_planDiscountPercent; }
132 inline bool PlanDiscountPercentHasBeenSet() const { return m_planDiscountPercentHasBeenSet; }
133 template <typename PlanDiscountPercentT = Aws::String>
134 void SetPlanDiscountPercent(PlanDiscountPercentT&& value) {
135 m_planDiscountPercentHasBeenSet = true;
136 m_planDiscountPercent = std::forward<PlanDiscountPercentT>(value);
137 }
138 template <typename PlanDiscountPercentT = Aws::String>
139 PricingPlan& WithPlanDiscountPercent(PlanDiscountPercentT&& value) {
140 SetPlanDiscountPercent(std::forward<PlanDiscountPercentT>(value));
141 return *this;
142 }
144
146
149 inline bool GetDiscountAppliesToMinimumCharge() const { return m_discountAppliesToMinimumCharge; }
150 inline bool DiscountAppliesToMinimumChargeHasBeenSet() const { return m_discountAppliesToMinimumChargeHasBeenSet; }
151 inline void SetDiscountAppliesToMinimumCharge(bool value) {
152 m_discountAppliesToMinimumChargeHasBeenSet = true;
153 m_discountAppliesToMinimumCharge = value;
154 }
157 return *this;
158 }
160
162
165 inline const Aws::String& GetMinimumCharge() const { return m_minimumCharge; }
166 inline bool MinimumChargeHasBeenSet() const { return m_minimumChargeHasBeenSet; }
167 template <typename MinimumChargeT = Aws::String>
168 void SetMinimumCharge(MinimumChargeT&& value) {
169 m_minimumChargeHasBeenSet = true;
170 m_minimumCharge = std::forward<MinimumChargeT>(value);
171 }
172 template <typename MinimumChargeT = Aws::String>
173 PricingPlan& WithMinimumCharge(MinimumChargeT&& value) {
174 SetMinimumCharge(std::forward<MinimumChargeT>(value));
175 return *this;
176 }
178
180
183 inline const Aws::String& GetTiered() const { return m_tiered; }
184 inline bool TieredHasBeenSet() const { return m_tieredHasBeenSet; }
185 template <typename TieredT = Aws::String>
186 void SetTiered(TieredT&& value) {
187 m_tieredHasBeenSet = true;
188 m_tiered = std::forward<TieredT>(value);
189 }
190 template <typename TieredT = Aws::String>
191 PricingPlan& WithTiered(TieredT&& value) {
192 SetTiered(std::forward<TieredT>(value));
193 return *this;
194 }
196
198
201 inline const Aws::Vector<PricingPlanTier>& GetTiers() const { return m_tiers; }
202 inline bool TiersHasBeenSet() const { return m_tiersHasBeenSet; }
203 template <typename TiersT = Aws::Vector<PricingPlanTier>>
204 void SetTiers(TiersT&& value) {
205 m_tiersHasBeenSet = true;
206 m_tiers = std::forward<TiersT>(value);
207 }
208 template <typename TiersT = Aws::Vector<PricingPlanTier>>
209 PricingPlan& WithTiers(TiersT&& value) {
210 SetTiers(std::forward<TiersT>(value));
211 return *this;
212 }
213 template <typename TiersT = PricingPlanTier>
214 PricingPlan& AddTiers(TiersT&& value) {
215 m_tiersHasBeenSet = true;
216 m_tiers.emplace_back(std::forward<TiersT>(value));
217 return *this;
218 }
220 private:
221 Aws::String m_pricingPlanId;
222
223 Aws::String m_name;
224
225 Aws::String m_description;
226
227 Aws::Utils::DateTime m_startDate{};
228
229 Aws::Utils::DateTime m_endDate{};
230
231 Aws::String m_planDiscountPercent;
232
233 bool m_discountAppliesToMinimumCharge{false};
234
235 Aws::String m_minimumCharge;
236
237 Aws::String m_tiered;
238
240 bool m_pricingPlanIdHasBeenSet = false;
241 bool m_nameHasBeenSet = false;
242 bool m_descriptionHasBeenSet = false;
243 bool m_startDateHasBeenSet = false;
244 bool m_endDateHasBeenSet = false;
245 bool m_planDiscountPercentHasBeenSet = false;
246 bool m_discountAppliesToMinimumChargeHasBeenSet = false;
247 bool m_minimumChargeHasBeenSet = false;
248 bool m_tieredHasBeenSet = false;
249 bool m_tiersHasBeenSet = false;
250};
251
252} // namespace Model
253} // namespace Billing
254} // namespace Aws
void SetTiers(TiersT &&value)
AWS_BILLING_API PricingPlan & operator=(Aws::Utils::Json::JsonView jsonValue)
PricingPlan & WithMinimumCharge(MinimumChargeT &&value)
AWS_BILLING_API PricingPlan()=default
void SetEndDate(EndDateT &&value)
AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::String & GetPlanDiscountPercent() const
const Aws::String & GetDescription() const
Definition PricingPlan.h:77
PricingPlan & WithEndDate(EndDateT &&value)
const Aws::Vector< PricingPlanTier > & GetTiers() const
PricingPlan & WithTiers(TiersT &&value)
void SetStartDate(StartDateT &&value)
Definition PricingPlan.h:98
const Aws::Utils::DateTime & GetStartDate() const
Definition PricingPlan.h:95
PricingPlan & WithPlanDiscountPercent(PlanDiscountPercentT &&value)
const Aws::Utils::DateTime & GetEndDate() const
void SetMinimumCharge(MinimumChargeT &&value)
bool DiscountAppliesToMinimumChargeHasBeenSet() const
const Aws::String & GetTiered() const
PricingPlan & WithPricingPlanId(PricingPlanIdT &&value)
Definition PricingPlan.h:49
const Aws::String & GetName() const
Definition PricingPlan.h:59
PricingPlan & WithName(NameT &&value)
Definition PricingPlan.h:67
void SetPlanDiscountPercent(PlanDiscountPercentT &&value)
PricingPlan & AddTiers(TiersT &&value)
const Aws::String & GetMinimumCharge() const
void SetTiered(TieredT &&value)
PricingPlan & WithTiered(TieredT &&value)
bool GetDiscountAppliesToMinimumCharge() const
PricingPlan & WithDiscountAppliesToMinimumCharge(bool value)
void SetDiscountAppliesToMinimumCharge(bool value)
PricingPlan & WithDescription(DescriptionT &&value)
Definition PricingPlan.h:85
const Aws::String & GetPricingPlanId() const
Definition PricingPlan.h:41
PricingPlan & WithStartDate(StartDateT &&value)
void SetName(NameT &&value)
Definition PricingPlan.h:62
void SetDescription(DescriptionT &&value)
Definition PricingPlan.h:80
AWS_BILLING_API PricingPlan(Aws::Utils::Json::JsonView jsonValue)
void SetPricingPlanId(PricingPlanIdT &&value)
Definition PricingPlan.h:44
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue