AWS SDK for C++

AWS SDK for C++ Version 1.11.929

Loading...
Searching...
No Matches
PricingPlan.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/iottwinmaker/IoTTwinMaker_EXPORTS.h>
9#include <aws/iottwinmaker/model/BundleInformation.h>
10#include <aws/iottwinmaker/model/PricingMode.h>
11#include <aws/iottwinmaker/model/UpdateReason.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace IoTTwinMaker {
23namespace Model {
24
31 public:
32 AWS_IOTTWINMAKER_API PricingPlan() = default;
33 AWS_IOTTWINMAKER_API PricingPlan(Aws::Utils::Json::JsonView jsonValue);
34 AWS_IOTTWINMAKER_API PricingPlan& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_IOTTWINMAKER_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline long long GetBillableEntityCount() const { return m_billableEntityCount; }
42 inline bool BillableEntityCountHasBeenSet() const { return m_billableEntityCountHasBeenSet; }
43 inline void SetBillableEntityCount(long long value) {
44 m_billableEntityCountHasBeenSet = true;
45 m_billableEntityCount = value;
46 }
47 inline PricingPlan& WithBillableEntityCount(long long value) {
49 return *this;
50 }
52
54
57 inline const BundleInformation& GetBundleInformation() const { return m_bundleInformation; }
58 inline bool BundleInformationHasBeenSet() const { return m_bundleInformationHasBeenSet; }
59 template <typename BundleInformationT = BundleInformation>
60 void SetBundleInformation(BundleInformationT&& value) {
61 m_bundleInformationHasBeenSet = true;
62 m_bundleInformation = std::forward<BundleInformationT>(value);
63 }
64 template <typename BundleInformationT = BundleInformation>
65 PricingPlan& WithBundleInformation(BundleInformationT&& value) {
66 SetBundleInformation(std::forward<BundleInformationT>(value));
67 return *this;
68 }
70
72
75 inline const Aws::Utils::DateTime& GetEffectiveDateTime() const { return m_effectiveDateTime; }
76 inline bool EffectiveDateTimeHasBeenSet() const { return m_effectiveDateTimeHasBeenSet; }
77 template <typename EffectiveDateTimeT = Aws::Utils::DateTime>
78 void SetEffectiveDateTime(EffectiveDateTimeT&& value) {
79 m_effectiveDateTimeHasBeenSet = true;
80 m_effectiveDateTime = std::forward<EffectiveDateTimeT>(value);
81 }
82 template <typename EffectiveDateTimeT = Aws::Utils::DateTime>
83 PricingPlan& WithEffectiveDateTime(EffectiveDateTimeT&& value) {
84 SetEffectiveDateTime(std::forward<EffectiveDateTimeT>(value));
85 return *this;
86 }
88
90
93 inline PricingMode GetPricingMode() const { return m_pricingMode; }
94 inline bool PricingModeHasBeenSet() const { return m_pricingModeHasBeenSet; }
95 inline void SetPricingMode(PricingMode value) {
96 m_pricingModeHasBeenSet = true;
97 m_pricingMode = value;
98 }
100 SetPricingMode(value);
101 return *this;
102 }
104
106
109 inline const Aws::Utils::DateTime& GetUpdateDateTime() const { return m_updateDateTime; }
110 inline bool UpdateDateTimeHasBeenSet() const { return m_updateDateTimeHasBeenSet; }
111 template <typename UpdateDateTimeT = Aws::Utils::DateTime>
112 void SetUpdateDateTime(UpdateDateTimeT&& value) {
113 m_updateDateTimeHasBeenSet = true;
114 m_updateDateTime = std::forward<UpdateDateTimeT>(value);
115 }
116 template <typename UpdateDateTimeT = Aws::Utils::DateTime>
117 PricingPlan& WithUpdateDateTime(UpdateDateTimeT&& value) {
118 SetUpdateDateTime(std::forward<UpdateDateTimeT>(value));
119 return *this;
120 }
122
124
127 inline UpdateReason GetUpdateReason() const { return m_updateReason; }
128 inline bool UpdateReasonHasBeenSet() const { return m_updateReasonHasBeenSet; }
129 inline void SetUpdateReason(UpdateReason value) {
130 m_updateReasonHasBeenSet = true;
131 m_updateReason = value;
132 }
134 SetUpdateReason(value);
135 return *this;
136 }
138 private:
139 long long m_billableEntityCount{0};
140
141 BundleInformation m_bundleInformation;
142
143 Aws::Utils::DateTime m_effectiveDateTime{};
144
145 PricingMode m_pricingMode{PricingMode::NOT_SET};
146
147 Aws::Utils::DateTime m_updateDateTime{};
148
149 UpdateReason m_updateReason{UpdateReason::NOT_SET};
150 bool m_billableEntityCountHasBeenSet = false;
151 bool m_bundleInformationHasBeenSet = false;
152 bool m_effectiveDateTimeHasBeenSet = false;
153 bool m_pricingModeHasBeenSet = false;
154 bool m_updateDateTimeHasBeenSet = false;
155 bool m_updateReasonHasBeenSet = false;
156};
157
158} // namespace Model
159} // namespace IoTTwinMaker
160} // namespace Aws
void SetUpdateReason(UpdateReason value)
const Aws::Utils::DateTime & GetUpdateDateTime() const
void SetEffectiveDateTime(EffectiveDateTimeT &&value)
Definition PricingPlan.h:78
AWS_IOTTWINMAKER_API PricingPlan()=default
void SetUpdateDateTime(UpdateDateTimeT &&value)
void SetPricingMode(PricingMode value)
Definition PricingPlan.h:95
AWS_IOTTWINMAKER_API PricingPlan & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_IOTTWINMAKER_API PricingPlan(Aws::Utils::Json::JsonView jsonValue)
void SetBundleInformation(BundleInformationT &&value)
Definition PricingPlan.h:60
PricingPlan & WithPricingMode(PricingMode value)
Definition PricingPlan.h:99
PricingPlan & WithEffectiveDateTime(EffectiveDateTimeT &&value)
Definition PricingPlan.h:83
void SetBillableEntityCount(long long value)
Definition PricingPlan.h:43
const Aws::Utils::DateTime & GetEffectiveDateTime() const
Definition PricingPlan.h:75
const BundleInformation & GetBundleInformation() const
Definition PricingPlan.h:57
PricingPlan & WithBillableEntityCount(long long value)
Definition PricingPlan.h:47
AWS_IOTTWINMAKER_API Aws::Utils::Json::JsonValue Jsonize() const
PricingPlan & WithBundleInformation(BundleInformationT &&value)
Definition PricingPlan.h:65
PricingPlan & WithUpdateDateTime(UpdateDateTimeT &&value)
PricingPlan & WithUpdateReason(UpdateReason value)
Aws::Utils::Json::JsonValue JsonValue