AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
TaxExemption.h
1
6#pragma once
7#include <aws/taxsettings/TaxSettings_EXPORTS.h>
8#include <aws/taxsettings/model/Authority.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/taxsettings/model/EntityExemptionAccountStatus.h>
11#include <aws/taxsettings/model/TaxExemptionType.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace TaxSettings
25{
26namespace Model
27{
28
35 {
36 public:
37 AWS_TAXSETTINGS_API TaxExemption() = default;
38 AWS_TAXSETTINGS_API TaxExemption(Aws::Utils::Json::JsonView jsonValue);
39 AWS_TAXSETTINGS_API TaxExemption& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_TAXSETTINGS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
47 inline const Authority& GetAuthority() const { return m_authority; }
48 inline bool AuthorityHasBeenSet() const { return m_authorityHasBeenSet; }
49 template<typename AuthorityT = Authority>
50 void SetAuthority(AuthorityT&& value) { m_authorityHasBeenSet = true; m_authority = std::forward<AuthorityT>(value); }
51 template<typename AuthorityT = Authority>
52 TaxExemption& WithAuthority(AuthorityT&& value) { SetAuthority(std::forward<AuthorityT>(value)); return *this;}
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) { m_effectiveDateHasBeenSet = true; m_effectiveDate = std::forward<EffectiveDateT>(value); }
63 template<typename EffectiveDateT = Aws::Utils::DateTime>
64 TaxExemption& WithEffectiveDate(EffectiveDateT&& value) { SetEffectiveDate(std::forward<EffectiveDateT>(value)); return *this;}
66
68
71 inline const Aws::Utils::DateTime& GetExpirationDate() const { return m_expirationDate; }
72 inline bool ExpirationDateHasBeenSet() const { return m_expirationDateHasBeenSet; }
73 template<typename ExpirationDateT = Aws::Utils::DateTime>
74 void SetExpirationDate(ExpirationDateT&& value) { m_expirationDateHasBeenSet = true; m_expirationDate = std::forward<ExpirationDateT>(value); }
75 template<typename ExpirationDateT = Aws::Utils::DateTime>
76 TaxExemption& WithExpirationDate(ExpirationDateT&& value) { SetExpirationDate(std::forward<ExpirationDateT>(value)); return *this;}
78
80
83 inline EntityExemptionAccountStatus GetStatus() const { return m_status; }
84 inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; }
85 inline void SetStatus(EntityExemptionAccountStatus value) { m_statusHasBeenSet = true; m_status = value; }
86 inline TaxExemption& WithStatus(EntityExemptionAccountStatus value) { SetStatus(value); return *this;}
88
90
93 inline const Aws::Utils::DateTime& GetSystemEffectiveDate() const { return m_systemEffectiveDate; }
94 inline bool SystemEffectiveDateHasBeenSet() const { return m_systemEffectiveDateHasBeenSet; }
95 template<typename SystemEffectiveDateT = Aws::Utils::DateTime>
96 void SetSystemEffectiveDate(SystemEffectiveDateT&& value) { m_systemEffectiveDateHasBeenSet = true; m_systemEffectiveDate = std::forward<SystemEffectiveDateT>(value); }
97 template<typename SystemEffectiveDateT = Aws::Utils::DateTime>
98 TaxExemption& WithSystemEffectiveDate(SystemEffectiveDateT&& value) { SetSystemEffectiveDate(std::forward<SystemEffectiveDateT>(value)); return *this;}
100
102
105 inline const TaxExemptionType& GetTaxExemptionType() const { return m_taxExemptionType; }
106 inline bool TaxExemptionTypeHasBeenSet() const { return m_taxExemptionTypeHasBeenSet; }
107 template<typename TaxExemptionTypeT = TaxExemptionType>
108 void SetTaxExemptionType(TaxExemptionTypeT&& value) { m_taxExemptionTypeHasBeenSet = true; m_taxExemptionType = std::forward<TaxExemptionTypeT>(value); }
109 template<typename TaxExemptionTypeT = TaxExemptionType>
110 TaxExemption& WithTaxExemptionType(TaxExemptionTypeT&& value) { SetTaxExemptionType(std::forward<TaxExemptionTypeT>(value)); return *this;}
112 private:
113
114 Authority m_authority;
115 bool m_authorityHasBeenSet = false;
116
117 Aws::Utils::DateTime m_effectiveDate{};
118 bool m_effectiveDateHasBeenSet = false;
119
120 Aws::Utils::DateTime m_expirationDate{};
121 bool m_expirationDateHasBeenSet = false;
122
124 bool m_statusHasBeenSet = false;
125
126 Aws::Utils::DateTime m_systemEffectiveDate{};
127 bool m_systemEffectiveDateHasBeenSet = false;
128
129 TaxExemptionType m_taxExemptionType;
130 bool m_taxExemptionTypeHasBeenSet = false;
131 };
132
133} // namespace Model
134} // namespace TaxSettings
135} // 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