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/ssm-contacts/SSMContacts_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 SSMContacts
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>The request was denied due to request throttling.</p><p><h3>See Also:</h3>
28    * <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/ThrottlingException">AWS
30    * API Reference</a></p>
31    */
32   class AWS_SSMCONTACTS_API ThrottlingException
33   {
34   public:
35     ThrottlingException();
36     ThrottlingException(Aws::Utils::Json::JsonView jsonValue);
37     ThrottlingException& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41 
GetMessage()42     inline const Aws::String& GetMessage() const{ return m_message; }
43 
44 
MessageHasBeenSet()45     inline bool MessageHasBeenSet() const { return m_messageHasBeenSet; }
46 
47 
SetMessage(const Aws::String & value)48     inline void SetMessage(const Aws::String& value) { m_messageHasBeenSet = true; m_message = value; }
49 
50 
SetMessage(Aws::String && value)51     inline void SetMessage(Aws::String&& value) { m_messageHasBeenSet = true; m_message = std::move(value); }
52 
53 
SetMessage(const char * value)54     inline void SetMessage(const char* value) { m_messageHasBeenSet = true; m_message.assign(value); }
55 
56 
WithMessage(const Aws::String & value)57     inline ThrottlingException& WithMessage(const Aws::String& value) { SetMessage(value); return *this;}
58 
59 
WithMessage(Aws::String && value)60     inline ThrottlingException& WithMessage(Aws::String&& value) { SetMessage(std::move(value)); return *this;}
61 
62 
WithMessage(const char * value)63     inline ThrottlingException& WithMessage(const char* value) { SetMessage(value); return *this;}
64 
65 
66     /**
67      * Service Quotas requirement to identify originating service
68      */
GetQuotaCode()69     inline const Aws::String& GetQuotaCode() const{ return m_quotaCode; }
70 
71     /**
72      * Service Quotas requirement to identify originating service
73      */
QuotaCodeHasBeenSet()74     inline bool QuotaCodeHasBeenSet() const { return m_quotaCodeHasBeenSet; }
75 
76     /**
77      * Service Quotas requirement to identify originating service
78      */
SetQuotaCode(const Aws::String & value)79     inline void SetQuotaCode(const Aws::String& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = value; }
80 
81     /**
82      * Service Quotas requirement to identify originating service
83      */
SetQuotaCode(Aws::String && value)84     inline void SetQuotaCode(Aws::String&& value) { m_quotaCodeHasBeenSet = true; m_quotaCode = std::move(value); }
85 
86     /**
87      * Service Quotas requirement to identify originating service
88      */
SetQuotaCode(const char * value)89     inline void SetQuotaCode(const char* value) { m_quotaCodeHasBeenSet = true; m_quotaCode.assign(value); }
90 
91     /**
92      * Service Quotas requirement to identify originating service
93      */
WithQuotaCode(const Aws::String & value)94     inline ThrottlingException& WithQuotaCode(const Aws::String& value) { SetQuotaCode(value); return *this;}
95 
96     /**
97      * Service Quotas requirement to identify originating service
98      */
WithQuotaCode(Aws::String && value)99     inline ThrottlingException& WithQuotaCode(Aws::String&& value) { SetQuotaCode(std::move(value)); return *this;}
100 
101     /**
102      * Service Quotas requirement to identify originating service
103      */
WithQuotaCode(const char * value)104     inline ThrottlingException& WithQuotaCode(const char* value) { SetQuotaCode(value); return *this;}
105 
106 
107     /**
108      * Service Quotas requirement to identify originating quota
109      */
GetServiceCode()110     inline const Aws::String& GetServiceCode() const{ return m_serviceCode; }
111 
112     /**
113      * Service Quotas requirement to identify originating quota
114      */
ServiceCodeHasBeenSet()115     inline bool ServiceCodeHasBeenSet() const { return m_serviceCodeHasBeenSet; }
116 
117     /**
118      * Service Quotas requirement to identify originating quota
119      */
SetServiceCode(const Aws::String & value)120     inline void SetServiceCode(const Aws::String& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = value; }
121 
122     /**
123      * Service Quotas requirement to identify originating quota
124      */
SetServiceCode(Aws::String && value)125     inline void SetServiceCode(Aws::String&& value) { m_serviceCodeHasBeenSet = true; m_serviceCode = std::move(value); }
126 
127     /**
128      * Service Quotas requirement to identify originating quota
129      */
SetServiceCode(const char * value)130     inline void SetServiceCode(const char* value) { m_serviceCodeHasBeenSet = true; m_serviceCode.assign(value); }
131 
132     /**
133      * Service Quotas requirement to identify originating quota
134      */
WithServiceCode(const Aws::String & value)135     inline ThrottlingException& WithServiceCode(const Aws::String& value) { SetServiceCode(value); return *this;}
136 
137     /**
138      * Service Quotas requirement to identify originating quota
139      */
WithServiceCode(Aws::String && value)140     inline ThrottlingException& WithServiceCode(Aws::String&& value) { SetServiceCode(std::move(value)); return *this;}
141 
142     /**
143      * Service Quotas requirement to identify originating quota
144      */
WithServiceCode(const char * value)145     inline ThrottlingException& WithServiceCode(const char* value) { SetServiceCode(value); return *this;}
146 
147 
148     /**
149      * Advice to clients on when the call can be safely retried
150      */
GetRetryAfterSeconds()151     inline int GetRetryAfterSeconds() const{ return m_retryAfterSeconds; }
152 
153     /**
154      * Advice to clients on when the call can be safely retried
155      */
RetryAfterSecondsHasBeenSet()156     inline bool RetryAfterSecondsHasBeenSet() const { return m_retryAfterSecondsHasBeenSet; }
157 
158     /**
159      * Advice to clients on when the call can be safely retried
160      */
SetRetryAfterSeconds(int value)161     inline void SetRetryAfterSeconds(int value) { m_retryAfterSecondsHasBeenSet = true; m_retryAfterSeconds = value; }
162 
163     /**
164      * Advice to clients on when the call can be safely retried
165      */
WithRetryAfterSeconds(int value)166     inline ThrottlingException& WithRetryAfterSeconds(int value) { SetRetryAfterSeconds(value); return *this;}
167 
168   private:
169 
170     Aws::String m_message;
171     bool m_messageHasBeenSet;
172 
173     Aws::String m_quotaCode;
174     bool m_quotaCodeHasBeenSet;
175 
176     Aws::String m_serviceCode;
177     bool m_serviceCodeHasBeenSet;
178 
179     int m_retryAfterSeconds;
180     bool m_retryAfterSecondsHasBeenSet;
181   };
182 
183 } // namespace Model
184 } // namespace SSMContacts
185 } // namespace Aws
186