AWS SDK for C++

AWS SDK for C++ Version 1.11.924

Loading...
Searching...
No Matches
PrivatePricingAddendum.h
1
6#pragma once
7#include <aws/billing/Billing_EXPORTS.h>
8#include <aws/billing/model/ContractRestriction.h>
9#include <aws/billing/model/Interval.h>
10#include <aws/billing/model/LegalEntity.h>
11#include <aws/core/utils/memory/stl/AWSString.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13
14#include <utility>
15
16namespace Aws {
17namespace Utils {
18namespace Json {
19class JsonValue;
20class JsonView;
21} // namespace Json
22} // namespace Utils
23namespace Billing {
24namespace Model {
25
33 public:
34 AWS_BILLING_API PrivatePricingAddendum() = default;
37 AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const;
38
40
43 inline const Aws::String& GetContractArn() const { return m_contractArn; }
44 inline bool ContractArnHasBeenSet() const { return m_contractArnHasBeenSet; }
45 template <typename ContractArnT = Aws::String>
46 void SetContractArn(ContractArnT&& value) {
47 m_contractArnHasBeenSet = true;
48 m_contractArn = std::forward<ContractArnT>(value);
49 }
50 template <typename ContractArnT = Aws::String>
51 PrivatePricingAddendum& WithContractArn(ContractArnT&& value) {
52 SetContractArn(std::forward<ContractArnT>(value));
53 return *this;
54 }
56
58
62 inline const Interval& GetContractTerm() const { return m_contractTerm; }
63 inline bool ContractTermHasBeenSet() const { return m_contractTermHasBeenSet; }
64 template <typename ContractTermT = Interval>
65 void SetContractTerm(ContractTermT&& value) {
66 m_contractTermHasBeenSet = true;
67 m_contractTerm = std::forward<ContractTermT>(value);
68 }
69 template <typename ContractTermT = Interval>
70 PrivatePricingAddendum& WithContractTerm(ContractTermT&& value) {
71 SetContractTerm(std::forward<ContractTermT>(value));
72 return *this;
73 }
75
77
81 inline const Aws::Vector<Aws::String>& GetEligiblePayerAccounts() const { return m_eligiblePayerAccounts; }
82 inline bool EligiblePayerAccountsHasBeenSet() const { return m_eligiblePayerAccountsHasBeenSet; }
83 template <typename EligiblePayerAccountsT = Aws::Vector<Aws::String>>
84 void SetEligiblePayerAccounts(EligiblePayerAccountsT&& value) {
85 m_eligiblePayerAccountsHasBeenSet = true;
86 m_eligiblePayerAccounts = std::forward<EligiblePayerAccountsT>(value);
87 }
88 template <typename EligiblePayerAccountsT = Aws::Vector<Aws::String>>
89 PrivatePricingAddendum& WithEligiblePayerAccounts(EligiblePayerAccountsT&& value) {
90 SetEligiblePayerAccounts(std::forward<EligiblePayerAccountsT>(value));
91 return *this;
92 }
93 template <typename EligiblePayerAccountsT = Aws::String>
94 PrivatePricingAddendum& AddEligiblePayerAccounts(EligiblePayerAccountsT&& value) {
95 m_eligiblePayerAccountsHasBeenSet = true;
96 m_eligiblePayerAccounts.emplace_back(std::forward<EligiblePayerAccountsT>(value));
97 return *this;
98 }
100
102
107 inline const Aws::Vector<Aws::String>& GetInvestmentAccounts() const { return m_investmentAccounts; }
108 inline bool InvestmentAccountsHasBeenSet() const { return m_investmentAccountsHasBeenSet; }
109 template <typename InvestmentAccountsT = Aws::Vector<Aws::String>>
110 void SetInvestmentAccounts(InvestmentAccountsT&& value) {
111 m_investmentAccountsHasBeenSet = true;
112 m_investmentAccounts = std::forward<InvestmentAccountsT>(value);
113 }
114 template <typename InvestmentAccountsT = Aws::Vector<Aws::String>>
115 PrivatePricingAddendum& WithInvestmentAccounts(InvestmentAccountsT&& value) {
116 SetInvestmentAccounts(std::forward<InvestmentAccountsT>(value));
117 return *this;
118 }
119 template <typename InvestmentAccountsT = Aws::String>
120 PrivatePricingAddendum& AddInvestmentAccounts(InvestmentAccountsT&& value) {
121 m_investmentAccountsHasBeenSet = true;
122 m_investmentAccounts.emplace_back(std::forward<InvestmentAccountsT>(value));
123 return *this;
124 }
126
128
132 inline const Aws::Vector<LegalEntity>& GetLegalEntities() const { return m_legalEntities; }
133 inline bool LegalEntitiesHasBeenSet() const { return m_legalEntitiesHasBeenSet; }
134 template <typename LegalEntitiesT = Aws::Vector<LegalEntity>>
135 void SetLegalEntities(LegalEntitiesT&& value) {
136 m_legalEntitiesHasBeenSet = true;
137 m_legalEntities = std::forward<LegalEntitiesT>(value);
138 }
139 template <typename LegalEntitiesT = Aws::Vector<LegalEntity>>
140 PrivatePricingAddendum& WithLegalEntities(LegalEntitiesT&& value) {
141 SetLegalEntities(std::forward<LegalEntitiesT>(value));
142 return *this;
143 }
144 template <typename LegalEntitiesT = LegalEntity>
145 PrivatePricingAddendum& AddLegalEntities(LegalEntitiesT&& value) {
146 m_legalEntitiesHasBeenSet = true;
147 m_legalEntities.emplace_back(std::forward<LegalEntitiesT>(value));
148 return *this;
149 }
151
153
158 inline const Aws::Vector<ContractRestriction>& GetContractRestrictions() const { return m_contractRestrictions; }
159 inline bool ContractRestrictionsHasBeenSet() const { return m_contractRestrictionsHasBeenSet; }
160 template <typename ContractRestrictionsT = Aws::Vector<ContractRestriction>>
161 void SetContractRestrictions(ContractRestrictionsT&& value) {
162 m_contractRestrictionsHasBeenSet = true;
163 m_contractRestrictions = std::forward<ContractRestrictionsT>(value);
164 }
165 template <typename ContractRestrictionsT = Aws::Vector<ContractRestriction>>
166 PrivatePricingAddendum& WithContractRestrictions(ContractRestrictionsT&& value) {
167 SetContractRestrictions(std::forward<ContractRestrictionsT>(value));
168 return *this;
169 }
171 m_contractRestrictionsHasBeenSet = true;
172 m_contractRestrictions.push_back(value);
173 return *this;
174 }
176 private:
177 Aws::String m_contractArn;
178
179 Interval m_contractTerm;
180
181 Aws::Vector<Aws::String> m_eligiblePayerAccounts;
182
183 Aws::Vector<Aws::String> m_investmentAccounts;
184
185 Aws::Vector<LegalEntity> m_legalEntities;
186
187 Aws::Vector<ContractRestriction> m_contractRestrictions;
188 bool m_contractArnHasBeenSet = false;
189 bool m_contractTermHasBeenSet = false;
190 bool m_eligiblePayerAccountsHasBeenSet = false;
191 bool m_investmentAccountsHasBeenSet = false;
192 bool m_legalEntitiesHasBeenSet = false;
193 bool m_contractRestrictionsHasBeenSet = false;
194};
195
196} // namespace Model
197} // namespace Billing
198} // namespace Aws
void SetEligiblePayerAccounts(EligiblePayerAccountsT &&value)
const Aws::Vector< Aws::String > & GetEligiblePayerAccounts() const
void SetContractRestrictions(ContractRestrictionsT &&value)
PrivatePricingAddendum & WithContractArn(ContractArnT &&value)
PrivatePricingAddendum & WithContractRestrictions(ContractRestrictionsT &&value)
PrivatePricingAddendum & AddContractRestrictions(ContractRestriction value)
PrivatePricingAddendum & WithLegalEntities(LegalEntitiesT &&value)
PrivatePricingAddendum & WithContractTerm(ContractTermT &&value)
void SetInvestmentAccounts(InvestmentAccountsT &&value)
AWS_BILLING_API PrivatePricingAddendum()=default
PrivatePricingAddendum & AddInvestmentAccounts(InvestmentAccountsT &&value)
AWS_BILLING_API PrivatePricingAddendum(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< ContractRestriction > & GetContractRestrictions() const
AWS_BILLING_API PrivatePricingAddendum & operator=(Aws::Utils::Json::JsonView jsonValue)
PrivatePricingAddendum & WithInvestmentAccounts(InvestmentAccountsT &&value)
AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const
const Aws::Vector< LegalEntity > & GetLegalEntities() const
PrivatePricingAddendum & WithEligiblePayerAccounts(EligiblePayerAccountsT &&value)
const Aws::Vector< Aws::String > & GetInvestmentAccounts() const
PrivatePricingAddendum & AddLegalEntities(LegalEntitiesT &&value)
PrivatePricingAddendum & AddEligiblePayerAccounts(EligiblePayerAccountsT &&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