AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CreateCustomLineItemRequest.h
1
6#pragma once
7#include <aws/billingconductor/BillingConductor_EXPORTS.h>
8#include <aws/billingconductor/BillingConductorRequest.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/billingconductor/model/CustomLineItemBillingPeriodRange.h>
11#include <aws/core/utils/memory/stl/AWSMap.h>
12#include <aws/billingconductor/model/CustomLineItemChargeDetails.h>
13#include <utility>
14#include <aws/core/utils/UUID.h>
15
16namespace Aws
17{
18namespace BillingConductor
19{
20namespace Model
21{
22
26 {
27 public:
28 AWS_BILLINGCONDUCTOR_API CreateCustomLineItemRequest() = default;
29
30 // Service request name is the Operation name which will send this request out,
31 // each operation should has unique request name, so that we can get operation's name from this request.
32 // Note: this is not true for response, multiple operations may have the same response name,
33 // so we can not get operation's name from response.
34 inline virtual const char* GetServiceRequestName() const override { return "CreateCustomLineItem"; }
35
36 AWS_BILLINGCONDUCTOR_API Aws::String SerializePayload() const override;
37
38 AWS_BILLINGCONDUCTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
39
40
42
46 inline const Aws::String& GetClientToken() const { return m_clientToken; }
47 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
48 template<typename ClientTokenT = Aws::String>
49 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::forward<ClientTokenT>(value); }
50 template<typename ClientTokenT = Aws::String>
51 CreateCustomLineItemRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
53
55
58 inline const Aws::String& GetName() const { return m_name; }
59 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
60 template<typename NameT = Aws::String>
61 void SetName(NameT&& value) { m_nameHasBeenSet = true; m_name = std::forward<NameT>(value); }
62 template<typename NameT = Aws::String>
63 CreateCustomLineItemRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
65
67
71 inline const Aws::String& GetDescription() const { return m_description; }
72 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
73 template<typename DescriptionT = Aws::String>
74 void SetDescription(DescriptionT&& value) { m_descriptionHasBeenSet = true; m_description = std::forward<DescriptionT>(value); }
75 template<typename DescriptionT = Aws::String>
76 CreateCustomLineItemRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
78
80
84 inline const Aws::String& GetBillingGroupArn() const { return m_billingGroupArn; }
85 inline bool BillingGroupArnHasBeenSet() const { return m_billingGroupArnHasBeenSet; }
86 template<typename BillingGroupArnT = Aws::String>
87 void SetBillingGroupArn(BillingGroupArnT&& value) { m_billingGroupArnHasBeenSet = true; m_billingGroupArn = std::forward<BillingGroupArnT>(value); }
88 template<typename BillingGroupArnT = Aws::String>
89 CreateCustomLineItemRequest& WithBillingGroupArn(BillingGroupArnT&& value) { SetBillingGroupArn(std::forward<BillingGroupArnT>(value)); return *this;}
91
93
96 inline const CustomLineItemBillingPeriodRange& GetBillingPeriodRange() const { return m_billingPeriodRange; }
97 inline bool BillingPeriodRangeHasBeenSet() const { return m_billingPeriodRangeHasBeenSet; }
98 template<typename BillingPeriodRangeT = CustomLineItemBillingPeriodRange>
99 void SetBillingPeriodRange(BillingPeriodRangeT&& value) { m_billingPeriodRangeHasBeenSet = true; m_billingPeriodRange = std::forward<BillingPeriodRangeT>(value); }
100 template<typename BillingPeriodRangeT = CustomLineItemBillingPeriodRange>
101 CreateCustomLineItemRequest& WithBillingPeriodRange(BillingPeriodRangeT&& value) { SetBillingPeriodRange(std::forward<BillingPeriodRangeT>(value)); return *this;}
103
105
109 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
110 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
111 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
112 void SetTags(TagsT&& value) { m_tagsHasBeenSet = true; m_tags = std::forward<TagsT>(value); }
113 template<typename TagsT = Aws::Map<Aws::String, Aws::String>>
114 CreateCustomLineItemRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
115 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
116 CreateCustomLineItemRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
117 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
118 }
120
122
126 inline const CustomLineItemChargeDetails& GetChargeDetails() const { return m_chargeDetails; }
127 inline bool ChargeDetailsHasBeenSet() const { return m_chargeDetailsHasBeenSet; }
128 template<typename ChargeDetailsT = CustomLineItemChargeDetails>
129 void SetChargeDetails(ChargeDetailsT&& value) { m_chargeDetailsHasBeenSet = true; m_chargeDetails = std::forward<ChargeDetailsT>(value); }
130 template<typename ChargeDetailsT = CustomLineItemChargeDetails>
131 CreateCustomLineItemRequest& WithChargeDetails(ChargeDetailsT&& value) { SetChargeDetails(std::forward<ChargeDetailsT>(value)); return *this;}
133
135
139 inline const Aws::String& GetAccountId() const { return m_accountId; }
140 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; }
141 template<typename AccountIdT = Aws::String>
142 void SetAccountId(AccountIdT&& value) { m_accountIdHasBeenSet = true; m_accountId = std::forward<AccountIdT>(value); }
143 template<typename AccountIdT = Aws::String>
144 CreateCustomLineItemRequest& WithAccountId(AccountIdT&& value) { SetAccountId(std::forward<AccountIdT>(value)); return *this;}
146 private:
147
149 bool m_clientTokenHasBeenSet = true;
150
151 Aws::String m_name;
152 bool m_nameHasBeenSet = false;
153
154 Aws::String m_description;
155 bool m_descriptionHasBeenSet = false;
156
157 Aws::String m_billingGroupArn;
158 bool m_billingGroupArnHasBeenSet = false;
159
160 CustomLineItemBillingPeriodRange m_billingPeriodRange;
161 bool m_billingPeriodRangeHasBeenSet = false;
162
164 bool m_tagsHasBeenSet = false;
165
166 CustomLineItemChargeDetails m_chargeDetails;
167 bool m_chargeDetailsHasBeenSet = false;
168
169 Aws::String m_accountId;
170 bool m_accountIdHasBeenSet = false;
171 };
172
173} // namespace Model
174} // namespace BillingConductor
175} // namespace Aws
CreateCustomLineItemRequest & WithDescription(DescriptionT &&value)
CreateCustomLineItemRequest & WithClientToken(ClientTokenT &&value)
CreateCustomLineItemRequest & WithAccountId(AccountIdT &&value)
AWS_BILLINGCONDUCTOR_API CreateCustomLineItemRequest()=default
AWS_BILLINGCONDUCTOR_API Aws::String SerializePayload() const override
CreateCustomLineItemRequest & WithBillingPeriodRange(BillingPeriodRangeT &&value)
const CustomLineItemBillingPeriodRange & GetBillingPeriodRange() const
AWS_BILLINGCONDUCTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreateCustomLineItemRequest & WithBillingGroupArn(BillingGroupArnT &&value)
CreateCustomLineItemRequest & WithChargeDetails(ChargeDetailsT &&value)
CreateCustomLineItemRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
static Aws::Utils::UUID PseudoRandomUUID()
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::map< K, V, std::less< K >, Aws::Allocator< std::pair< const K, V > > > Map
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String