AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
TaxExemption.h
1
6#pragma once
7#include <aws/core/utils/DateTime.h>
8#include <aws/taxsettings/TaxSettings_EXPORTS.h>
9#include <aws/taxsettings/model/Authority.h>
10#include <aws/taxsettings/model/EntityExemptionAccountStatus.h>
11#include <aws/taxsettings/model/TaxExemptionType.h>
12
13#include <utility>
14
15namespace Aws {
16namespace Utils {
17namespace Json {
18class JsonValue;
19class JsonView;
20} // namespace Json
21} // namespace Utils
22namespace TaxSettings {
23namespace Model {
24
31 public:
32 AWS_TAXSETTINGS_API TaxExemption() = default;
33 AWS_TAXSETTINGS_API TaxExemption(Aws::Utils::Json::JsonView jsonValue);
34 AWS_TAXSETTINGS_API TaxExemption& operator=(Aws::Utils::Json::JsonView jsonValue);
35 AWS_TAXSETTINGS_API Aws::Utils::Json::JsonValue Jsonize() const;
36
38
41 inline const Authority& GetAuthority() const { return m_authority; }
42 inline bool AuthorityHasBeenSet() const { return m_authorityHasBeenSet; }
43 template <typename AuthorityT = Authority>
44 void SetAuthority(AuthorityT&& value) {
45 m_authorityHasBeenSet = true;
46 m_authority = std::forward<AuthorityT>(value);
47 }
48 template <typename AuthorityT = Authority>
49 TaxExemption& WithAuthority(AuthorityT&& value) {
50 SetAuthority(std::forward<AuthorityT>(value));
51 return *this;
52 }
54
56
59 inline const Aws::Utils::DateTime& GetEffectiveDate() const { return m_effectiveDate; }
60 inline bool EffectiveDateHasBeenSet() const { return m_effectiveDateHasBeenSet; }
61 template <typename EffectiveDateT = Aws::Utils::DateTime>
62 void SetEffectiveDate(EffectiveDateT&& value) {
63 m_effectiveDateHasBeenSet = true;
64 m_effectiveDate = std::forward<EffectiveDateT>(value);
65 }
66 template <typename EffectiveDateT = Aws::Utils::DateTime>
67 TaxExemption& WithEffectiveDate(EffectiveDateT&& value) {
68 SetEffectiveDate(std::forward<EffectiveDateT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::Utils::DateTime& GetExpirationDate() const { return m_expirationDate; }
78 inline bool ExpirationDateHasBeenSet() const { return m_expirationDateHasBeenSet; }
79 template <typename ExpirationDateT = Aws::Utils::DateTime>
80 void SetExpirationDate(ExpirationDateT&& value) {
81 m_expirationDateHasBeenSet = true;
82 m_expirationDate = std::forward<ExpirationDateT>(value);
83 }
84 template <typename ExpirationDateT = Aws::Utils::DateTime>
85 TaxExemption& WithExpirationDate(ExpirationDateT&& value) {
86 SetExpirationDate(std::forward<ExpirationDateT>(value));
87 return *this;
88 }
90
92
95 inline EntityExemptionAccountStatus GetStatus() const { return m_status; }
96 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
98 m_statusHasBeenSet = true;
99 m_status = value;
100 }
102 SetStatus(value);
103 return *this;
104 }
106
108
111 inline const Aws::Utils::DateTime& GetSystemEffectiveDate() const { return m_systemEffectiveDate; }
112 inline bool SystemEffectiveDateHasBeenSet() const { return m_systemEffectiveDateHasBeenSet; }
113 template <typename SystemEffectiveDateT = Aws::Utils::DateTime>
114 void SetSystemEffectiveDate(SystemEffectiveDateT&& value) {
115 m_systemEffectiveDateHasBeenSet = true;
116 m_systemEffectiveDate = std::forward<SystemEffectiveDateT>(value);
117 }
118 template <typename SystemEffectiveDateT = Aws::Utils::DateTime>
119 TaxExemption& WithSystemEffectiveDate(SystemEffectiveDateT&& value) {
120 SetSystemEffectiveDate(std::forward<SystemEffectiveDateT>(value));
121 return *this;
122 }
124
126
129 inline const TaxExemptionType& GetTaxExemptionType() const { return m_taxExemptionType; }
130 inline bool TaxExemptionTypeHasBeenSet() const { return m_taxExemptionTypeHasBeenSet; }
131 template <typename TaxExemptionTypeT = TaxExemptionType>
132 void SetTaxExemptionType(TaxExemptionTypeT&& value) {
133 m_taxExemptionTypeHasBeenSet = true;
134 m_taxExemptionType = std::forward<TaxExemptionTypeT>(value);
135 }
136 template <typename TaxExemptionTypeT = TaxExemptionType>
137 TaxExemption& WithTaxExemptionType(TaxExemptionTypeT&& value) {
138 SetTaxExemptionType(std::forward<TaxExemptionTypeT>(value));
139 return *this;
140 }
142 private:
143 Authority m_authority;
144
145 Aws::Utils::DateTime m_effectiveDate{};
146
147 Aws::Utils::DateTime m_expirationDate{};
148
150
151 Aws::Utils::DateTime m_systemEffectiveDate{};
152
153 TaxExemptionType m_taxExemptionType;
154 bool m_authorityHasBeenSet = false;
155 bool m_effectiveDateHasBeenSet = false;
156 bool m_expirationDateHasBeenSet = false;
157 bool m_statusHasBeenSet = false;
158 bool m_systemEffectiveDateHasBeenSet = false;
159 bool m_taxExemptionTypeHasBeenSet = false;
160};
161
162} // namespace Model
163} // namespace TaxSettings
164} // namespace Aws
void SetStatus(EntityExemptionAccountStatus value)
AWS_TAXSETTINGS_API TaxExemption(Aws::Utils::Json::JsonView jsonValue)
const Aws::Utils::DateTime & GetSystemEffectiveDate() const
AWS_TAXSETTINGS_API TaxExemption & operator=(Aws::Utils::Json::JsonView jsonValue)
const TaxExemptionType & GetTaxExemptionType() const
const Aws::Utils::DateTime & GetEffectiveDate() const
void SetTaxExemptionType(TaxExemptionTypeT &&value)
TaxExemption & WithAuthority(AuthorityT &&value)
EntityExemptionAccountStatus GetStatus() const
TaxExemption & WithExpirationDate(ExpirationDateT &&value)
void SetExpirationDate(ExpirationDateT &&value)
TaxExemption & WithSystemEffectiveDate(SystemEffectiveDateT &&value)
TaxExemption & WithTaxExemptionType(TaxExemptionTypeT &&value)
const Aws::Utils::DateTime & GetExpirationDate() const
AWS_TAXSETTINGS_API TaxExemption()=default
TaxExemption & WithEffectiveDate(EffectiveDateT &&value)
void SetEffectiveDate(EffectiveDateT &&value)
void SetSystemEffectiveDate(SystemEffectiveDateT &&value)
TaxExemption & WithStatus(EntityExemptionAccountStatus value)
AWS_TAXSETTINGS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetAuthority(AuthorityT &&value)
const Authority & GetAuthority() const
Aws::Utils::Json::JsonValue JsonValue