AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
SavingsPlanRate.h
1
6#pragma once
7#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/savingsplans/model/CurrencyCode.h>
10#include <aws/savingsplans/model/SavingsPlanRateUnit.h>
11#include <aws/savingsplans/model/SavingsPlanProductType.h>
12#include <aws/savingsplans/model/SavingsPlanRateServiceCode.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
14#include <aws/savingsplans/model/SavingsPlanRateProperty.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 SavingsPlans
28{
29namespace Model
30{
31
38 {
39 public:
40 AWS_SAVINGSPLANS_API SavingsPlanRate() = default;
41 AWS_SAVINGSPLANS_API SavingsPlanRate(Aws::Utils::Json::JsonView jsonValue);
42 AWS_SAVINGSPLANS_API SavingsPlanRate& operator=(Aws::Utils::Json::JsonView jsonValue);
43 AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetRate() const { return m_rate; }
51 inline bool RateHasBeenSet() const { return m_rateHasBeenSet; }
52 template<typename RateT = Aws::String>
53 void SetRate(RateT&& value) { m_rateHasBeenSet = true; m_rate = std::forward<RateT>(value); }
54 template<typename RateT = Aws::String>
55 SavingsPlanRate& WithRate(RateT&& value) { SetRate(std::forward<RateT>(value)); return *this;}
57
59
62 inline CurrencyCode GetCurrency() const { return m_currency; }
63 inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; }
64 inline void SetCurrency(CurrencyCode value) { m_currencyHasBeenSet = true; m_currency = value; }
65 inline SavingsPlanRate& WithCurrency(CurrencyCode value) { SetCurrency(value); return *this;}
67
69
72 inline SavingsPlanRateUnit GetUnit() const { return m_unit; }
73 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
74 inline void SetUnit(SavingsPlanRateUnit value) { m_unitHasBeenSet = true; m_unit = value; }
75 inline SavingsPlanRate& WithUnit(SavingsPlanRateUnit value) { SetUnit(value); return *this;}
77
79
82 inline SavingsPlanProductType GetProductType() const { return m_productType; }
83 inline bool ProductTypeHasBeenSet() const { return m_productTypeHasBeenSet; }
84 inline void SetProductType(SavingsPlanProductType value) { m_productTypeHasBeenSet = true; m_productType = value; }
87
89
92 inline SavingsPlanRateServiceCode GetServiceCode() const { return m_serviceCode; }
93 inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; }
94 inline void SetServiceCode(SavingsPlanRateServiceCode value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; }
97
99
102 inline const Aws::String& GetUsageType() const { return m_usageType; }
103 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
104 template<typename UsageTypeT = Aws::String>
105 void SetUsageType(UsageTypeT&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::forward<UsageTypeT>(value); }
106 template<typename UsageTypeT = Aws::String>
107 SavingsPlanRate& WithUsageType(UsageTypeT&& value) { SetUsageType(std::forward<UsageTypeT>(value)); return *this;}
109
111
115 inline const Aws::String& GetOperation() const { return m_operation; }
116 inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; }
117 template<typename OperationT = Aws::String>
118 void SetOperation(OperationT&& value) { m_operationHasBeenSet = true; m_operation = std::forward<OperationT>(value); }
119 template<typename OperationT = Aws::String>
120 SavingsPlanRate& WithOperation(OperationT&& value) { SetOperation(std::forward<OperationT>(value)); return *this;}
122
124
127 inline const Aws::Vector<SavingsPlanRateProperty>& GetProperties() const { return m_properties; }
128 inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
129 template<typename PropertiesT = Aws::Vector<SavingsPlanRateProperty>>
130 void SetProperties(PropertiesT&& value) { m_propertiesHasBeenSet = true; m_properties = std::forward<PropertiesT>(value); }
131 template<typename PropertiesT = Aws::Vector<SavingsPlanRateProperty>>
132 SavingsPlanRate& WithProperties(PropertiesT&& value) { SetProperties(std::forward<PropertiesT>(value)); return *this;}
133 template<typename PropertiesT = SavingsPlanRateProperty>
134 SavingsPlanRate& AddProperties(PropertiesT&& value) { m_propertiesHasBeenSet = true; m_properties.emplace_back(std::forward<PropertiesT>(value)); return *this; }
136 private:
137
138 Aws::String m_rate;
139 bool m_rateHasBeenSet = false;
140
142 bool m_currencyHasBeenSet = false;
143
145 bool m_unitHasBeenSet = false;
146
148 bool m_productTypeHasBeenSet = false;
149
151 bool m_serviceCodeHasBeenSet = false;
152
153 Aws::String m_usageType;
154 bool m_usageTypeHasBeenSet = false;
155
156 Aws::String m_operation;
157 bool m_operationHasBeenSet = false;
158
160 bool m_propertiesHasBeenSet = false;
161 };
162
163} // namespace Model
164} // namespace SavingsPlans
165} // namespace Aws
SavingsPlanProductType GetProductType() const
AWS_SAVINGSPLANS_API SavingsPlanRate(Aws::Utils::Json::JsonView jsonValue)
SavingsPlanRate & WithCurrency(CurrencyCode value)
SavingsPlanRate & WithProperties(PropertiesT &&value)
SavingsPlanRate & WithOperation(OperationT &&value)
AWS_SAVINGSPLANS_API SavingsPlanRate()=default
AWS_SAVINGSPLANS_API SavingsPlanRate & operator=(Aws::Utils::Json::JsonView jsonValue)
SavingsPlanRate & WithUsageType(UsageTypeT &&value)
SavingsPlanRate & WithRate(RateT &&value)
SavingsPlanRate & WithServiceCode(SavingsPlanRateServiceCode value)
AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetUnit(SavingsPlanRateUnit value)
const Aws::String & GetOperation() const
SavingsPlanRate & AddProperties(PropertiesT &&value)
SavingsPlanRate & WithUnit(SavingsPlanRateUnit value)
void SetProductType(SavingsPlanProductType value)
void SetServiceCode(SavingsPlanRateServiceCode value)
SavingsPlanRateServiceCode GetServiceCode() const
SavingsPlanRate & WithProductType(SavingsPlanProductType value)
const Aws::String & GetUsageType() const
const Aws::Vector< SavingsPlanRateProperty > & GetProperties() 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