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/apigatewayv2/ApiGatewayV2_EXPORTS.h>
8 #include <aws/apigatewayv2/ApiGatewayV2Request.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSMap.h>
11 #include <aws/apigatewayv2/model/ParameterConstraints.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace ApiGatewayV2
17 {
18 namespace Model
19 {
20 
21   /**
22    * <p>Creates a new RouteResponse resource to represent a route
23    * response.</p><p><h3>See Also:</h3>   <a
24    * href="http://docs.aws.amazon.com/goto/WebAPI/apigatewayv2-2018-11-29/CreateRouteResponseRequest">AWS
25    * API Reference</a></p>
26    */
27   class AWS_APIGATEWAYV2_API CreateRouteResponseRequest : public ApiGatewayV2Request
28   {
29   public:
30     CreateRouteResponseRequest();
31 
32     // Service request name is the Operation name which will send this request out,
33     // each operation should has unique request name, so that we can get operation's name from this request.
34     // Note: this is not true for response, multiple operations may have the same response name,
35     // so we can not get operation's name from response.
GetServiceRequestName()36     inline virtual const char* GetServiceRequestName() const override { return "CreateRouteResponse"; }
37 
38     Aws::String SerializePayload() const override;
39 
40 
41     /**
42      * <p>The API identifier.</p>
43      */
GetApiId()44     inline const Aws::String& GetApiId() const{ return m_apiId; }
45 
46     /**
47      * <p>The API identifier.</p>
48      */
ApiIdHasBeenSet()49     inline bool ApiIdHasBeenSet() const { return m_apiIdHasBeenSet; }
50 
51     /**
52      * <p>The API identifier.</p>
53      */
SetApiId(const Aws::String & value)54     inline void SetApiId(const Aws::String& value) { m_apiIdHasBeenSet = true; m_apiId = value; }
55 
56     /**
57      * <p>The API identifier.</p>
58      */
SetApiId(Aws::String && value)59     inline void SetApiId(Aws::String&& value) { m_apiIdHasBeenSet = true; m_apiId = std::move(value); }
60 
61     /**
62      * <p>The API identifier.</p>
63      */
SetApiId(const char * value)64     inline void SetApiId(const char* value) { m_apiIdHasBeenSet = true; m_apiId.assign(value); }
65 
66     /**
67      * <p>The API identifier.</p>
68      */
WithApiId(const Aws::String & value)69     inline CreateRouteResponseRequest& WithApiId(const Aws::String& value) { SetApiId(value); return *this;}
70 
71     /**
72      * <p>The API identifier.</p>
73      */
WithApiId(Aws::String && value)74     inline CreateRouteResponseRequest& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;}
75 
76     /**
77      * <p>The API identifier.</p>
78      */
WithApiId(const char * value)79     inline CreateRouteResponseRequest& WithApiId(const char* value) { SetApiId(value); return *this;}
80 
81 
82     /**
83      * <p>The model selection expression for the route response. Supported only for
84      * WebSocket APIs.</p>
85      */
GetModelSelectionExpression()86     inline const Aws::String& GetModelSelectionExpression() const{ return m_modelSelectionExpression; }
87 
88     /**
89      * <p>The model selection expression for the route response. Supported only for
90      * WebSocket APIs.</p>
91      */
ModelSelectionExpressionHasBeenSet()92     inline bool ModelSelectionExpressionHasBeenSet() const { return m_modelSelectionExpressionHasBeenSet; }
93 
94     /**
95      * <p>The model selection expression for the route response. Supported only for
96      * WebSocket APIs.</p>
97      */
SetModelSelectionExpression(const Aws::String & value)98     inline void SetModelSelectionExpression(const Aws::String& value) { m_modelSelectionExpressionHasBeenSet = true; m_modelSelectionExpression = value; }
99 
100     /**
101      * <p>The model selection expression for the route response. Supported only for
102      * WebSocket APIs.</p>
103      */
SetModelSelectionExpression(Aws::String && value)104     inline void SetModelSelectionExpression(Aws::String&& value) { m_modelSelectionExpressionHasBeenSet = true; m_modelSelectionExpression = std::move(value); }
105 
106     /**
107      * <p>The model selection expression for the route response. Supported only for
108      * WebSocket APIs.</p>
109      */
SetModelSelectionExpression(const char * value)110     inline void SetModelSelectionExpression(const char* value) { m_modelSelectionExpressionHasBeenSet = true; m_modelSelectionExpression.assign(value); }
111 
112     /**
113      * <p>The model selection expression for the route response. Supported only for
114      * WebSocket APIs.</p>
115      */
WithModelSelectionExpression(const Aws::String & value)116     inline CreateRouteResponseRequest& WithModelSelectionExpression(const Aws::String& value) { SetModelSelectionExpression(value); return *this;}
117 
118     /**
119      * <p>The model selection expression for the route response. Supported only for
120      * WebSocket APIs.</p>
121      */
WithModelSelectionExpression(Aws::String && value)122     inline CreateRouteResponseRequest& WithModelSelectionExpression(Aws::String&& value) { SetModelSelectionExpression(std::move(value)); return *this;}
123 
124     /**
125      * <p>The model selection expression for the route response. Supported only for
126      * WebSocket APIs.</p>
127      */
WithModelSelectionExpression(const char * value)128     inline CreateRouteResponseRequest& WithModelSelectionExpression(const char* value) { SetModelSelectionExpression(value); return *this;}
129 
130 
131     /**
132      * <p>The response models for the route response.</p>
133      */
GetResponseModels()134     inline const Aws::Map<Aws::String, Aws::String>& GetResponseModels() const{ return m_responseModels; }
135 
136     /**
137      * <p>The response models for the route response.</p>
138      */
ResponseModelsHasBeenSet()139     inline bool ResponseModelsHasBeenSet() const { return m_responseModelsHasBeenSet; }
140 
141     /**
142      * <p>The response models for the route response.</p>
143      */
SetResponseModels(const Aws::Map<Aws::String,Aws::String> & value)144     inline void SetResponseModels(const Aws::Map<Aws::String, Aws::String>& value) { m_responseModelsHasBeenSet = true; m_responseModels = value; }
145 
146     /**
147      * <p>The response models for the route response.</p>
148      */
SetResponseModels(Aws::Map<Aws::String,Aws::String> && value)149     inline void SetResponseModels(Aws::Map<Aws::String, Aws::String>&& value) { m_responseModelsHasBeenSet = true; m_responseModels = std::move(value); }
150 
151     /**
152      * <p>The response models for the route response.</p>
153      */
WithResponseModels(const Aws::Map<Aws::String,Aws::String> & value)154     inline CreateRouteResponseRequest& WithResponseModels(const Aws::Map<Aws::String, Aws::String>& value) { SetResponseModels(value); return *this;}
155 
156     /**
157      * <p>The response models for the route response.</p>
158      */
WithResponseModels(Aws::Map<Aws::String,Aws::String> && value)159     inline CreateRouteResponseRequest& WithResponseModels(Aws::Map<Aws::String, Aws::String>&& value) { SetResponseModels(std::move(value)); return *this;}
160 
161     /**
162      * <p>The response models for the route response.</p>
163      */
AddResponseModels(const Aws::String & key,const Aws::String & value)164     inline CreateRouteResponseRequest& AddResponseModels(const Aws::String& key, const Aws::String& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(key, value); return *this; }
165 
166     /**
167      * <p>The response models for the route response.</p>
168      */
AddResponseModels(Aws::String && key,const Aws::String & value)169     inline CreateRouteResponseRequest& AddResponseModels(Aws::String&& key, const Aws::String& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(std::move(key), value); return *this; }
170 
171     /**
172      * <p>The response models for the route response.</p>
173      */
AddResponseModels(const Aws::String & key,Aws::String && value)174     inline CreateRouteResponseRequest& AddResponseModels(const Aws::String& key, Aws::String&& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(key, std::move(value)); return *this; }
175 
176     /**
177      * <p>The response models for the route response.</p>
178      */
AddResponseModels(Aws::String && key,Aws::String && value)179     inline CreateRouteResponseRequest& AddResponseModels(Aws::String&& key, Aws::String&& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(std::move(key), std::move(value)); return *this; }
180 
181     /**
182      * <p>The response models for the route response.</p>
183      */
AddResponseModels(const char * key,Aws::String && value)184     inline CreateRouteResponseRequest& AddResponseModels(const char* key, Aws::String&& value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(key, std::move(value)); return *this; }
185 
186     /**
187      * <p>The response models for the route response.</p>
188      */
AddResponseModels(Aws::String && key,const char * value)189     inline CreateRouteResponseRequest& AddResponseModels(Aws::String&& key, const char* value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(std::move(key), value); return *this; }
190 
191     /**
192      * <p>The response models for the route response.</p>
193      */
AddResponseModels(const char * key,const char * value)194     inline CreateRouteResponseRequest& AddResponseModels(const char* key, const char* value) { m_responseModelsHasBeenSet = true; m_responseModels.emplace(key, value); return *this; }
195 
196 
197     /**
198      * <p>The route response parameters.</p>
199      */
GetResponseParameters()200     inline const Aws::Map<Aws::String, ParameterConstraints>& GetResponseParameters() const{ return m_responseParameters; }
201 
202     /**
203      * <p>The route response parameters.</p>
204      */
ResponseParametersHasBeenSet()205     inline bool ResponseParametersHasBeenSet() const { return m_responseParametersHasBeenSet; }
206 
207     /**
208      * <p>The route response parameters.</p>
209      */
SetResponseParameters(const Aws::Map<Aws::String,ParameterConstraints> & value)210     inline void SetResponseParameters(const Aws::Map<Aws::String, ParameterConstraints>& value) { m_responseParametersHasBeenSet = true; m_responseParameters = value; }
211 
212     /**
213      * <p>The route response parameters.</p>
214      */
SetResponseParameters(Aws::Map<Aws::String,ParameterConstraints> && value)215     inline void SetResponseParameters(Aws::Map<Aws::String, ParameterConstraints>&& value) { m_responseParametersHasBeenSet = true; m_responseParameters = std::move(value); }
216 
217     /**
218      * <p>The route response parameters.</p>
219      */
WithResponseParameters(const Aws::Map<Aws::String,ParameterConstraints> & value)220     inline CreateRouteResponseRequest& WithResponseParameters(const Aws::Map<Aws::String, ParameterConstraints>& value) { SetResponseParameters(value); return *this;}
221 
222     /**
223      * <p>The route response parameters.</p>
224      */
WithResponseParameters(Aws::Map<Aws::String,ParameterConstraints> && value)225     inline CreateRouteResponseRequest& WithResponseParameters(Aws::Map<Aws::String, ParameterConstraints>&& value) { SetResponseParameters(std::move(value)); return *this;}
226 
227     /**
228      * <p>The route response parameters.</p>
229      */
AddResponseParameters(const Aws::String & key,const ParameterConstraints & value)230     inline CreateRouteResponseRequest& AddResponseParameters(const Aws::String& key, const ParameterConstraints& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, value); return *this; }
231 
232     /**
233      * <p>The route response parameters.</p>
234      */
AddResponseParameters(Aws::String && key,const ParameterConstraints & value)235     inline CreateRouteResponseRequest& AddResponseParameters(Aws::String&& key, const ParameterConstraints& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(std::move(key), value); return *this; }
236 
237     /**
238      * <p>The route response parameters.</p>
239      */
AddResponseParameters(const Aws::String & key,ParameterConstraints && value)240     inline CreateRouteResponseRequest& AddResponseParameters(const Aws::String& key, ParameterConstraints&& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, std::move(value)); return *this; }
241 
242     /**
243      * <p>The route response parameters.</p>
244      */
AddResponseParameters(Aws::String && key,ParameterConstraints && value)245     inline CreateRouteResponseRequest& AddResponseParameters(Aws::String&& key, ParameterConstraints&& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(std::move(key), std::move(value)); return *this; }
246 
247     /**
248      * <p>The route response parameters.</p>
249      */
AddResponseParameters(const char * key,ParameterConstraints && value)250     inline CreateRouteResponseRequest& AddResponseParameters(const char* key, ParameterConstraints&& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, std::move(value)); return *this; }
251 
252     /**
253      * <p>The route response parameters.</p>
254      */
AddResponseParameters(const char * key,const ParameterConstraints & value)255     inline CreateRouteResponseRequest& AddResponseParameters(const char* key, const ParameterConstraints& value) { m_responseParametersHasBeenSet = true; m_responseParameters.emplace(key, value); return *this; }
256 
257 
258     /**
259      * <p>The route ID.</p>
260      */
GetRouteId()261     inline const Aws::String& GetRouteId() const{ return m_routeId; }
262 
263     /**
264      * <p>The route ID.</p>
265      */
RouteIdHasBeenSet()266     inline bool RouteIdHasBeenSet() const { return m_routeIdHasBeenSet; }
267 
268     /**
269      * <p>The route ID.</p>
270      */
SetRouteId(const Aws::String & value)271     inline void SetRouteId(const Aws::String& value) { m_routeIdHasBeenSet = true; m_routeId = value; }
272 
273     /**
274      * <p>The route ID.</p>
275      */
SetRouteId(Aws::String && value)276     inline void SetRouteId(Aws::String&& value) { m_routeIdHasBeenSet = true; m_routeId = std::move(value); }
277 
278     /**
279      * <p>The route ID.</p>
280      */
SetRouteId(const char * value)281     inline void SetRouteId(const char* value) { m_routeIdHasBeenSet = true; m_routeId.assign(value); }
282 
283     /**
284      * <p>The route ID.</p>
285      */
WithRouteId(const Aws::String & value)286     inline CreateRouteResponseRequest& WithRouteId(const Aws::String& value) { SetRouteId(value); return *this;}
287 
288     /**
289      * <p>The route ID.</p>
290      */
WithRouteId(Aws::String && value)291     inline CreateRouteResponseRequest& WithRouteId(Aws::String&& value) { SetRouteId(std::move(value)); return *this;}
292 
293     /**
294      * <p>The route ID.</p>
295      */
WithRouteId(const char * value)296     inline CreateRouteResponseRequest& WithRouteId(const char* value) { SetRouteId(value); return *this;}
297 
298 
299     /**
300      * <p>The route response key.</p>
301      */
GetRouteResponseKey()302     inline const Aws::String& GetRouteResponseKey() const{ return m_routeResponseKey; }
303 
304     /**
305      * <p>The route response key.</p>
306      */
RouteResponseKeyHasBeenSet()307     inline bool RouteResponseKeyHasBeenSet() const { return m_routeResponseKeyHasBeenSet; }
308 
309     /**
310      * <p>The route response key.</p>
311      */
SetRouteResponseKey(const Aws::String & value)312     inline void SetRouteResponseKey(const Aws::String& value) { m_routeResponseKeyHasBeenSet = true; m_routeResponseKey = value; }
313 
314     /**
315      * <p>The route response key.</p>
316      */
SetRouteResponseKey(Aws::String && value)317     inline void SetRouteResponseKey(Aws::String&& value) { m_routeResponseKeyHasBeenSet = true; m_routeResponseKey = std::move(value); }
318 
319     /**
320      * <p>The route response key.</p>
321      */
SetRouteResponseKey(const char * value)322     inline void SetRouteResponseKey(const char* value) { m_routeResponseKeyHasBeenSet = true; m_routeResponseKey.assign(value); }
323 
324     /**
325      * <p>The route response key.</p>
326      */
WithRouteResponseKey(const Aws::String & value)327     inline CreateRouteResponseRequest& WithRouteResponseKey(const Aws::String& value) { SetRouteResponseKey(value); return *this;}
328 
329     /**
330      * <p>The route response key.</p>
331      */
WithRouteResponseKey(Aws::String && value)332     inline CreateRouteResponseRequest& WithRouteResponseKey(Aws::String&& value) { SetRouteResponseKey(std::move(value)); return *this;}
333 
334     /**
335      * <p>The route response key.</p>
336      */
WithRouteResponseKey(const char * value)337     inline CreateRouteResponseRequest& WithRouteResponseKey(const char* value) { SetRouteResponseKey(value); return *this;}
338 
339   private:
340 
341     Aws::String m_apiId;
342     bool m_apiIdHasBeenSet;
343 
344     Aws::String m_modelSelectionExpression;
345     bool m_modelSelectionExpressionHasBeenSet;
346 
347     Aws::Map<Aws::String, Aws::String> m_responseModels;
348     bool m_responseModelsHasBeenSet;
349 
350     Aws::Map<Aws::String, ParameterConstraints> m_responseParameters;
351     bool m_responseParametersHasBeenSet;
352 
353     Aws::String m_routeId;
354     bool m_routeIdHasBeenSet;
355 
356     Aws::String m_routeResponseKey;
357     bool m_routeResponseKeyHasBeenSet;
358   };
359 
360 } // namespace Model
361 } // namespace ApiGatewayV2
362 } // namespace Aws
363