AWS SDK for C++

AWS SDK for C++ Version 1.11.831

Loading...
Searching...
No Matches
RateLimiterStatus.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/directconnect/DirectConnect_EXPORTS.h>
9
10#include <utility>
11
12namespace Aws {
13namespace Utils {
14namespace Json {
15class JsonValue;
16class JsonView;
17} // namespace Json
18} // namespace Utils
19namespace DirectConnect {
20namespace Model {
21
30 public:
31 AWS_DIRECTCONNECT_API RateLimiterStatus() = default;
32 AWS_DIRECTCONNECT_API RateLimiterStatus(Aws::Utils::Json::JsonView jsonValue);
33 AWS_DIRECTCONNECT_API RateLimiterStatus& operator=(Aws::Utils::Json::JsonView jsonValue);
34 AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const;
35
37
40 inline int GetMaxAllowed() const { return m_maxAllowed; }
41 inline bool MaxAllowedHasBeenSet() const { return m_maxAllowedHasBeenSet; }
42 inline void SetMaxAllowed(int value) {
43 m_maxAllowedHasBeenSet = true;
44 m_maxAllowed = value;
45 }
46 inline RateLimiterStatus& WithMaxAllowed(int value) {
47 SetMaxAllowed(value);
48 return *this;
49 }
51
53
56 inline int GetInUse() const { return m_inUse; }
57 inline bool InUseHasBeenSet() const { return m_inUseHasBeenSet; }
58 inline void SetInUse(int value) {
59 m_inUseHasBeenSet = true;
60 m_inUse = value;
61 }
62 inline RateLimiterStatus& WithInUse(int value) {
63 SetInUse(value);
64 return *this;
65 }
67
69
72 inline int GetRemaining() const { return m_remaining; }
73 inline bool RemainingHasBeenSet() const { return m_remainingHasBeenSet; }
74 inline void SetRemaining(int value) {
75 m_remainingHasBeenSet = true;
76 m_remaining = value;
77 }
78 inline RateLimiterStatus& WithRemaining(int value) {
79 SetRemaining(value);
80 return *this;
81 }
83
85
88 inline const Aws::String& GetTotalBandwidth() const { return m_totalBandwidth; }
89 inline bool TotalBandwidthHasBeenSet() const { return m_totalBandwidthHasBeenSet; }
90 template <typename TotalBandwidthT = Aws::String>
91 void SetTotalBandwidth(TotalBandwidthT&& value) {
92 m_totalBandwidthHasBeenSet = true;
93 m_totalBandwidth = std::forward<TotalBandwidthT>(value);
94 }
95 template <typename TotalBandwidthT = Aws::String>
96 RateLimiterStatus& WithTotalBandwidth(TotalBandwidthT&& value) {
97 SetTotalBandwidth(std::forward<TotalBandwidthT>(value));
98 return *this;
99 }
101 private:
102 int m_maxAllowed{0};
103
104 int m_inUse{0};
105
106 int m_remaining{0};
107
108 Aws::String m_totalBandwidth;
109 bool m_maxAllowedHasBeenSet = false;
110 bool m_inUseHasBeenSet = false;
111 bool m_remainingHasBeenSet = false;
112 bool m_totalBandwidthHasBeenSet = false;
113};
114
115} // namespace Model
116} // namespace DirectConnect
117} // namespace Aws
AWS_DIRECTCONNECT_API Aws::Utils::Json::JsonValue Jsonize() const
RateLimiterStatus & WithRemaining(int value)
AWS_DIRECTCONNECT_API RateLimiterStatus()=default
AWS_DIRECTCONNECT_API RateLimiterStatus & operator=(Aws::Utils::Json::JsonView jsonValue)
void SetTotalBandwidth(TotalBandwidthT &&value)
AWS_DIRECTCONNECT_API RateLimiterStatus(Aws::Utils::Json::JsonView jsonValue)
RateLimiterStatus & WithMaxAllowed(int value)
RateLimiterStatus & WithTotalBandwidth(TotalBandwidthT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Aws::Utils::Json::JsonValue JsonValue