AWS SDK for C++

AWS SDK for C++ Version 1.11.830

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 TaxExemptionType& GetTaxExemptionType() const { return m_taxExemptionType; }
60 inline bool TaxExemptionTypeHasBeenSet() const { return m_taxExemptionTypeHasBeenSet; }
61 template <typename TaxExemptionTypeT = TaxExemptionType>
62 void SetTaxExemptionType(TaxExemptionTypeT&& value) {
63 m_taxExemptionTypeHasBeenSet = true;
64 m_taxExemptionType = std::forward<TaxExemptionTypeT>(value);
65 }
66 template <typename TaxExemptionTypeT = TaxExemptionType>
67 TaxExemption& WithTaxExemptionType(TaxExemptionTypeT&& value) {
68 SetTaxExemptionType(std::forward<TaxExemptionTypeT>(value));
69 return *this;
70 }
72
74
77 inline const Aws::Utils::DateTime& GetEffectiveDate() const { return m_effectiveDate; }
78 inline bool EffectiveDateHasBeenSet() const { return m_effectiveDateHasBeenSet; }
79 template <typename EffectiveDateT = Aws::Utils::DateTime>
80 void SetEffectiveDate(EffectiveDateT&& value) {
81 m_effectiveDateHasBeenSet = true;
82 m_effectiveDate = std::forward<EffectiveDateT>(value);
83 }
84 template <typename EffectiveDateT = Aws::Utils::DateTime>
85 TaxExemption& WithEffectiveDate(EffectiveDateT&& value) {
86 SetEffectiveDate(std::forward<EffectiveDateT>(value));
87 return *this;
88 }
90
92
95 inline const Aws::Utils::DateTime& GetExpirationDate() const { return m_expirationDate; }
96 inline bool ExpirationDateHasBeenSet() const { return m_expirationDateHasBeenSet; }
97 template <typename ExpirationDateT = Aws::Utils::DateTime>
98 void SetExpirationDate(ExpirationDateT&& value) {
99 m_expirationDateHasBeenSet = true;
100 m_expirationDate = std::forward<ExpirationDateT>(value);
101 }
102 template <typename ExpirationDateT = Aws::Utils::DateTime>
103 TaxExemption& WithExpirationDate(ExpirationDateT&& value) {
104 SetExpirationDate(std::forward<ExpirationDateT>(value));
105 return *this;
106 }
108
110
113 inline const Aws::Utils::DateTime& GetSystemEffectiveDate() const { return m_systemEffectiveDate; }
114 inline bool SystemEffectiveDateHasBeenSet() const { return m_systemEffectiveDateHasBeenSet; }
115 template <typename SystemEffectiveDateT = Aws::Utils::DateTime>
116 void SetSystemEffectiveDate(SystemEffectiveDateT&& value) {
117 m_systemEffectiveDateHasBeenSet = true;
118 m_systemEffectiveDate = std::forward<SystemEffectiveDateT>(value);
119 }
120 template <typename SystemEffectiveDateT = Aws::Utils::DateTime>
121 TaxExemption& WithSystemEffectiveDate(SystemEffectiveDateT&& value) {
122 SetSystemEffectiveDate(std::forward<SystemEffectiveDateT>(value));
123 return *this;
124 }
126
128
131 inline EntityExemptionAccountStatus GetStatus() const { return m_status; }
132 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
134 m_statusHasBeenSet = true;
135 m_status = value;
136 }
138 SetStatus(value);
139 return *this;
140 }
142 private:
143 Authority m_authority;
144
145 TaxExemptionType m_taxExemptionType;
146
147 Aws::Utils::DateTime m_effectiveDate{};
148
149 Aws::Utils::DateTime m_expirationDate{};
150
151 Aws::Utils::DateTime m_systemEffectiveDate{};
152
154 bool m_authorityHasBeenSet = false;
155 bool m_taxExemptionTypeHasBeenSet = false;
156 bool m_effectiveDateHasBeenSet = false;
157 bool m_expirationDateHasBeenSet = false;
158 bool m_systemEffectiveDateHasBeenSet = false;
159 bool m_statusHasBeenSet = 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