/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace APIGateway { namespace Model { /** *

The API request rate limits.

See Also:

AWS * API Reference

*/ class ThrottleSettings { public: AWS_APIGATEWAY_API ThrottleSettings(); AWS_APIGATEWAY_API ThrottleSettings(Aws::Utils::Json::JsonView jsonValue); AWS_APIGATEWAY_API ThrottleSettings& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_APIGATEWAY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The API target request burst rate limit. This allows more requests through * for a period of time than the target rate limit.

*/ inline int GetBurstLimit() const{ return m_burstLimit; } /** *

The API target request burst rate limit. This allows more requests through * for a period of time than the target rate limit.

*/ inline bool BurstLimitHasBeenSet() const { return m_burstLimitHasBeenSet; } /** *

The API target request burst rate limit. This allows more requests through * for a period of time than the target rate limit.

*/ inline void SetBurstLimit(int value) { m_burstLimitHasBeenSet = true; m_burstLimit = value; } /** *

The API target request burst rate limit. This allows more requests through * for a period of time than the target rate limit.

*/ inline ThrottleSettings& WithBurstLimit(int value) { SetBurstLimit(value); return *this;} /** *

The API target request rate limit.

*/ inline double GetRateLimit() const{ return m_rateLimit; } /** *

The API target request rate limit.

*/ inline bool RateLimitHasBeenSet() const { return m_rateLimitHasBeenSet; } /** *

The API target request rate limit.

*/ inline void SetRateLimit(double value) { m_rateLimitHasBeenSet = true; m_rateLimit = value; } /** *

The API target request rate limit.

*/ inline ThrottleSettings& WithRateLimit(double value) { SetRateLimit(value); return *this;} private: int m_burstLimit; bool m_burstLimitHasBeenSet = false; double m_rateLimit; bool m_rateLimitHasBeenSet = false; }; } // namespace Model } // namespace APIGateway } // namespace Aws