1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/wellarchitected/WellArchitected_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace WellArchitected
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>Request was denied due to request throttling.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/wellarchitected-2020-03-31/ThrottlingException">AWS
29    * API Reference</a></p>
30    */
31   class AWS_WELLARCHITECTED_API ThrottlingException
32   {
33   public:
34     ThrottlingException();
35     ThrottlingException(Aws::Utils::Json::JsonView jsonValue);
36     ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40 
GetMessage()41     inline const Aws::String& GetMessage() const{ return m_message; }
42 
43 
MessageHasBeenSet()44     inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
45 
46 
SetMessage(const Aws::String & value)47     inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
48 
49 
SetMessage(Aws::String && value)50     inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
51 
52 
SetMessage(const char * value)53     inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
54 
55 
WithMessage(const Aws::String & value)56     inline ThrottlingException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
57 
58 
WithMessage(Aws::String && value)59     inline ThrottlingException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
60 
61 
WithMessage(const char * value)62     inline ThrottlingException& WithMessage(const char* value) { SetMessage(value); return *this;}
63 
64 
65 
GetQuotaCode()66     inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; }
67 
68 
QuotaCodeHasBeenSet()69     inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; }
70 
71 
SetQuotaCode(const Aws::String & value)72     inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; }
73 
74 
SetQuotaCode(Aws::String && value)75     inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); }
76 
77 
SetQuotaCode(const char * value)78     inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); }
79 
80 
WithQuotaCode(const Aws::String & value)81     inline ThrottlingException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;}
82 
83 
WithQuotaCode(Aws::String && value)84     inline ThrottlingException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;}
85 
86 
WithQuotaCode(const char * value)87     inline ThrottlingException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;}
88 
89 
90 
GetServiceCode()91     inline const Aws::String& GetServiceCode() const{ return m_serviceCode; }
92 
93 
ServiceCodeHasBeenSet()94     inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; }
95 
96 
SetServiceCode(const Aws::String & value)97     inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; }
98 
99 
SetServiceCode(Aws::String && value)100     inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); }
101 
102 
SetServiceCode(const char * value)103     inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); }
104 
105 
WithServiceCode(const Aws::String & value)106     inline ThrottlingException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;}
107 
108 
WithServiceCode(Aws::String && value)109     inline ThrottlingException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;}
110 
111 
WithServiceCode(const char * value)112     inline ThrottlingException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;}
113 
114   private:
115 
116     Aws::String m_message;
117     bool m_messageHasBeenSet;
118 
119     Aws::String m_quotaCode;
120     bool m_quotaCodeHasBeenSet;
121 
122     Aws::String m_serviceCode;
123     bool m_serviceCodeHasBeenSet;
124   };
125 
126 } // namespace Model
127 } // namespace WellArchitected
128 } // namespace Aws
129