7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/redshift-serverless/RedshiftServerless_EXPORTS.h>
9#include <aws/redshift-serverless/model/UsageLimitBreachAction.h>
10#include <aws/redshift-serverless/model/UsageLimitPeriod.h>
11#include <aws/redshift-serverless/model/UsageLimitUsageType.h>
22namespace RedshiftServerless {
43 inline long long GetAmount()
const {
return m_amount; }
46 m_amountHasBeenSet =
true;
63 m_breachActionHasBeenSet =
true;
64 m_breachAction = value;
80 m_periodHasBeenSet =
true;
96 template <
typename ResourceArnT = Aws::String>
98 m_resourceArnHasBeenSet =
true;
99 m_resourceArn = std::forward<ResourceArnT>(value);
101 template <
typename ResourceArnT = Aws::String>
115 template <
typename UsageLimitArnT = Aws::String>
117 m_usageLimitArnHasBeenSet =
true;
118 m_usageLimitArn = std::forward<UsageLimitArnT>(value);
120 template <
typename UsageLimitArnT = Aws::String>
133 template <
typename UsageLimitIdT = Aws::String>
135 m_usageLimitIdHasBeenSet =
true;
136 m_usageLimitId = std::forward<UsageLimitIdT>(value);
138 template <
typename UsageLimitIdT = Aws::String>
152 m_usageTypeHasBeenSet =
true;
161 long long m_amount{0};
174 bool m_amountHasBeenSet =
false;
175 bool m_breachActionHasBeenSet =
false;
176 bool m_periodHasBeenSet =
false;
177 bool m_resourceArnHasBeenSet =
false;
178 bool m_usageLimitArnHasBeenSet =
false;
179 bool m_usageLimitIdHasBeenSet =
false;
180 bool m_usageTypeHasBeenSet =
false;
UsageLimit & WithUsageLimitArn(UsageLimitArnT &&value)
long long GetAmount() const
UsageLimit & WithUsageLimitId(UsageLimitIdT &&value)
const Aws::String & GetResourceArn() const
const Aws::String & GetUsageLimitArn() const
void SetUsageType(UsageLimitUsageType value)
void SetAmount(long long value)
bool UsageLimitArnHasBeenSet() const
UsageLimit & WithPeriod(UsageLimitPeriod value)
const Aws::String & GetUsageLimitId() const
void SetUsageLimitArn(UsageLimitArnT &&value)
bool PeriodHasBeenSet() const
bool UsageLimitIdHasBeenSet() const
void SetResourceArn(ResourceArnT &&value)
UsageLimitPeriod GetPeriod() const
UsageLimit & WithUsageType(UsageLimitUsageType value)
bool BreachActionHasBeenSet() const
void SetBreachAction(UsageLimitBreachAction value)
bool AmountHasBeenSet() const
void SetPeriod(UsageLimitPeriod value)
UsageLimitUsageType GetUsageType() const
AWS_REDSHIFTSERVERLESS_API UsageLimit()=default
UsageLimit & WithAmount(long long value)
bool ResourceArnHasBeenSet() const
UsageLimit & WithResourceArn(ResourceArnT &&value)
UsageLimitBreachAction GetBreachAction() const
UsageLimit & WithBreachAction(UsageLimitBreachAction value)
void SetUsageLimitId(UsageLimitIdT &&value)
AWS_REDSHIFTSERVERLESS_API UsageLimit & operator=(Aws::Utils::Json::JsonView jsonValue)
AWS_REDSHIFTSERVERLESS_API UsageLimit(Aws::Utils::Json::JsonView jsonValue)
bool UsageTypeHasBeenSet() const
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