AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
CreatePricingRuleRequest.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/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>
14#include <utility>
15#include <aws/core/utils/UUID.h>
16
17namespace Aws
18{
19namespace BillingConductor
20{
21namespace Model
22{
23
27 {
28 public:
29 AWS_BILLINGCONDUCTOR_API CreatePricingRuleRequest() = default;
30
31 // Service request name is the Operation name which will send this request out,
32 // each operation should has unique request name, so that we can get operation's name from this request.
33 // Note: this is not true for response, multiple operations may have the same response name,
34 // so we can not get operation's name from response.
35 inline virtual const char* GetServiceRequestName() const override { return "CreatePricingRule"; }
36
37 AWS_BILLINGCONDUCTOR_API Aws::String SerializePayload() const override;
38
39 AWS_BILLINGCONDUCTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
40
41
43
47 inline const Aws::String& GetClientToken() const { return m_clientToken; }
48 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
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>
52 CreatePricingRuleRequest& WithClientToken(ClientTokenT&& value) { SetClientToken(std::forward<ClientTokenT>(value)); return *this;}
54
56
59 inline const Aws::String& GetName() const { return m_name; }
60 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
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>
64 CreatePricingRuleRequest& WithName(NameT&& value) { SetName(std::forward<NameT>(value)); return *this;}
66
68
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 CreatePricingRuleRequest& WithDescription(DescriptionT&& value) { SetDescription(std::forward<DescriptionT>(value)); return *this;}
78
80
84 inline PricingRuleScope GetScope() const { return m_scope; }
85 inline bool ScopeHasBeenSet() const { return m_scopeHasBeenSet; }
86 inline void SetScope(PricingRuleScope value) { m_scopeHasBeenSet = true; m_scope = value; }
87 inline CreatePricingRuleRequest& WithScope(PricingRuleScope value) { SetScope(value); return *this;}
89
91
94 inline PricingRuleType GetType() const { return m_type; }
95 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; }
96 inline void SetType(PricingRuleType value) { m_typeHasBeenSet = true; m_type = value; }
97 inline CreatePricingRuleRequest& WithType(PricingRuleType value) { SetType(value); return *this;}
99
101
104 inline double GetModifierPercentage() const { return m_modifierPercentage; }
105 inline bool ModifierPercentageHasBeenSet() const { return m_modifierPercentageHasBeenSet; }
106 inline void SetModifierPercentage(double value) { m_modifierPercentageHasBeenSet = true; m_modifierPercentage = value; }
107 inline CreatePricingRuleRequest& WithModifierPercentage(double value) { SetModifierPercentage(value); return *this;}
109
111
116 inline const Aws::String& GetService() const { return m_service; }
117 inline bool ServiceHasBeenSet() const { return m_serviceHasBeenSet; }
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>
121 CreatePricingRuleRequest& WithService(ServiceT&& value) { SetService(std::forward<ServiceT>(value)); return *this;}
123
125
129 inline const Aws::Map<Aws::String, Aws::String>& GetTags() const { return m_tags; }
130 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; }
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>>
134 CreatePricingRuleRequest& WithTags(TagsT&& value) { SetTags(std::forward<TagsT>(value)); return *this;}
135 template<typename TagsKeyT = Aws::String, typename TagsValueT = Aws::String>
136 CreatePricingRuleRequest& AddTags(TagsKeyT&& key, TagsValueT&& value) {
137 m_tagsHasBeenSet = true; m_tags.emplace(std::forward<TagsKeyT>(key), std::forward<TagsValueT>(value)); return *this;
138 }
140
142
146 inline const Aws::String& GetBillingEntity() const { return m_billingEntity; }
147 inline bool BillingEntityHasBeenSet() const { return m_billingEntityHasBeenSet; }
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>
151 CreatePricingRuleRequest& WithBillingEntity(BillingEntityT&& value) { SetBillingEntity(std::forward<BillingEntityT>(value)); return *this;}
153
155
158 inline const CreateTieringInput& GetTiering() const { return m_tiering; }
159 inline bool TieringHasBeenSet() const { return m_tieringHasBeenSet; }
160 template<typename TieringT = CreateTieringInput>
161 void SetTiering(TieringT&& value) { m_tieringHasBeenSet = true; m_tiering = std::forward<TieringT>(value); }
162 template<typename TieringT = CreateTieringInput>
163 CreatePricingRuleRequest& WithTiering(TieringT&& value) { SetTiering(std::forward<TieringT>(value)); return *this;}
165
167
176 inline const Aws::String& GetUsageType() const { return m_usageType; }
177 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
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>
181 CreatePricingRuleRequest& WithUsageType(UsageTypeT&& value) { SetUsageType(std::forward<UsageTypeT>(value)); return *this;}
183
185
193 inline const Aws::String& GetOperation() const { return m_operation; }
194 inline bool OperationHasBeenSet() const { return m_operationHasBeenSet; }
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>
198 CreatePricingRuleRequest& WithOperation(OperationT&& value) { SetOperation(std::forward<OperationT>(value)); return *this;}
200 private:
201
203 bool m_clientTokenHasBeenSet = true;
204
205 Aws::String m_name;
206 bool m_nameHasBeenSet = false;
207
208 Aws::String m_description;
209 bool m_descriptionHasBeenSet = false;
210
212 bool m_scopeHasBeenSet = false;
213
215 bool m_typeHasBeenSet = false;
216
217 double m_modifierPercentage{0.0};
218 bool m_modifierPercentageHasBeenSet = false;
219
220 Aws::String m_service;
221 bool m_serviceHasBeenSet = false;
222
224 bool m_tagsHasBeenSet = false;
225
226 Aws::String m_billingEntity;
227 bool m_billingEntityHasBeenSet = false;
228
229 CreateTieringInput m_tiering;
230 bool m_tieringHasBeenSet = false;
231
232 Aws::String m_usageType;
233 bool m_usageTypeHasBeenSet = false;
234
235 Aws::String m_operation;
236 bool m_operationHasBeenSet = false;
237 };
238
239} // namespace Model
240} // namespace BillingConductor
241} // namespace Aws
CreatePricingRuleRequest & WithDescription(DescriptionT &&value)
CreatePricingRuleRequest & WithClientToken(ClientTokenT &&value)
CreatePricingRuleRequest & WithUsageType(UsageTypeT &&value)
AWS_BILLINGCONDUCTOR_API Aws::String SerializePayload() const override
CreatePricingRuleRequest & WithModifierPercentage(double value)
CreatePricingRuleRequest & WithType(PricingRuleType value)
const Aws::Map< Aws::String, Aws::String > & GetTags() const
CreatePricingRuleRequest & WithScope(PricingRuleScope value)
CreatePricingRuleRequest & AddTags(TagsKeyT &&key, TagsValueT &&value)
AWS_BILLINGCONDUCTOR_API CreatePricingRuleRequest()=default
CreatePricingRuleRequest & WithBillingEntity(BillingEntityT &&value)
CreatePricingRuleRequest & WithService(ServiceT &&value)
CreatePricingRuleRequest & WithOperation(OperationT &&value)
AWS_BILLINGCONDUCTOR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreatePricingRuleRequest & WithTiering(TieringT &&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