AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
SavingsPlanOfferingRate.h
1
6#pragma once
7#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
8#include <aws/savingsplans/model/ParentSavingsPlanOffering.h>
9#include <aws/core/utils/memory/stl/AWSString.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/SavingsPlanOfferingRateProperty.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 SavingsPlanOfferingRate() = default;
41 AWS_SAVINGSPLANS_API SavingsPlanOfferingRate(Aws::Utils::Json::JsonView jsonValue);
43 AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const ParentSavingsPlanOffering& GetSavingsPlanOffering() const { return m_savingsPlanOffering; }
51 inline bool SavingsPlanOfferingHasBeenSet() const { return m_savingsPlanOfferingHasBeenSet; }
52 template<typename SavingsPlanOfferingT = ParentSavingsPlanOffering>
53 void SetSavingsPlanOffering(SavingsPlanOfferingT&& value) { m_savingsPlanOfferingHasBeenSet = true; m_savingsPlanOffering = std::forward<SavingsPlanOfferingT>(value); }
54 template<typename SavingsPlanOfferingT = ParentSavingsPlanOffering>
55 SavingsPlanOfferingRate& WithSavingsPlanOffering(SavingsPlanOfferingT&& value) { SetSavingsPlanOffering(std::forward<SavingsPlanOfferingT>(value)); return *this;}
57
59
62 inline const Aws::String& GetRate() const { return m_rate; }
63 inline bool RateHasBeenSet() const { return m_rateHasBeenSet; }
64 template<typename RateT = Aws::String>
65 void SetRate(RateT&& value) { m_rateHasBeenSet = true; m_rate = std::forward<RateT>(value); }
66 template<typename RateT = Aws::String>
67 SavingsPlanOfferingRate& WithRate(RateT&& value) { SetRate(std::forward<RateT>(value)); return *this;}
69
71
74 inline SavingsPlanRateUnit GetUnit() const { return m_unit; }
75 inline bool UnitHasBeenSet() const { return m_unitHasBeenSet; }
76 inline void SetUnit(SavingsPlanRateUnit value) { m_unitHasBeenSet = true; m_unit = value; }
77 inline SavingsPlanOfferingRate& WithUnit(SavingsPlanRateUnit value) { SetUnit(value); return *this;}
79
81
84 inline SavingsPlanProductType GetProductType() const { return m_productType; }
85 inline bool ProductTypeHasBeenSet() const { return m_productTypeHasBeenSet; }
86 inline void SetProductType(SavingsPlanProductType value) { m_productTypeHasBeenSet = true; m_productType = value; }
89
91
94 inline SavingsPlanRateServiceCode GetServiceCode() const { return m_serviceCode; }
95 inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; }
96 inline void SetServiceCode(SavingsPlanRateServiceCode value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; }
99
101
104 inline const Aws::String& GetUsageType() const { return m_usageType; }
105 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
106 template<typename UsageTypeT = Aws::String>
107 void SetUsageType(UsageTypeT&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::forward<UsageTypeT>(value); }
108 template<typename UsageTypeT = Aws::String>
109 SavingsPlanOfferingRate& WithUsageType(UsageTypeT&& value) { SetUsageType(std::forward<UsageTypeT>(value)); return *this;}
111
113
117 inline const Aws::String& GetOperation() const { return m_operation; }
118 inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; }
119 template<typename OperationT = Aws::String>
120 void SetOperation(OperationT&& value) { m_operationHasBeenSet = true; m_operation = std::forward<OperationT>(value); }
121 template<typename OperationT = Aws::String>
122 SavingsPlanOfferingRate& WithOperation(OperationT&& value) { SetOperation(std::forward<OperationT>(value)); return *this;}
124
126
129 inline const Aws::Vector<SavingsPlanOfferingRateProperty>& GetProperties() const { return m_properties; }
130 inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
131 template<typename PropertiesT = Aws::Vector<SavingsPlanOfferingRateProperty>>
132 void SetProperties(PropertiesT&& value) { m_propertiesHasBeenSet = true; m_properties = std::forward<PropertiesT>(value); }
133 template<typename PropertiesT = Aws::Vector<SavingsPlanOfferingRateProperty>>
134 SavingsPlanOfferingRate& WithProperties(PropertiesT&& value) { SetProperties(std::forward<PropertiesT>(value)); return *this;}
135 template<typename PropertiesT = SavingsPlanOfferingRateProperty>
136 SavingsPlanOfferingRate& AddProperties(PropertiesT&& value) { m_propertiesHasBeenSet = true; m_properties.emplace_back(std::forward<PropertiesT>(value)); return *this; }
138 private:
139
140 ParentSavingsPlanOffering m_savingsPlanOffering;
141 bool m_savingsPlanOfferingHasBeenSet = false;
142
143 Aws::String m_rate;
144 bool m_rateHasBeenSet = false;
145
147 bool m_unitHasBeenSet = false;
148
150 bool m_productTypeHasBeenSet = false;
151
153 bool m_serviceCodeHasBeenSet = false;
154
155 Aws::String m_usageType;
156 bool m_usageTypeHasBeenSet = false;
157
158 Aws::String m_operation;
159 bool m_operationHasBeenSet = false;
160
162 bool m_propertiesHasBeenSet = false;
163 };
164
165} // namespace Model
166} // namespace SavingsPlans
167} // namespace Aws
SavingsPlanOfferingRate & WithProperties(PropertiesT &&value)
AWS_SAVINGSPLANS_API SavingsPlanOfferingRate & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_SAVINGSPLANS_API SavingsPlanOfferingRate(Aws::Utils::Json::JsonView jsonValue)
SavingsPlanOfferingRate & WithOperation(OperationT &&value)
SavingsPlanOfferingRate & WithRate(RateT &&value)
void SetServiceCode(SavingsPlanRateServiceCode value)
const Aws::Vector< SavingsPlanOfferingRateProperty > & GetProperties() const
SavingsPlanOfferingRate & AddProperties(PropertiesT &&value)
const ParentSavingsPlanOffering & GetSavingsPlanOffering() const
SavingsPlanOfferingRate & WithUnit(SavingsPlanRateUnit value)
AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
AWS_SAVINGSPLANS_API SavingsPlanOfferingRate()=default
SavingsPlanOfferingRate & WithSavingsPlanOffering(SavingsPlanOfferingT &&value)
SavingsPlanOfferingRate & WithUsageType(UsageTypeT &&value)
SavingsPlanOfferingRate & WithServiceCode(SavingsPlanRateServiceCode value)
void SetSavingsPlanOffering(SavingsPlanOfferingT &&value)
SavingsPlanOfferingRate & WithProductType(SavingsPlanProductType value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue