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>
14#include <aws/core/utils/UUID.h>
18namespace BillingConductor
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>
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>
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>
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>
98 template<
typename BillingPeriodRangeT = CustomLineItemBillingPeriodRange>
99 void SetBillingPeriodRange(BillingPeriodRangeT&& value) { m_billingPeriodRangeHasBeenSet =
true; m_billingPeriodRange = std::forward<BillingPeriodRangeT>(value); }
100 template<
typename BillingPeriodRangeT = CustomLineItemBillingPeriodRange>
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>>
115 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
117 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
128 template<
typename ChargeDetailsT = CustomLineItemChargeDetails>
129 void SetChargeDetails(ChargeDetailsT&& value) { m_chargeDetailsHasBeenSet =
true; m_chargeDetails = std::forward<ChargeDetailsT>(value); }
130 template<
typename ChargeDetailsT = CustomLineItemChargeDetails>
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>
149 bool m_clientTokenHasBeenSet =
true;
152 bool m_nameHasBeenSet =
false;
155 bool m_descriptionHasBeenSet =
false;
158 bool m_billingGroupArnHasBeenSet =
false;
160 CustomLineItemBillingPeriodRange m_billingPeriodRange;
161 bool m_billingPeriodRangeHasBeenSet =
false;
164 bool m_tagsHasBeenSet =
false;
166 CustomLineItemChargeDetails m_chargeDetails;
167 bool m_chargeDetailsHasBeenSet =
false;
170 bool m_accountIdHasBeenSet =
false;
CreateCustomLineItemRequest & WithDescription(DescriptionT &&value)
bool TagsHasBeenSet() const
void SetDescription(DescriptionT &&value)
void SetClientToken(ClientTokenT &&value)
void SetTags(TagsT &&value)
bool BillingPeriodRangeHasBeenSet() const
void SetChargeDetails(ChargeDetailsT &&value)
CreateCustomLineItemRequest & WithTags(TagsT &&value)
bool BillingGroupArnHasBeenSet() const
virtual const char * GetServiceRequestName() const override
CreateCustomLineItemRequest & WithClientToken(ClientTokenT &&value)
CreateCustomLineItemRequest & WithAccountId(AccountIdT &&value)
AWS_BILLINGCONDUCTOR_API CreateCustomLineItemRequest()=default
void SetBillingPeriodRange(BillingPeriodRangeT &&value)
AWS_BILLINGCONDUCTOR_API Aws::String SerializePayload() const override
bool AccountIdHasBeenSet() const
const Aws::String & GetBillingGroupArn() const
CreateCustomLineItemRequest & WithBillingPeriodRange(BillingPeriodRangeT &&value)
const Aws::String & GetClientToken() const
bool DescriptionHasBeenSet() const
CreateCustomLineItemRequest & WithName(NameT &&value)
const CustomLineItemBillingPeriodRange & GetBillingPeriodRange() const
const CustomLineItemChargeDetails & GetChargeDetails() const
void SetName(NameT &&value)
AWS_BILLINGCONDUCTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
const Aws::Map< Aws::String, Aws::String > & GetTags() const
bool ClientTokenHasBeenSet() const
bool NameHasBeenSet() const
void SetBillingGroupArn(BillingGroupArnT &&value)
const Aws::String & GetDescription() const
void SetAccountId(AccountIdT &&value)
const Aws::String & GetAccountId() const
const Aws::String & GetName() const
CreateCustomLineItemRequest & WithBillingGroupArn(BillingGroupArnT &&value)
bool ChargeDetailsHasBeenSet() const
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