AWS SDK for C++

AWS SDK for C++ Version 1.11.606

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() = default;
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 UsageLimitBreachAction GetBreachAction() const { return m_breachAction; }
61 inline bool BreachActionHasBeenSet() const { return m_breachActionHasBeenSet; }
62 inline void SetBreachAction(UsageLimitBreachAction value) { m_breachActionHasBeenSet = true; m_breachAction = value; }
63 inline UsageLimit& WithBreachAction(UsageLimitBreachAction value) { SetBreachAction(value); return *this;}
65
67
71 inline UsageLimitPeriod GetPeriod() const { return m_period; }
72 inline bool PeriodHasBeenSet() const { return m_periodHasBeenSet; }
73 inline void SetPeriod(UsageLimitPeriod value) { m_periodHasBeenSet = true; m_period = value; }
74 inline UsageLimit& WithPeriod(UsageLimitPeriod value) { SetPeriod(value); return *this;}
76
78
82 inline const Aws::String& GetResourceArn() const { return m_resourceArn; }
83 inline bool ResourceArnHasBeenSet() const { return m_resourceArnHasBeenSet; }
84 template<typename ResourceArnT = Aws::String>
85 void SetResourceArn(ResourceArnT&& value) { m_resourceArnHasBeenSet = true; m_resourceArn = std::forward<ResourceArnT>(value); }
86 template<typename ResourceArnT = Aws::String>
87 UsageLimit& WithResourceArn(ResourceArnT&& value) { SetResourceArn(std::forward<ResourceArnT>(value)); return *this;}
89
91
95 inline const Aws::String& GetUsageLimitArn() const { return m_usageLimitArn; }
96 inline bool UsageLimitArnHasBeenSet() const { return m_usageLimitArnHasBeenSet; }
97 template<typename UsageLimitArnT = Aws::String>
98 void SetUsageLimitArn(UsageLimitArnT&& value) { m_usageLimitArnHasBeenSet = true; m_usageLimitArn = std::forward<UsageLimitArnT>(value); }
99 template<typename UsageLimitArnT = Aws::String>
100 UsageLimit& WithUsageLimitArn(UsageLimitArnT&& value) { SetUsageLimitArn(std::forward<UsageLimitArnT>(value)); return *this;}
102
104
107 inline const Aws::String& GetUsageLimitId() const { return m_usageLimitId; }
108 inline bool UsageLimitIdHasBeenSet() const { return m_usageLimitIdHasBeenSet; }
109 template<typename UsageLimitIdT = Aws::String>
110 void SetUsageLimitId(UsageLimitIdT&& value) { m_usageLimitIdHasBeenSet = true; m_usageLimitId = std::forward<UsageLimitIdT>(value); }
111 template<typename UsageLimitIdT = Aws::String>
112 UsageLimit& WithUsageLimitId(UsageLimitIdT&& value) { SetUsageLimitId(std::forward<UsageLimitIdT>(value)); return *this;}
114
116
119 inline UsageLimitUsageType GetUsageType() const { return m_usageType; }
120 inline bool UsageTypeHasBeenSet() const { return m_usageTypeHasBeenSet; }
121 inline void SetUsageType(UsageLimitUsageType value) { m_usageTypeHasBeenSet = true; m_usageType = value; }
122 inline UsageLimit& WithUsageType(UsageLimitUsageType value) { SetUsageType(value); return *this;}
124 private:
125
126 long long m_amount{0};
127 bool m_amountHasBeenSet = false;
128
130 bool m_breachActionHasBeenSet = false;
131
133 bool m_periodHasBeenSet = false;
134
135 Aws::String m_resourceArn;
136 bool m_resourceArnHasBeenSet = false;
137
138 Aws::String m_usageLimitArn;
139 bool m_usageLimitArnHasBeenSet = false;
140
141 Aws::String m_usageLimitId;
142 bool m_usageLimitIdHasBeenSet = false;
143
145 bool m_usageTypeHasBeenSet = false;
146 };
147
148} // namespace Model
149} // namespace RedshiftServerless
150} // namespace Aws
UsageLimit & WithUsageLimitArn(UsageLimitArnT &&value)
Definition UsageLimit.h:100
UsageLimit & WithUsageLimitId(UsageLimitIdT &&value)
Definition UsageLimit.h:112
const Aws::String & GetResourceArn() const
Definition UsageLimit.h:82
const Aws::String & GetUsageLimitArn() const
Definition UsageLimit.h:95
void SetUsageType(UsageLimitUsageType value)
Definition UsageLimit.h:121
UsageLimit & WithPeriod(UsageLimitPeriod value)
Definition UsageLimit.h:74
const Aws::String & GetUsageLimitId() const
Definition UsageLimit.h:107
void SetUsageLimitArn(UsageLimitArnT &&value)
Definition UsageLimit.h:98
void SetResourceArn(ResourceArnT &&value)
Definition UsageLimit.h:85
UsageLimit & WithUsageType(UsageLimitUsageType value)
Definition UsageLimit.h:122
void SetBreachAction(UsageLimitBreachAction value)
Definition UsageLimit.h:62
void SetPeriod(UsageLimitPeriod value)
Definition UsageLimit.h:73
UsageLimitUsageType GetUsageType() const
Definition UsageLimit.h:119
AWS_REDSHIFTSERVERLESS_API UsageLimit()=default
UsageLimit & WithAmount(long long value)
Definition UsageLimit.h:52
UsageLimit & WithResourceArn(ResourceArnT &&value)
Definition UsageLimit.h:87
UsageLimitBreachAction GetBreachAction() const
Definition UsageLimit.h:60
UsageLimit & WithBreachAction(UsageLimitBreachAction value)
Definition UsageLimit.h:63
void SetUsageLimitId(UsageLimitIdT &&value)
Definition UsageLimit.h:110
AWS_REDSHIFTSERVERLESS_API UsageLimit & operator=(Aws::Utils::Json::JsonView jsonValue)
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