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/PricingRuleScope.h>
11#include <aws/billingconductor/model/PricingRuleType.h>
12#include <aws/core/utils/memory/stl/AWSMap.h>
13#include <aws/billingconductor/model/CreateTieringInput.h>
15#include <aws/core/utils/UUID.h>
19namespace BillingConductor
49 template<
typename ClientTokenT = Aws::String>
50 void SetClientToken(ClientTokenT&& value) { m_clientTokenHasBeenSet =
true; m_clientToken = std::forward<ClientTokenT>(value); }
51 template<
typename ClientTokenT = Aws::String>
61 template<
typename NameT = Aws::String>
62 void SetName(NameT&& value) { m_nameHasBeenSet =
true; m_name = std::forward<NameT>(value); }
63 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>
106 inline void SetModifierPercentage(
double value) { m_modifierPercentageHasBeenSet =
true; m_modifierPercentage = value; }
118 template<
typename ServiceT = Aws::String>
119 void SetService(ServiceT&& value) { m_serviceHasBeenSet =
true; m_service = std::forward<ServiceT>(value); }
120 template<
typename ServiceT = Aws::String>
131 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
132 void SetTags(TagsT&& value) { m_tagsHasBeenSet =
true; m_tags = std::forward<TagsT>(value); }
133 template<
typename TagsT = Aws::Map<Aws::String, Aws::String>>
135 template<
typename TagsKeyT = Aws::String,
typename TagsValueT = Aws::String>
137 m_tagsHasBeenSet =
true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value));
return *
this;
148 template<
typename BillingEntityT = Aws::String>
149 void SetBillingEntity(BillingEntityT&& value) { m_billingEntityHasBeenSet =
true; m_billingEntity = std::forward<BillingEntityT>(value); }
150 template<
typename BillingEntityT = Aws::String>
160 template<
typename TieringT = CreateTieringInput>
161 void SetTiering(TieringT&& value) { m_tieringHasBeenSet =
true; m_tiering = std::forward<TieringT>(value); }
162 template<
typename TieringT = CreateTieringInput>
178 template<
typename UsageTypeT = Aws::String>
179 void SetUsageType(UsageTypeT&& value) { m_usageTypeHasBeenSet =
true; m_usageType = std::forward<UsageTypeT>(value); }
180 template<
typename UsageTypeT = Aws::String>
195 template<
typename OperationT = Aws::String>
196 void SetOperation(OperationT&& value) { m_operationHasBeenSet =
true; m_operation = std::forward<OperationT>(value); }
197 template<
typename OperationT = Aws::String>
203 bool m_clientTokenHasBeenSet =
true;
206 bool m_nameHasBeenSet =
false;
209 bool m_descriptionHasBeenSet =
false;
212 bool m_scopeHasBeenSet =
false;
215 bool m_typeHasBeenSet =
false;
217 double m_modifierPercentage{0.0};
218 bool m_modifierPercentageHasBeenSet =
false;
221 bool m_serviceHasBeenSet =
false;
224 bool m_tagsHasBeenSet =
false;
227 bool m_billingEntityHasBeenSet =
false;
229 CreateTieringInput m_tiering;
230 bool m_tieringHasBeenSet =
false;
233 bool m_usageTypeHasBeenSet =
false;
236 bool m_operationHasBeenSet =
false;
const Aws::String & GetBillingEntity() const
void SetType(PricingRuleType value)
const Aws::String & GetService() const
CreatePricingRuleRequest & WithDescription(DescriptionT &&value)
void SetDescription(DescriptionT &&value)
bool TagsHasBeenSet() const
const Aws::String & GetDescription() const
CreatePricingRuleRequest & WithTags(TagsT &&value)
bool ServiceHasBeenSet() const
CreatePricingRuleRequest & WithClientToken(ClientTokenT &&value)
CreatePricingRuleRequest & WithUsageType(UsageTypeT &&value)
virtual const char * GetServiceRequestName() const override
const Aws::String & GetUsageType() const
bool ClientTokenHasBeenSet() const
const CreateTieringInput & GetTiering() const
bool DescriptionHasBeenSet() const
void SetModifierPercentage(double value)
AWS_BILLINGCONDUCTOR_API Aws::String SerializePayload() const override
void SetService(ServiceT &&value)
CreatePricingRuleRequest & WithModifierPercentage(double value)
bool OperationHasBeenSet() const
bool UsageTypeHasBeenSet() const
void SetBillingEntity(BillingEntityT &&value)
void SetName(NameT &&value)
double GetModifierPercentage() const
void SetOperation(OperationT &&value)
bool ModifierPercentageHasBeenSet() const
void SetTags(TagsT &&value)
CreatePricingRuleRequest & WithType(PricingRuleType value)
PricingRuleType GetType() const
bool NameHasBeenSet() const
const Aws::Map< Aws::String, Aws::String > & GetTags() const
PricingRuleScope GetScope() const
CreatePricingRuleRequest & WithName(NameT &&value)
CreatePricingRuleRequest & WithScope(PricingRuleScope value)
bool TieringHasBeenSet() const
void SetClientToken(ClientTokenT &&value)
void SetUsageType(UsageTypeT &&value)
CreatePricingRuleRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
const Aws::String & GetClientToken() const
void SetScope(PricingRuleScope value)
AWS_BILLINGCONDUCTOR_API CreatePricingRuleRequest()=default
bool TypeHasBeenSet() const
CreatePricingRuleRequest & WithBillingEntity(BillingEntityT &&value)
const Aws::String & GetName() const
CreatePricingRuleRequest & WithService(ServiceT &&value)
void SetTiering(TieringT &&value)
bool BillingEntityHasBeenSet() const
CreatePricingRuleRequest & WithOperation(OperationT &&value)
AWS_BILLINGCONDUCTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreatePricingRuleRequest & WithTiering(TieringT &&value)
bool ScopeHasBeenSet() const
const Aws::String & GetOperation() const
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