AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ReservationOffering.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
9#include <aws/redshift-serverless/model/OfferingType.h>
10
11#include <utility>
12
13namespace Aws {
14namespace Utils {
15namespace Json {
16class JsonValue;
17class JsonView;
18} // namespace Json
19} // namespace Utils
20namespace RedshiftServerless {
21namespace Model {
22
30 public:
31 AWS_REDSHIFTSERVERLESS_API ReservationOffering() = default;
32 AWS_REDSHIFTSERVERLESS_API ReservationOffering(Aws::Utils::Json::JsonView jsonValue);
33 AWS_REDSHIFTSERVERLESS_API ReservationOffering& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline const Aws::String& GetCurrencyCode() const { return m_currencyCode; }
41 inline bool CurrencyCodeHasBeenSet() const { return m_currencyCodeHasBeenSet; }
42 template <typename CurrencyCodeT = Aws::String>
43 void SetCurrencyCode(CurrencyCodeT&& value) {
44 m_currencyCodeHasBeenSet = true;
45 m_currencyCode = std::forward<CurrencyCodeT>(value);
46 }
47 template <typename CurrencyCodeT = Aws::String>
48 ReservationOffering& WithCurrencyCode(CurrencyCodeT&& value) {
49 SetCurrencyCode(std::forward<CurrencyCodeT>(value));
50 return *this;
51 }
53
55
58 inline int GetDuration() const { return m_duration; }
59 inline bool DurationHasBeenSet() const { return m_durationHasBeenSet; }
60 inline void SetDuration(int value) {
61 m_durationHasBeenSet = true;
62 m_duration = value;
63 }
64 inline ReservationOffering& WithDuration(int value) {
65 SetDuration(value);
66 return *this;
67 }
69
71
74 inline double GetHourlyCharge() const { return m_hourlyCharge; }
75 inline bool HourlyChargeHasBeenSet() const { return m_hourlyChargeHasBeenSet; }
76 inline void SetHourlyCharge(double value) {
77 m_hourlyChargeHasBeenSet = true;
78 m_hourlyCharge = value;
79 }
80 inline ReservationOffering& WithHourlyCharge(double value) {
81 SetHourlyCharge(value);
82 return *this;
83 }
85
87
90 inline const Aws::String& GetOfferingId() const { return m_offeringId; }
91 inline bool OfferingIdHasBeenSet() const { return m_offeringIdHasBeenSet; }
92 template <typename OfferingIdT = Aws::String>
93 void SetOfferingId(OfferingIdT&& value) {
94 m_offeringIdHasBeenSet = true;
95 m_offeringId = std::forward<OfferingIdT>(value);
96 }
97 template <typename OfferingIdT = Aws::String>
98 ReservationOffering& WithOfferingId(OfferingIdT&& value) {
99 SetOfferingId(std::forward<OfferingIdT>(value));
100 return *this;
101 }
103
105
108 inline OfferingType GetOfferingType() const { return m_offeringType; }
109 inline bool OfferingTypeHasBeenSet() const { return m_offeringTypeHasBeenSet; }
110 inline void SetOfferingType(OfferingType value) {
111 m_offeringTypeHasBeenSet = true;
112 m_offeringType = value;
113 }
115 SetOfferingType(value);
116 return *this;
117 }
119
121
124 inline double GetUpfrontCharge() const { return m_upfrontCharge; }
125 inline bool UpfrontChargeHasBeenSet() const { return m_upfrontChargeHasBeenSet; }
126 inline void SetUpfrontCharge(double value) {
127 m_upfrontChargeHasBeenSet = true;
128 m_upfrontCharge = value;
129 }
131 SetUpfrontCharge(value);
132 return *this;
133 }
135 private:
136 Aws::String m_currencyCode;
137
138 int m_duration{0};
139
140 double m_hourlyCharge{0.0};
141
142 Aws::String m_offeringId;
143
144 OfferingType m_offeringType{OfferingType::NOT_SET};
145
146 double m_upfrontCharge{0.0};
147 bool m_currencyCodeHasBeenSet = false;
148 bool m_durationHasBeenSet = false;
149 bool m_hourlyChargeHasBeenSet = false;
150 bool m_offeringIdHasBeenSet = false;
151 bool m_offeringTypeHasBeenSet = false;
152 bool m_upfrontChargeHasBeenSet = false;
153};
154
155} // namespace Model
156} // namespace RedshiftServerless
157} // namespace Aws
ReservationOffering & WithUpfrontCharge(double value)
AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_REDSHIFTSERVERLESS_API ReservationOffering(Aws::Utils::Json::JsonView jsonValue)
ReservationOffering & WithOfferingId(OfferingIdT &&value)
ReservationOffering & WithOfferingType(OfferingType value)
ReservationOffering & WithCurrencyCode(CurrencyCodeT &&value)
ReservationOffering & WithHourlyCharge(double value)
AWS_REDSHIFTSERVERLESS_API ReservationOffering()=default
AWS_REDSHIFTSERVERLESS_API ReservationOffering & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue