AWS SDK for C++

AWS SDK for C++ Version 1.11.862

Loading...
Searching...
No Matches
CreateSubscriptionRequest.h
1
6#pragma once
7#include <aws/core/utils/UUID.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/pricing-plan-manager/PricingPlanManagerRequest.h>
11#include <aws/pricing-plan-manager/PricingPlanManager_EXPORTS.h>
12#include <aws/pricing-plan-manager/model/ApprovalMode.h>
13
14#include <utility>
15
16namespace Aws {
17namespace PricingPlanManager {
18namespace Model {
19
23 public:
24 AWS_PRICINGPLANMANAGER_API CreateSubscriptionRequest() = 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 "CreateSubscription"; }
31
32 AWS_PRICINGPLANMANAGER_API Aws::String SerializePayload() const override;
33
35
38 inline const Aws::String& GetPlanFamily() const { return m_planFamily; }
39 inline bool PlanFamilyHasBeenSet() const { return m_planFamilyHasBeenSet; }
40 template <typename PlanFamilyT = Aws::String>
41 void SetPlanFamily(PlanFamilyT&& value) {
42 m_planFamilyHasBeenSet = true;
43 m_planFamily = std::forward<PlanFamilyT>(value);
44 }
45 template <typename PlanFamilyT = Aws::String>
47 SetPlanFamily(std::forward<PlanFamilyT>(value));
48 return *this;
49 }
51
53
57 inline const Aws::String& GetPlanTier() const { return m_planTier; }
58 inline bool PlanTierHasBeenSet() const { return m_planTierHasBeenSet; }
59 template <typename PlanTierT = Aws::String>
60 void SetPlanTier(PlanTierT&& value) {
61 m_planTierHasBeenSet = true;
62 m_planTier = std::forward<PlanTierT>(value);
63 }
64 template <typename PlanTierT = Aws::String>
66 SetPlanTier(std::forward<PlanTierT>(value));
67 return *this;
68 }
70
72
76 inline const Aws::String& GetUsageLevel() const { return m_usageLevel; }
77 inline bool UsageLevelHasBeenSet() const { return m_usageLevelHasBeenSet; }
78 template <typename UsageLevelT = Aws::String>
79 void SetUsageLevel(UsageLevelT&& value) {
80 m_usageLevelHasBeenSet = true;
81 m_usageLevel = std::forward<UsageLevelT>(value);
82 }
83 template <typename UsageLevelT = Aws::String>
85 SetUsageLevel(std::forward<UsageLevelT>(value));
86 return *this;
87 }
89
91
98 inline const Aws::Vector<Aws::String>& GetResourceArns() const { return m_resourceArns; }
99 inline bool ResourceArnsHasBeenSet() const { return m_resourceArnsHasBeenSet; }
100 template <typename ResourceArnsT = Aws::Vector<Aws::String>>
101 void SetResourceArns(ResourceArnsT&& value) {
102 m_resourceArnsHasBeenSet = true;
103 m_resourceArns = std::forward<ResourceArnsT>(value);
104 }
105 template <typename ResourceArnsT = Aws::Vector<Aws::String>>
107 SetResourceArns(std::forward<ResourceArnsT>(value));
108 return *this;
109 }
110 template <typename ResourceArnsT = Aws::String>
112 m_resourceArnsHasBeenSet = true;
113 m_resourceArns.emplace_back(std::forward<ResourceArnsT>(value));
114 return *this;
115 }
117
119
126 inline ApprovalMode GetApprovalMode() const { return m_approvalMode; }
127 inline bool ApprovalModeHasBeenSet() const { return m_approvalModeHasBeenSet; }
128 inline void SetApprovalMode(ApprovalMode value) {
129 m_approvalModeHasBeenSet = true;
130 m_approvalMode = value;
131 }
133 SetApprovalMode(value);
134 return *this;
135 }
137
139
145 inline const Aws::String& GetClientToken() const { return m_clientToken; }
146 inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; }
147 template <typename ClientTokenT = Aws::String>
148 void SetClientToken(ClientTokenT&& value) {
149 m_clientTokenHasBeenSet = true;
150 m_clientToken = std::forward<ClientTokenT>(value);
151 }
152 template <typename ClientTokenT = Aws::String>
154 SetClientToken(std::forward<ClientTokenT>(value));
155 return *this;
156 }
158 private:
159 Aws::String m_planFamily;
160
161 Aws::String m_planTier;
162
163 Aws::String m_usageLevel;
164
165 Aws::Vector<Aws::String> m_resourceArns;
166
167 ApprovalMode m_approvalMode{ApprovalMode::NOT_SET};
168
170 bool m_planFamilyHasBeenSet = false;
171 bool m_planTierHasBeenSet = false;
172 bool m_usageLevelHasBeenSet = false;
173 bool m_resourceArnsHasBeenSet = false;
174 bool m_approvalModeHasBeenSet = false;
175 bool m_clientTokenHasBeenSet = true;
176};
177
178} // namespace Model
179} // namespace PricingPlanManager
180} // namespace Aws
CreateSubscriptionRequest & WithUsageLevel(UsageLevelT &&value)
CreateSubscriptionRequest & WithClientToken(ClientTokenT &&value)
CreateSubscriptionRequest & WithPlanFamily(PlanFamilyT &&value)
CreateSubscriptionRequest & WithResourceArns(ResourceArnsT &&value)
CreateSubscriptionRequest & WithPlanTier(PlanTierT &&value)
AWS_PRICINGPLANMANAGER_API CreateSubscriptionRequest()=default
AWS_PRICINGPLANMANAGER_API Aws::String SerializePayload() const override
CreateSubscriptionRequest & AddResourceArns(ResourceArnsT &&value)
CreateSubscriptionRequest & WithApprovalMode(ApprovalMode value)
static Aws::Utils::UUID PseudoRandomUUID()
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector