AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
PricingPlan.h
1
6#pragma once
7#include <aws/iottwinmaker/IoTTwinMaker_EXPORTS.h>
8#include <aws/iottwinmaker/model/BundleInformation.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/iottwinmaker/model/PricingMode.h>
11#include <aws/iottwinmaker/model/UpdateReason.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace IoTTwinMaker
25{
26namespace Model
27{
28
35 {
36 public:
37 AWS_IOTTWINMAKER_API PricingPlan() = default;
38 AWS_IOTTWINMAKER_API PricingPlan(Aws::Utils::Json::JsonView jsonValue);
39 AWS_IOTTWINMAKER_API PricingPlan& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_IOTTWINMAKER_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
47 inline long long GetBillableEntityCount() const { return m_billableEntityCount; }
48 inline bool BillableEntityCountHasBeenSet() const { return m_billableEntityCountHasBeenSet; }
49 inline void SetBillableEntityCount(long long value) { m_billableEntityCountHasBeenSet = true; m_billableEntityCount = value; }
50 inline PricingPlan& WithBillableEntityCount(long long value) { SetBillableEntityCount(value); return *this;}
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) { m_bundleInformationHasBeenSet = true; m_bundleInformation = std::forward<BundleInformationT>(value); }
61 template<typename BundleInformationT = BundleInformation>
62 PricingPlan& WithBundleInformation(BundleInformationT&& value) { SetBundleInformation(std::forward<BundleInformationT>(value)); return *this;}
64
66
69 inline const Aws::Utils::DateTime& GetEffectiveDateTime() const { return m_effectiveDateTime; }
70 inline bool EffectiveDateTimeHasBeenSet() const { return m_effectiveDateTimeHasBeenSet; }
71 template<typename EffectiveDateTimeT = Aws::Utils::DateTime>
72 void SetEffectiveDateTime(EffectiveDateTimeT&& value) { m_effectiveDateTimeHasBeenSet = true; m_effectiveDateTime = std::forward<EffectiveDateTimeT>(value); }
73 template<typename EffectiveDateTimeT = Aws::Utils::DateTime>
74 PricingPlan& WithEffectiveDateTime(EffectiveDateTimeT&& value) { SetEffectiveDateTime(std::forward<EffectiveDateTimeT>(value)); return *this;}
76
78
81 inline PricingMode GetPricingMode() const { return m_pricingMode; }
82 inline bool PricingModeHasBeenSet() const { return m_pricingModeHasBeenSet; }
83 inline void SetPricingMode(PricingMode value) { m_pricingModeHasBeenSet = true; m_pricingMode = value; }
84 inline PricingPlan& WithPricingMode(PricingMode value) { SetPricingMode(value); return *this;}
86
88
91 inline const Aws::Utils::DateTime& GetUpdateDateTime() const { return m_updateDateTime; }
92 inline bool UpdateDateTimeHasBeenSet() const { return m_updateDateTimeHasBeenSet; }
93 template<typename UpdateDateTimeT = Aws::Utils::DateTime>
94 void SetUpdateDateTime(UpdateDateTimeT&& value) { m_updateDateTimeHasBeenSet = true; m_updateDateTime = std::forward<UpdateDateTimeT>(value); }
95 template<typename UpdateDateTimeT = Aws::Utils::DateTime>
96 PricingPlan& WithUpdateDateTime(UpdateDateTimeT&& value) { SetUpdateDateTime(std::forward<UpdateDateTimeT>(value)); return *this;}
98
100
103 inline UpdateReason GetUpdateReason() const { return m_updateReason; }
104 inline bool UpdateReasonHasBeenSet() const { return m_updateReasonHasBeenSet; }
105 inline void SetUpdateReason(UpdateReason value) { m_updateReasonHasBeenSet = true; m_updateReason = value; }
106 inline PricingPlan& WithUpdateReason(UpdateReason value) { SetUpdateReason(value); return *this;}
108 private:
109
110 long long m_billableEntityCount{0};
111 bool m_billableEntityCountHasBeenSet = false;
112
113 BundleInformation m_bundleInformation;
114 bool m_bundleInformationHasBeenSet = false;
115
116 Aws::Utils::DateTime m_effectiveDateTime{};
117 bool m_effectiveDateTimeHasBeenSet = false;
118
119 PricingMode m_pricingMode{PricingMode::NOT_SET};
120 bool m_pricingModeHasBeenSet = false;
121
122 Aws::Utils::DateTime m_updateDateTime{};
123 bool m_updateDateTimeHasBeenSet = false;
124
125 UpdateReason m_updateReason{UpdateReason::NOT_SET};
126 bool m_updateReasonHasBeenSet = false;
127 };
128
129} // namespace Model
130} // namespace IoTTwinMaker
131} // namespace Aws
void SetUpdateReason(UpdateReason value)
const Aws::Utils::DateTime & GetUpdateDateTime() const
Definition PricingPlan.h:91
void SetEffectiveDateTime(EffectiveDateTimeT &&value)
Definition PricingPlan.h:72
AWS_IOTTWINMAKER_API PricingPlan()=default
void SetUpdateDateTime(UpdateDateTimeT &&value)
Definition PricingPlan.h:94
void SetPricingMode(PricingMode value)
Definition PricingPlan.h:83
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:84
PricingPlan & WithEffectiveDateTime(EffectiveDateTimeT &&value)
Definition PricingPlan.h:74
void SetBillableEntityCount(long long value)
Definition PricingPlan.h:49
const Aws::Utils::DateTime & GetEffectiveDateTime() const
Definition PricingPlan.h:69
const BundleInformation & GetBundleInformation() const
Definition PricingPlan.h:57
PricingPlan & WithBillableEntityCount(long long value)
Definition PricingPlan.h:50
AWS_IOTTWINMAKER_API Aws::Utils::Json::JsonValue Jsonize() const
PricingPlan & WithBundleInformation(BundleInformationT &&value)
Definition PricingPlan.h:62
PricingPlan & WithUpdateDateTime(UpdateDateTimeT &&value)
Definition PricingPlan.h:96
PricingPlan & WithUpdateReason(UpdateReason value)
Aws::Utils::Json::JsonValue JsonValue