AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
UsageLimit.h
1
6#pragma once
7#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
8#include <aws/redshift-serverless/model/UsageLimitBreachAction.h>
9#include <aws/redshift-serverless/model/UsageLimitPeriod.h>
10#include <aws/core/utils/memory/stl/AWSString.h>
11#include <aws/redshift-serverless/model/UsageLimitUsageType.h>
12#include <utility>
13
14namespace Aws
15{
16namespace Utils
17{
18namespace Json
19{
20 class JsonValue;
21 class JsonView;
22} // namespace Json
23} // namespace Utils
24namespace RedshiftServerless
25{
26namespace Model
27{
28
35 {
36 public:
37 AWS_REDSHIFTSERVERLESS_API UsageLimit();
38 AWS_REDSHIFTSERVERLESS_API UsageLimit(Aws::Utils::Json::JsonView jsonValue);
39 AWS_REDSHIFTSERVERLESS_API UsageLimit& operator=(Aws::Utils::Json::JsonView jsonValue);
40 AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const;
41
42
44
49 inline long long GetAmount() const{ return m_amount; }
50 inline bool AmountHasBeenSet() const { return m_amountHasBeenSet; }
51 inline void SetAmount(long long value) { m_amountHasBeenSet = true; m_amount = value; }
52 inline UsageLimit& WithAmount(long long value) { SetAmount(value); return *this;}
54
56
60 inline const UsageLimitBreachAction& GetBreachAction() const{ return m_breachAction; }
61 inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
62 inline void SetBreachAction(const UsageLimitBreachAction& value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
63 inline void SetBreachAction(UsageLimitBreachAction&& value) { m_breachActionHasBeenSet = true; m_breachAction = std::move(value); }
64 inline UsageLimit& WithBreachAction(const UsageLimitBreachAction& value) { SetBreachAction(value); return *this;}
65 inline UsageLimit& WithBreachAction(UsageLimitBreachAction&& value) { SetBreachAction(std::move(value)); return *this;}
67
69
73 inline const UsageLimitPeriod& GetPeriod() const{ return m_period; }
74 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
75 inline void SetPeriod(const UsageLimitPeriod& value) { m_periodHasBeenSet = true; m_period = value; }
76 inline void SetPeriod(UsageLimitPeriod&& value) { m_periodHasBeenSet = true; m_period = std::move(value); }
77 inline UsageLimit& WithPeriod(const UsageLimitPeriod& value) { SetPeriod(value); return *this;}
78 inline UsageLimit& WithPeriod(UsageLimitPeriod&& value) { SetPeriod(std::move(value)); return *this;}
80
82
86 inline const Aws::String& GetResourceArn() const{ return m_resourceArn; }
87 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
88 inline void SetResourceArn(const Aws::String& value) { m_resourceArnHasBeenSet = true; m_resourceArn = value; }
89 inline void SetResourceArn(Aws::String&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::move(value); }
90 inline void SetResourceArn(const char* value) { m_resourceArnHasBeenSet = true; m_resourceArn.assign(value); }
91 inline UsageLimit& WithResourceArn(const Aws::String& value) { SetResourceArn(value); return *this;}
92 inline UsageLimit& WithResourceArn(Aws::String&& value) { SetResourceArn(std::move(value)); return *this;}
93 inline UsageLimit& WithResourceArn(const char* value) { SetResourceArn(value); return *this;}
95
97
101 inline const Aws::String& GetUsageLimitArn() const{ return m_usageLimitArn; }
102 inline bool UsageLimitArnHasBeenSet() const { return m_usageLimitArnHasBeenSet; }
103 inline void SetUsageLimitArn(const Aws::String& value) { m_usageLimitArnHasBeenSet = true; m_usageLimitArn = value; }
104 inline void SetUsageLimitArn(Aws::String&& value) { m_usageLimitArnHasBeenSet = true; m_usageLimitArn = std::move(value); }
105 inline void SetUsageLimitArn(const char* value) { m_usageLimitArnHasBeenSet = true; m_usageLimitArn.assign(value); }
106 inline UsageLimit& WithUsageLimitArn(const Aws::String& value) { SetUsageLimitArn(value); return *this;}
107 inline UsageLimit& WithUsageLimitArn(Aws::String&& value) { SetUsageLimitArn(std::move(value)); return *this;}
108 inline UsageLimit& WithUsageLimitArn(const char* value) { SetUsageLimitArn(value); return *this;}
110
112
115 inline const Aws::String& GetUsageLimitId() const{ return m_usageLimitId; }
116 inline bool UsageLimitIdHasBeenSet() const { return m_usageLimitIdHasBeenSet; }
117 inline void SetUsageLimitId(const Aws::String& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = value; }
118 inline void SetUsageLimitId(Aws::String&& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = std::move(value); }
119 inline void SetUsageLimitId(const char* value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId.assign(value); }
120 inline UsageLimit& WithUsageLimitId(const Aws::String& value) { SetUsageLimitId(value); return *this;}
121 inline UsageLimit& WithUsageLimitId(Aws::String&& value) { SetUsageLimitId(std::move(value)); return *this;}
122 inline UsageLimit& WithUsageLimitId(const char* value) { SetUsageLimitId(value); return *this;}
124
126
129 inline const UsageLimitUsageType& GetUsageType() const{ return m_usageType; }
130 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
131 inline void SetUsageType(const UsageLimitUsageType& value) { m_usageTypeHasBeenSet = true; m_usageType = value; }
132 inline void SetUsageType(UsageLimitUsageType&& value) { m_usageTypeHasBeenSet = true; m_usageType = std::move(value); }
133 inline UsageLimit& WithUsageType(const UsageLimitUsageType& value) { SetUsageType(value); return *this;}
134 inline UsageLimit& WithUsageType(UsageLimitUsageType&& value) { SetUsageType(std::move(value)); return *this;}
136 private:
137
138 long long m_amount;
139 bool m_amountHasBeenSet = false;
140
141 UsageLimitBreachAction m_breachAction;
142 bool m_breachActionHasBeenSet = false;
143
144 UsageLimitPeriod m_period;
145 bool m_periodHasBeenSet = false;
146
147 Aws::String m_resourceArn;
148 bool m_resourceArnHasBeenSet = false;
149
150 Aws::String m_usageLimitArn;
151 bool m_usageLimitArnHasBeenSet = false;
152
153 Aws::String m_usageLimitId;
154 bool m_usageLimitIdHasBeenSet = false;
155
156 UsageLimitUsageType m_usageType;
157 bool m_usageTypeHasBeenSet = false;
158 };
159
160} // namespace Model
161} // namespace RedshiftServerless
162} // namespace Aws
UsageLimit & WithUsageType(const UsageLimitUsageType &value)
Definition UsageLimit.h:133
void SetUsageType(UsageLimitUsageType &&value)
Definition UsageLimit.h:132
UsageLimit & WithPeriod(UsageLimitPeriod &&value)
Definition UsageLimit.h:78
UsageLimit & WithBreachAction(UsageLimitBreachAction &&value)
Definition UsageLimit.h:65
const UsageLimitBreachAction & GetBreachAction() const
Definition UsageLimit.h:60
UsageLimit & WithUsageType(UsageLimitUsageType &&value)
Definition UsageLimit.h:134
UsageLimit & WithResourceArn(const char *value)
Definition UsageLimit.h:93
void SetPeriod(const UsageLimitPeriod &value)
Definition UsageLimit.h:75
const Aws::String & GetResourceArn() const
Definition UsageLimit.h:86
AWS_REDSHIFTSERVERLESS_API UsageLimit()
const Aws::String & GetUsageLimitArn() const
Definition UsageLimit.h:101
void SetBreachAction(const UsageLimitBreachAction &value)
Definition UsageLimit.h:62
void SetUsageLimitArn(const char *value)
Definition UsageLimit.h:105
const Aws::String & GetUsageLimitId() const
Definition UsageLimit.h:115
UsageLimit & WithUsageLimitArn(Aws::String &&value)
Definition UsageLimit.h:107
void SetUsageLimitArn(Aws::String &&value)
Definition UsageLimit.h:104
void SetUsageLimitArn(const Aws::String &value)
Definition UsageLimit.h:103
const UsageLimitUsageType & GetUsageType() const
Definition UsageLimit.h:129
UsageLimit & WithUsageLimitId(const Aws::String &value)
Definition UsageLimit.h:120
void SetResourceArn(Aws::String &&value)
Definition UsageLimit.h:89
UsageLimit & WithBreachAction(const UsageLimitBreachAction &value)
Definition UsageLimit.h:64
void SetResourceArn(const Aws::String &value)
Definition UsageLimit.h:88
UsageLimit & WithUsageLimitId(Aws::String &&value)
Definition UsageLimit.h:121
void SetResourceArn(const char *value)
Definition UsageLimit.h:90
void SetUsageLimitId(const Aws::String &value)
Definition UsageLimit.h:117
void SetPeriod(UsageLimitPeriod &&value)
Definition UsageLimit.h:76
void SetUsageLimitId(const char *value)
Definition UsageLimit.h:119
UsageLimit & WithUsageLimitId(const char *value)
Definition UsageLimit.h:122
UsageLimit & WithResourceArn(const Aws::String &value)
Definition UsageLimit.h:91
UsageLimit & WithUsageLimitArn(const char *value)
Definition UsageLimit.h:108
void SetUsageType(const UsageLimitUsageType &value)
Definition UsageLimit.h:131
UsageLimit & WithAmount(long long value)
Definition UsageLimit.h:52
UsageLimit & WithPeriod(const UsageLimitPeriod &value)
Definition UsageLimit.h:77
UsageLimit & WithUsageLimitArn(const Aws::String &value)
Definition UsageLimit.h:106
UsageLimit & WithResourceArn(Aws::String &&value)
Definition UsageLimit.h:92
const UsageLimitPeriod & GetPeriod() const
Definition UsageLimit.h:73
void SetBreachAction(UsageLimitBreachAction &&value)
Definition UsageLimit.h:63
AWS_REDSHIFTSERVERLESS_API UsageLimit & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetUsageLimitId(Aws::String &&value)
Definition UsageLimit.h:118
AWS_REDSHIFTSERVERLESS_API UsageLimit(Aws::Utils::Json::JsonView jsonValue)
AWS_REDSHIFTSERVERLESS_API Aws::Utils::Json::JsonValue Jsonize() const
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue