7#include <aws/billing/Billing_EXPORTS.h>
8#include <aws/billing/model/Amount.h>
9#include <aws/billing/model/Interval.h>
10#include <aws/billing/model/InvestmentMultiplier.h>
11#include <aws/billing/model/InvestmentRestriction.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/utils/memory/stl/AWSVector.h>
49 template <
typename InvestmentIdT = Aws::String>
51 m_investmentIdHasBeenSet =
true;
52 m_investmentId = std::forward<InvestmentIdT>(value);
54 template <
typename InvestmentIdT = Aws::String>
68 template <
typename OutcomeDescriptionT = Aws::String>
70 m_outcomeDescriptionHasBeenSet =
true;
71 m_outcomeDescription = std::forward<OutcomeDescriptionT>(value);
73 template <
typename OutcomeDescriptionT = Aws::String>
87 template <
typename AttestationWindowT = Interval>
89 m_attestationWindowHasBeenSet =
true;
90 m_attestationWindow = std::forward<AttestationWindowT>(value);
92 template <
typename AttestationWindowT = Interval>
106 template <
typename InvestmentRestrictionsT = Aws::Vector<InvestmentRestriction>>
108 m_investmentRestrictionsHasBeenSet =
true;
109 m_investmentRestrictions = std::forward<InvestmentRestrictionsT>(value);
111 template <
typename InvestmentRestrictionsT = Aws::Vector<InvestmentRestriction>>
116 template <
typename InvestmentRestrictionsT = InvestmentRestriction>
118 m_investmentRestrictionsHasBeenSet =
true;
119 m_investmentRestrictions.emplace_back(std::forward<InvestmentRestrictionsT>(value));
132 template <
typename InvestmentMultipliersT = Aws::Vector<InvestmentMultiplier>>
134 m_investmentMultipliersHasBeenSet =
true;
135 m_investmentMultipliers = std::forward<InvestmentMultipliersT>(value);
137 template <
typename InvestmentMultipliersT = Aws::Vector<InvestmentMultiplier>>
142 template <
typename InvestmentMultipliersT = InvestmentMultiplier>
144 m_investmentMultipliersHasBeenSet =
true;
145 m_investmentMultipliers.emplace_back(std::forward<InvestmentMultipliersT>(value));
157 template <
typename DisbursedValueT = Amount>
159 m_disbursedValueHasBeenSet =
true;
160 m_disbursedValue = std::forward<DisbursedValueT>(value);
162 template <
typename DisbursedValueT = Amount>
180 bool m_investmentIdHasBeenSet =
false;
181 bool m_outcomeDescriptionHasBeenSet =
false;
182 bool m_attestationWindowHasBeenSet =
false;
183 bool m_investmentRestrictionsHasBeenSet =
false;
184 bool m_investmentMultipliersHasBeenSet =
false;
185 bool m_disbursedValueHasBeenSet =
false;
OutcomeBasedInvestment & AddInvestmentMultipliers(InvestmentMultipliersT &&value)
bool DisbursedValueHasBeenSet() const
OutcomeBasedInvestment & WithDisbursedValue(DisbursedValueT &&value)
const Aws::String & GetOutcomeDescription() const
void SetInvestmentRestrictions(InvestmentRestrictionsT &&value)
OutcomeBasedInvestment & AddInvestmentRestrictions(InvestmentRestrictionsT &&value)
OutcomeBasedInvestment & WithInvestmentId(InvestmentIdT &&value)
void SetAttestationWindow(AttestationWindowT &&value)
OutcomeBasedInvestment & WithOutcomeDescription(OutcomeDescriptionT &&value)
AWS_BILLING_API OutcomeBasedInvestment(Aws::Utils::Json::JsonView jsonValue)
void SetInvestmentId(InvestmentIdT &&value)
bool OutcomeDescriptionHasBeenSet() const
OutcomeBasedInvestment & WithInvestmentRestrictions(InvestmentRestrictionsT &&value)
void SetDisbursedValue(DisbursedValueT &&value)
void SetInvestmentMultipliers(InvestmentMultipliersT &&value)
const Amount & GetDisbursedValue() const
const Interval & GetAttestationWindow() const
bool InvestmentMultipliersHasBeenSet() const
const Aws::Vector< InvestmentRestriction > & GetInvestmentRestrictions() const
const Aws::String & GetInvestmentId() const
OutcomeBasedInvestment & WithInvestmentMultipliers(InvestmentMultipliersT &&value)
const Aws::Vector< InvestmentMultiplier > & GetInvestmentMultipliers() const
bool AttestationWindowHasBeenSet() const
AWS_BILLING_API OutcomeBasedInvestment()=default
OutcomeBasedInvestment & WithAttestationWindow(AttestationWindowT &&value)
bool InvestmentRestrictionsHasBeenSet() const
AWS_BILLING_API OutcomeBasedInvestment & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_BILLING_API Aws::Utils::Json::JsonValue Jsonize() const
bool InvestmentIdHasBeenSet() const
void SetOutcomeDescription(OutcomeDescriptionT &&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