AWS SDK for C++

AWS SDK for C++ Version 1.11.759

Loading...
Searching...
No Matches
PutTaxExemptionRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/taxsettings/TaxSettingsRequest.h>
10#include <aws/taxsettings/TaxSettings_EXPORTS.h>
11#include <aws/taxsettings/model/Authority.h>
12#include <aws/taxsettings/model/ExemptionCertificate.h>
13
14#include <utility>
15
16namespace Aws {
17namespace TaxSettings {
18namespace Model {
19
23 public:
24 AWS_TAXSETTINGS_API PutTaxExemptionRequest() = default;
25
26 // Service request name is the Operation name which will send this request out,
27 // each operation should has unique request name, so that we can get operation's name from this request.
28 // Note: this is not true for response, multiple operations may have the same response name,
29 // so we can not get operation's name from response.
30 inline virtual const char* GetServiceRequestName() const override { return "PutTaxExemption"; }
31
32 AWS_TAXSETTINGS_API Aws::String SerializePayload() const override;
33
35
38 inline const Aws::Vector<Aws::String>& GetAccountIds() const { return m_accountIds; }
39 inline bool AccountIdsHasBeenSet() const { return m_accountIdsHasBeenSet; }
40 template <typename AccountIdsT = Aws::Vector<Aws::String>>
41 void SetAccountIds(AccountIdsT&& value) {
42 m_accountIdsHasBeenSet = true;
43 m_accountIds = std::forward<AccountIdsT>(value);
44 }
45 template <typename AccountIdsT = Aws::Vector<Aws::String>>
46 PutTaxExemptionRequest& WithAccountIds(AccountIdsT&& value) {
47 SetAccountIds(std::forward<AccountIdsT>(value));
48 return *this;
49 }
50 template <typename AccountIdsT = Aws::String>
51 PutTaxExemptionRequest& AddAccountIds(AccountIdsT&& value) {
52 m_accountIdsHasBeenSet = true;
53 m_accountIds.emplace_back(std::forward<AccountIdsT>(value));
54 return *this;
55 }
57
59
60 inline const Authority& GetAuthority() const { return m_authority; }
61 inline bool AuthorityHasBeenSet() const { return m_authorityHasBeenSet; }
62 template <typename AuthorityT = Authority>
63 void SetAuthority(AuthorityT&& value) {
64 m_authorityHasBeenSet = true;
65 m_authority = std::forward<AuthorityT>(value);
66 }
67 template <typename AuthorityT = Authority>
69 SetAuthority(std::forward<AuthorityT>(value));
70 return *this;
71 }
73
75
76 inline const ExemptionCertificate& GetExemptionCertificate() const { return m_exemptionCertificate; }
77 inline bool ExemptionCertificateHasBeenSet() const { return m_exemptionCertificateHasBeenSet; }
78 template <typename ExemptionCertificateT = ExemptionCertificate>
79 void SetExemptionCertificate(ExemptionCertificateT&& value) {
80 m_exemptionCertificateHasBeenSet = true;
81 m_exemptionCertificate = std::forward<ExemptionCertificateT>(value);
82 }
83 template <typename ExemptionCertificateT = ExemptionCertificate>
84 PutTaxExemptionRequest& WithExemptionCertificate(ExemptionCertificateT&& value) {
85 SetExemptionCertificate(std::forward<ExemptionCertificateT>(value));
86 return *this;
87 }
89
91
94 inline const Aws::String& GetExemptionType() const { return m_exemptionType; }
95 inline bool ExemptionTypeHasBeenSet() const { return m_exemptionTypeHasBeenSet; }
96 template <typename ExemptionTypeT = Aws::String>
97 void SetExemptionType(ExemptionTypeT&& value) {
98 m_exemptionTypeHasBeenSet = true;
99 m_exemptionType = std::forward<ExemptionTypeT>(value);
100 }
101 template <typename ExemptionTypeT = Aws::String>
102 PutTaxExemptionRequest& WithExemptionType(ExemptionTypeT&& value) {
103 SetExemptionType(std::forward<ExemptionTypeT>(value));
104 return *this;
105 }
107 private:
108 Aws::Vector<Aws::String> m_accountIds;
109
110 Authority m_authority;
111
112 ExemptionCertificate m_exemptionCertificate;
113
114 Aws::String m_exemptionType;
115 bool m_accountIdsHasBeenSet = false;
116 bool m_authorityHasBeenSet = false;
117 bool m_exemptionCertificateHasBeenSet = false;
118 bool m_exemptionTypeHasBeenSet = false;
119};
120
121} // namespace Model
122} // namespace TaxSettings
123} // namespace Aws
void SetExemptionCertificate(ExemptionCertificateT &&value)
AWS_TAXSETTINGS_API PutTaxExemptionRequest()=default
PutTaxExemptionRequest & WithAccountIds(AccountIdsT &&value)
virtual const char * GetServiceRequestName() const override
PutTaxExemptionRequest & WithExemptionType(ExemptionTypeT &&value)
PutTaxExemptionRequest & WithExemptionCertificate(ExemptionCertificateT &&value)
AWS_TAXSETTINGS_API Aws::String SerializePayload() const override
PutTaxExemptionRequest & AddAccountIds(AccountIdsT &&value)
const Aws::Vector< Aws::String > & GetAccountIds() const
const ExemptionCertificate & GetExemptionCertificate() const
PutTaxExemptionRequest & WithAuthority(AuthorityT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector