AWS SDK for C++  0.12.9
AWS SDK for C++
ThrottleSettings.h
Go to the documentation of this file.
1 /*
2 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License").
5 * You may not use this file except in compliance with the License.
6 * A copy of the License is located at
7 *
8 * http://aws.amazon.com/apache2.0
9 *
10 * or in the "license" file accompanying this file. This file is distributed
11 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
12 * express or implied. See the License for the specific language governing
13 * permissions and limitations under the License.
14 */
15 #pragma once
17 
18 namespace Aws
19 {
20 namespace Utils
21 {
22 namespace Json
23 {
24  class JsonValue;
25 } // namespace Json
26 } // namespace Utils
27 namespace APIGateway
28 {
29 namespace Model
30 {
31 
36  {
37  public:
40  ThrottleSettings& operator=(const Aws::Utils::Json::JsonValue& jsonValue);
41  Aws::Utils::Json::JsonValue Jsonize() const;
42 
46  inline long GetBurstLimit() const{ return m_burstLimit; }
47 
51  inline void SetBurstLimit(long value) { m_burstLimitHasBeenSet = true; m_burstLimit = value; }
52 
56  inline ThrottleSettings& WithBurstLimit(long value) { SetBurstLimit(value); return *this;}
57 
61  inline double GetRateLimit() const{ return m_rateLimit; }
62 
66  inline void SetRateLimit(double value) { m_rateLimitHasBeenSet = true; m_rateLimit = value; }
67 
71  inline ThrottleSettings& WithRateLimit(double value) { SetRateLimit(value); return *this;}
72 
73  private:
74  long m_burstLimit;
75  bool m_burstLimitHasBeenSet;
76  double m_rateLimit;
77  bool m_rateLimitHasBeenSet;
78  };
79 
80 } // namespace Model
81 } // namespace APIGateway
82 } // namespace Aws
ThrottleSettings & WithRateLimit(double value)
#define AWS_APIGATEWAY_API
ThrottleSettings & WithBurstLimit(long value)
JSON (JavaScript Object Notation).