AWS SDK for C++

AWS SDK for C++ Version 1.11.608

Loading...
Searching...
No Matches
SavingsPlanOffering.h
1
6#pragma once
7#include <aws/savingsplans/SavingsPlans_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/savingsplans/model/SavingsPlanType.h>
11#include <aws/savingsplans/model/SavingsPlanPaymentOption.h>
12#include <aws/savingsplans/model/CurrencyCode.h>
13#include <aws/savingsplans/model/SavingsPlanProductType.h>
14#include <aws/savingsplans/model/SavingsPlanOfferingProperty.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 SavingsPlanOffering() = default;
41 AWS_SAVINGSPLANS_API SavingsPlanOffering(Aws::Utils::Json::JsonView jsonValue);
43 AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const;
44
45
47
50 inline const Aws::String& GetOfferingId() const { return m_offeringId; }
51 inline bool OfferingIdHasBeenSet() const { return m_offeringIdHasBeenSet; }
52 template<typename OfferingIdT = Aws::String>
53 void SetOfferingId(OfferingIdT&& value) { m_offeringIdHasBeenSet = true; m_offeringId = std::forward<OfferingIdT>(value); }
54 template<typename OfferingIdT = Aws::String>
55 SavingsPlanOffering& WithOfferingId(OfferingIdT&& value) { SetOfferingId(std::forward<OfferingIdT>(value)); return *this;}
57
59
62 inline const Aws::Vector<SavingsPlanProductType>& GetProductTypes() const { return m_productTypes; }
63 inline bool ProductTypesHasBeenSet() const { return m_productTypesHasBeenSet; }
64 template<typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
65 void SetProductTypes(ProductTypesT&& value) { m_productTypesHasBeenSet = true; m_productTypes = std::forward<ProductTypesT>(value); }
66 template<typename ProductTypesT = Aws::Vector<SavingsPlanProductType>>
67 SavingsPlanOffering& WithProductTypes(ProductTypesT&& value) { SetProductTypes(std::forward<ProductTypesT>(value)); return *this;}
68 inline SavingsPlanOffering& AddProductTypes(SavingsPlanProductType value) { m_productTypesHasBeenSet = true; m_productTypes.push_back(value); return *this; }
70
72
75 inline SavingsPlanType GetPlanType() const { return m_planType; }
76 inline bool PlanTypeHasBeenSet() const { return m_planTypeHasBeenSet; }
77 inline void SetPlanType(SavingsPlanType value) { m_planTypeHasBeenSet = true; m_planType = value; }
78 inline SavingsPlanOffering& WithPlanType(SavingsPlanType value) { SetPlanType(value); return *this;}
80
82
85 inline const Aws::String& GetDescription() const { return m_description; }
86 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
87 template<typename DescriptionT = Aws::String>
88 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
89 template<typename DescriptionT = Aws::String>
90 SavingsPlanOffering& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
92
94
97 inline SavingsPlanPaymentOption GetPaymentOption() const { return m_paymentOption; }
98 inline bool PaymentOptionHasBeenSet() const { return m_paymentOptionHasBeenSet; }
99 inline void SetPaymentOption(SavingsPlanPaymentOption value) { m_paymentOptionHasBeenSet = true; m_paymentOption = value; }
102
104
107 inline long long GetDurationSeconds() const { return m_durationSeconds; }
108 inline bool DurationSecondsHasBeenSet() const { return m_durationSecondsHasBeenSet; }
109 inline void SetDurationSeconds(long long value) { m_durationSecondsHasBeenSet = true; m_durationSeconds = value; }
110 inline SavingsPlanOffering& WithDurationSeconds(long long value) { SetDurationSeconds(value); return *this;}
112
114
117 inline CurrencyCode GetCurrency() const { return m_currency; }
118 inline bool CurrencyHasBeenSet() const { return m_currencyHasBeenSet; }
119 inline void SetCurrency(CurrencyCode value) { m_currencyHasBeenSet = true; m_currency = value; }
120 inline SavingsPlanOffering& WithCurrency(CurrencyCode value) { SetCurrency(value); return *this;}
122
124
127 inline const Aws::String& GetServiceCode() const { return m_serviceCode; }
128 inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; }
129 template<typename ServiceCodeT = Aws::String>
130 void SetServiceCode(ServiceCodeT&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::forward<ServiceCodeT>(value); }
131 template<typename ServiceCodeT = Aws::String>
132 SavingsPlanOffering& WithServiceCode(ServiceCodeT&& value) { SetServiceCode(std::forward<ServiceCodeT>(value)); return *this;}
134
136
139 inline const Aws::String& GetUsageType() const { return m_usageType; }
140 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
141 template<typename UsageTypeT = Aws::String>
142 void SetUsageType(UsageTypeT&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::forward<UsageTypeT>(value); }
143 template<typename UsageTypeT = Aws::String>
144 SavingsPlanOffering& WithUsageType(UsageTypeT&& value) { SetUsageType(std::forward<UsageTypeT>(value)); return *this;}
146
148
152 inline const Aws::String& GetOperation() const { return m_operation; }
153 inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; }
154 template<typename OperationT = Aws::String>
155 void SetOperation(OperationT&& value) { m_operationHasBeenSet = true; m_operation = std::forward<OperationT>(value); }
156 template<typename OperationT = Aws::String>
157 SavingsPlanOffering& WithOperation(OperationT&& value) { SetOperation(std::forward<OperationT>(value)); return *this;}
159
161
164 inline const Aws::Vector<SavingsPlanOfferingProperty>& GetProperties() const { return m_properties; }
165 inline bool PropertiesHasBeenSet() const { return m_propertiesHasBeenSet; }
166 template<typename PropertiesT = Aws::Vector<SavingsPlanOfferingProperty>>
167 void SetProperties(PropertiesT&& value) { m_propertiesHasBeenSet = true; m_properties = std::forward<PropertiesT>(value); }
168 template<typename PropertiesT = Aws::Vector<SavingsPlanOfferingProperty>>
169 SavingsPlanOffering& WithProperties(PropertiesT&& value) { SetProperties(std::forward<PropertiesT>(value)); return *this;}
170 template<typename PropertiesT = SavingsPlanOfferingProperty>
171 SavingsPlanOffering& AddProperties(PropertiesT&& value) { m_propertiesHasBeenSet = true; m_properties.emplace_back(std::forward<PropertiesT>(value)); return *this; }
173 private:
174
175 Aws::String m_offeringId;
176 bool m_offeringIdHasBeenSet = false;
177
179 bool m_productTypesHasBeenSet = false;
180
182 bool m_planTypeHasBeenSet = false;
183
184 Aws::String m_description;
185 bool m_descriptionHasBeenSet = false;
186
188 bool m_paymentOptionHasBeenSet = false;
189
190 long long m_durationSeconds{0};
191 bool m_durationSecondsHasBeenSet = false;
192
194 bool m_currencyHasBeenSet = false;
195
196 Aws::String m_serviceCode;
197 bool m_serviceCodeHasBeenSet = false;
198
199 Aws::String m_usageType;
200 bool m_usageTypeHasBeenSet = false;
201
202 Aws::String m_operation;
203 bool m_operationHasBeenSet = false;
204
206 bool m_propertiesHasBeenSet = false;
207 };
208
209} // namespace Model
210} // namespace SavingsPlans
211} // namespace Aws
SavingsPlanOffering & WithOperation(OperationT &&value)
SavingsPlanOffering & WithCurrency(CurrencyCode value)
AWS_SAVINGSPLANS_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< SavingsPlanProductType > & GetProductTypes() const
AWS_SAVINGSPLANS_API SavingsPlanOffering(Aws::Utils::Json::JsonView jsonValue)
SavingsPlanOffering & WithServiceCode(ServiceCodeT &&value)
SavingsPlanOffering & AddProperties(PropertiesT &&value)
SavingsPlanOffering & WithProductTypes(ProductTypesT &&value)
SavingsPlanOffering & WithDescription(DescriptionT &&value)
SavingsPlanOffering & WithPaymentOption(SavingsPlanPaymentOption value)
SavingsPlanOffering & WithOfferingId(OfferingIdT &&value)
AWS_SAVINGSPLANS_API SavingsPlanOffering()=default
SavingsPlanOffering & WithDurationSeconds(long long value)
void SetPaymentOption(SavingsPlanPaymentOption value)
SavingsPlanOffering & WithProperties(PropertiesT &&value)
const Aws::Vector< SavingsPlanOfferingProperty > & GetProperties() const
SavingsPlanOffering & WithPlanType(SavingsPlanType value)
SavingsPlanOffering & AddProductTypes(SavingsPlanProductType value)
SavingsPlanOffering & WithUsageType(UsageTypeT &&value)
SavingsPlanPaymentOption GetPaymentOption() const
AWS_SAVINGSPLANS_API SavingsPlanOffering & operator=(Aws::Utils::Json::JsonView jsonValue)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue