AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
CreateUsageLimitRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/redshift-serverless/RedshiftServerlessRequest.h>
9#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
10#include <aws/redshift-serverless/model/UsageLimitBreachAction.h>
11#include <aws/redshift-serverless/model/UsageLimitPeriod.h>
12#include <aws/redshift-serverless/model/UsageLimitUsageType.h>
13
14#include <utility>
15
16namespace Aws {
17namespace RedshiftServerless {
18namespace Model {
19
23 public:
24 AWS_REDSHIFTSERVERLESS_API CreateUsageLimitRequest() = 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 "CreateUsageLimit"; }
31
32 AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override;
33
34 AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
35
37
43 inline long long GetAmount() const { return m_amount; }
44 inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; }
45 inline void SetAmount(long long value) {
46 m_amountHasBeenSet = true;
47 m_amount = value;
48 }
49 inline CreateUsageLimitRequest& WithAmount(long long value) {
50 SetAmount(value);
51 return *this;
52 }
54
56
60 inline UsageLimitBreachAction GetBreachAction() const { return m_breachAction; }
61 inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
63 m_breachActionHasBeenSet = true;
64 m_breachAction = value;
65 }
67 SetBreachAction(value);
68 return *this;
69 }
71
73
77 inline UsageLimitPeriod GetPeriod() const { return m_period; }
78 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
79 inline void SetPeriod(UsageLimitPeriod value) {
80 m_periodHasBeenSet = true;
81 m_period = value;
82 }
84 SetPeriod(value);
85 return *this;
86 }
88
90
94 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
95 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
96 template <typename ResourceArnT = Aws::String>
97 void SetResourceArn(ResourceArnT&& value) {
98 m_resourceArnHasBeenSet = true;
99 m_resourceArn = std::forward<ResourceArnT>(value);
100 }
101 template <typename ResourceArnT = Aws::String>
103 SetResourceArn(std::forward<ResourceArnT>(value));
104 return *this;
105 }
107
109
112 inline UsageLimitUsageType GetUsageType() const { return m_usageType; }
113 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
115 m_usageTypeHasBeenSet = true;
116 m_usageType = value;
117 }
119 SetUsageType(value);
120 return *this;
121 }
123 private:
124 long long m_amount{0};
125
127
129
130 Aws::String m_resourceArn;
131
133 bool m_amountHasBeenSet = false;
134 bool m_breachActionHasBeenSet = false;
135 bool m_periodHasBeenSet = false;
136 bool m_resourceArnHasBeenSet = false;
137 bool m_usageTypeHasBeenSet = false;
138};
139
140} // namespace Model
141} // namespace RedshiftServerless
142} // namespace Aws
CreateUsageLimitRequest & WithAmount(long long value)
AWS_REDSHIFTSERVERLESS_API Aws::String SerializePayload() const override
AWS_REDSHIFTSERVERLESS_API CreateUsageLimitRequest()=default
CreateUsageLimitRequest & WithResourceArn(ResourceArnT &&value)
CreateUsageLimitRequest & WithPeriod(UsageLimitPeriod value)
AWS_REDSHIFTSERVERLESS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override
CreateUsageLimitRequest & WithBreachAction(UsageLimitBreachAction value)
CreateUsageLimitRequest & WithUsageType(UsageLimitUsageType value)
Aws::Map< Aws::String, Aws::String > HeaderValueCollection
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String