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/securityhub/SecurityHub_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/securityhub/model/AwsCorsConfiguration.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace SecurityHub
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Contains information about a version 2 API in Amazon API
29    * Gateway.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsApiGatewayV2ApiDetails">AWS
31    * API Reference</a></p>
32    */
33   class AWS_SECURITYHUB_API AwsApiGatewayV2ApiDetails
34   {
35   public:
36     AwsApiGatewayV2ApiDetails();
37     AwsApiGatewayV2ApiDetails(Aws::Utils::Json::JsonView jsonValue);
38     AwsApiGatewayV2ApiDetails& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The URI of the API. </p> <p>Uses the format <code>
44      * <i>&lt;api-id&gt;</i>.execute-api.<i>&lt;region&gt;</i>.amazonaws.com</code>
45      * </p> <p>The stage name is typically appended to the URI to form a complete path
46      * to a deployed API stage.</p>
47      */
GetApiEndpoint()48     inline const Aws::String& GetApiEndpoint() const{ return m_apiEndpoint; }
49 
50     /**
51      * <p>The URI of the API. </p> <p>Uses the format <code>
52      * <i>&lt;api-id&gt;</i>.execute-api.<i>&lt;region&gt;</i>.amazonaws.com</code>
53      * </p> <p>The stage name is typically appended to the URI to form a complete path
54      * to a deployed API stage.</p>
55      */
ApiEndpointHasBeenSet()56     inline bool ApiEndpointHasBeenSet() const { return m_apiEndpointHasBeenSet; }
57 
58     /**
59      * <p>The URI of the API. </p> <p>Uses the format <code>
60      * <i>&lt;api-id&gt;</i>.execute-api.<i>&lt;region&gt;</i>.amazonaws.com</code>
61      * </p> <p>The stage name is typically appended to the URI to form a complete path
62      * to a deployed API stage.</p>
63      */
SetApiEndpoint(const Aws::String & value)64     inline void SetApiEndpoint(const Aws::String& value) { m_apiEndpointHasBeenSet = true; m_apiEndpoint = value; }
65 
66     /**
67      * <p>The URI of the API. </p> <p>Uses the format <code>
68      * <i>&lt;api-id&gt;</i>.execute-api.<i>&lt;region&gt;</i>.amazonaws.com</code>
69      * </p> <p>The stage name is typically appended to the URI to form a complete path
70      * to a deployed API stage.</p>
71      */
SetApiEndpoint(Aws::String && value)72     inline void SetApiEndpoint(Aws::String&& value) { m_apiEndpointHasBeenSet = true; m_apiEndpoint = std::move(value); }
73 
74     /**
75      * <p>The URI of the API. </p> <p>Uses the format <code>
76      * <i>&lt;api-id&gt;</i>.execute-api.<i>&lt;region&gt;</i>.amazonaws.com</code>
77      * </p> <p>The stage name is typically appended to the URI to form a complete path
78      * to a deployed API stage.</p>
79      */
SetApiEndpoint(const char * value)80     inline void SetApiEndpoint(const char* value) { m_apiEndpointHasBeenSet = true; m_apiEndpoint.assign(value); }
81 
82     /**
83      * <p>The URI of the API. </p> <p>Uses the format <code>
84      * <i>&lt;api-id&gt;</i>.execute-api.<i>&lt;region&gt;</i>.amazonaws.com</code>
85      * </p> <p>The stage name is typically appended to the URI to form a complete path
86      * to a deployed API stage.</p>
87      */
WithApiEndpoint(const Aws::String & value)88     inline AwsApiGatewayV2ApiDetails& WithApiEndpoint(const Aws::String& value) { SetApiEndpoint(value); return *this;}
89 
90     /**
91      * <p>The URI of the API. </p> <p>Uses the format <code>
92      * <i>&lt;api-id&gt;</i>.execute-api.<i>&lt;region&gt;</i>.amazonaws.com</code>
93      * </p> <p>The stage name is typically appended to the URI to form a complete path
94      * to a deployed API stage.</p>
95      */
WithApiEndpoint(Aws::String && value)96     inline AwsApiGatewayV2ApiDetails& WithApiEndpoint(Aws::String&& value) { SetApiEndpoint(std::move(value)); return *this;}
97 
98     /**
99      * <p>The URI of the API. </p> <p>Uses the format <code>
100      * <i>&lt;api-id&gt;</i>.execute-api.<i>&lt;region&gt;</i>.amazonaws.com</code>
101      * </p> <p>The stage name is typically appended to the URI to form a complete path
102      * to a deployed API stage.</p>
103      */
WithApiEndpoint(const char * value)104     inline AwsApiGatewayV2ApiDetails& WithApiEndpoint(const char* value) { SetApiEndpoint(value); return *this;}
105 
106 
107     /**
108      * <p>The identifier of the API.</p>
109      */
GetApiId()110     inline const Aws::String& GetApiId() const{ return m_apiId; }
111 
112     /**
113      * <p>The identifier of the API.</p>
114      */
ApiIdHasBeenSet()115     inline bool ApiIdHasBeenSet() const { return m_apiIdHasBeenSet; }
116 
117     /**
118      * <p>The identifier of the API.</p>
119      */
SetApiId(const Aws::String & value)120     inline void SetApiId(const Aws::String& value) { m_apiIdHasBeenSet = true; m_apiId = value; }
121 
122     /**
123      * <p>The identifier of the API.</p>
124      */
SetApiId(Aws::String && value)125     inline void SetApiId(Aws::String&& value) { m_apiIdHasBeenSet = true; m_apiId = std::move(value); }
126 
127     /**
128      * <p>The identifier of the API.</p>
129      */
SetApiId(const char * value)130     inline void SetApiId(const char* value) { m_apiIdHasBeenSet = true; m_apiId.assign(value); }
131 
132     /**
133      * <p>The identifier of the API.</p>
134      */
WithApiId(const Aws::String & value)135     inline AwsApiGatewayV2ApiDetails& WithApiId(const Aws::String& value) { SetApiId(value); return *this;}
136 
137     /**
138      * <p>The identifier of the API.</p>
139      */
WithApiId(Aws::String && value)140     inline AwsApiGatewayV2ApiDetails& WithApiId(Aws::String&& value) { SetApiId(std::move(value)); return *this;}
141 
142     /**
143      * <p>The identifier of the API.</p>
144      */
WithApiId(const char * value)145     inline AwsApiGatewayV2ApiDetails& WithApiId(const char* value) { SetApiId(value); return *this;}
146 
147 
148     /**
149      * <p>An API key selection expression. Supported only for WebSocket APIs. </p>
150      */
GetApiKeySelectionExpression()151     inline const Aws::String& GetApiKeySelectionExpression() const{ return m_apiKeySelectionExpression; }
152 
153     /**
154      * <p>An API key selection expression. Supported only for WebSocket APIs. </p>
155      */
ApiKeySelectionExpressionHasBeenSet()156     inline bool ApiKeySelectionExpressionHasBeenSet() const { return m_apiKeySelectionExpressionHasBeenSet; }
157 
158     /**
159      * <p>An API key selection expression. Supported only for WebSocket APIs. </p>
160      */
SetApiKeySelectionExpression(const Aws::String & value)161     inline void SetApiKeySelectionExpression(const Aws::String& value) { m_apiKeySelectionExpressionHasBeenSet = true; m_apiKeySelectionExpression = value; }
162 
163     /**
164      * <p>An API key selection expression. Supported only for WebSocket APIs. </p>
165      */
SetApiKeySelectionExpression(Aws::String && value)166     inline void SetApiKeySelectionExpression(Aws::String&& value) { m_apiKeySelectionExpressionHasBeenSet = true; m_apiKeySelectionExpression = std::move(value); }
167 
168     /**
169      * <p>An API key selection expression. Supported only for WebSocket APIs. </p>
170      */
SetApiKeySelectionExpression(const char * value)171     inline void SetApiKeySelectionExpression(const char* value) { m_apiKeySelectionExpressionHasBeenSet = true; m_apiKeySelectionExpression.assign(value); }
172 
173     /**
174      * <p>An API key selection expression. Supported only for WebSocket APIs. </p>
175      */
WithApiKeySelectionExpression(const Aws::String & value)176     inline AwsApiGatewayV2ApiDetails& WithApiKeySelectionExpression(const Aws::String& value) { SetApiKeySelectionExpression(value); return *this;}
177 
178     /**
179      * <p>An API key selection expression. Supported only for WebSocket APIs. </p>
180      */
WithApiKeySelectionExpression(Aws::String && value)181     inline AwsApiGatewayV2ApiDetails& WithApiKeySelectionExpression(Aws::String&& value) { SetApiKeySelectionExpression(std::move(value)); return *this;}
182 
183     /**
184      * <p>An API key selection expression. Supported only for WebSocket APIs. </p>
185      */
WithApiKeySelectionExpression(const char * value)186     inline AwsApiGatewayV2ApiDetails& WithApiKeySelectionExpression(const char* value) { SetApiKeySelectionExpression(value); return *this;}
187 
188 
189     /**
190      * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code>
191      * format specified in <a
192      * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6,
193      * Internet Date/Time Format</a>. The value cannot contain spaces. For example,
194      * <code>2020-03-22T13:22:13.933Z</code>.</p>
195      */
GetCreatedDate()196     inline const Aws::String& GetCreatedDate() const{ return m_createdDate; }
197 
198     /**
199      * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code>
200      * format specified in <a
201      * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6,
202      * Internet Date/Time Format</a>. The value cannot contain spaces. For example,
203      * <code>2020-03-22T13:22:13.933Z</code>.</p>
204      */
CreatedDateHasBeenSet()205     inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; }
206 
207     /**
208      * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code>
209      * format specified in <a
210      * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6,
211      * Internet Date/Time Format</a>. The value cannot contain spaces. For example,
212      * <code>2020-03-22T13:22:13.933Z</code>.</p>
213      */
SetCreatedDate(const Aws::String & value)214     inline void SetCreatedDate(const Aws::String& value) { m_createdDateHasBeenSet = true; m_createdDate = value; }
215 
216     /**
217      * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code>
218      * format specified in <a
219      * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6,
220      * Internet Date/Time Format</a>. The value cannot contain spaces. For example,
221      * <code>2020-03-22T13:22:13.933Z</code>.</p>
222      */
SetCreatedDate(Aws::String && value)223     inline void SetCreatedDate(Aws::String&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); }
224 
225     /**
226      * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code>
227      * format specified in <a
228      * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6,
229      * Internet Date/Time Format</a>. The value cannot contain spaces. For example,
230      * <code>2020-03-22T13:22:13.933Z</code>.</p>
231      */
SetCreatedDate(const char * value)232     inline void SetCreatedDate(const char* value) { m_createdDateHasBeenSet = true; m_createdDate.assign(value); }
233 
234     /**
235      * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code>
236      * format specified in <a
237      * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6,
238      * Internet Date/Time Format</a>. The value cannot contain spaces. For example,
239      * <code>2020-03-22T13:22:13.933Z</code>.</p>
240      */
WithCreatedDate(const Aws::String & value)241     inline AwsApiGatewayV2ApiDetails& WithCreatedDate(const Aws::String& value) { SetCreatedDate(value); return *this;}
242 
243     /**
244      * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code>
245      * format specified in <a
246      * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6,
247      * Internet Date/Time Format</a>. The value cannot contain spaces. For example,
248      * <code>2020-03-22T13:22:13.933Z</code>.</p>
249      */
WithCreatedDate(Aws::String && value)250     inline AwsApiGatewayV2ApiDetails& WithCreatedDate(Aws::String&& value) { SetCreatedDate(std::move(value)); return *this;}
251 
252     /**
253      * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code>
254      * format specified in <a
255      * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6,
256      * Internet Date/Time Format</a>. The value cannot contain spaces. For example,
257      * <code>2020-03-22T13:22:13.933Z</code>.</p>
258      */
WithCreatedDate(const char * value)259     inline AwsApiGatewayV2ApiDetails& WithCreatedDate(const char* value) { SetCreatedDate(value); return *this;}
260 
261 
262     /**
263      * <p>A description of the API.</p>
264      */
GetDescription()265     inline const Aws::String& GetDescription() const{ return m_description; }
266 
267     /**
268      * <p>A description of the API.</p>
269      */
DescriptionHasBeenSet()270     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
271 
272     /**
273      * <p>A description of the API.</p>
274      */
SetDescription(const Aws::String & value)275     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
276 
277     /**
278      * <p>A description of the API.</p>
279      */
SetDescription(Aws::String && value)280     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
281 
282     /**
283      * <p>A description of the API.</p>
284      */
SetDescription(const char * value)285     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
286 
287     /**
288      * <p>A description of the API.</p>
289      */
WithDescription(const Aws::String & value)290     inline AwsApiGatewayV2ApiDetails& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
291 
292     /**
293      * <p>A description of the API.</p>
294      */
WithDescription(Aws::String && value)295     inline AwsApiGatewayV2ApiDetails& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
296 
297     /**
298      * <p>A description of the API.</p>
299      */
WithDescription(const char * value)300     inline AwsApiGatewayV2ApiDetails& WithDescription(const char* value) { SetDescription(value); return *this;}
301 
302 
303     /**
304      * <p>The version identifier for the API.</p>
305      */
GetVersion()306     inline const Aws::String& GetVersion() const{ return m_version; }
307 
308     /**
309      * <p>The version identifier for the API.</p>
310      */
VersionHasBeenSet()311     inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; }
312 
313     /**
314      * <p>The version identifier for the API.</p>
315      */
SetVersion(const Aws::String & value)316     inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; }
317 
318     /**
319      * <p>The version identifier for the API.</p>
320      */
SetVersion(Aws::String && value)321     inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); }
322 
323     /**
324      * <p>The version identifier for the API.</p>
325      */
SetVersion(const char * value)326     inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); }
327 
328     /**
329      * <p>The version identifier for the API.</p>
330      */
WithVersion(const Aws::String & value)331     inline AwsApiGatewayV2ApiDetails& WithVersion(const Aws::String& value) { SetVersion(value); return *this;}
332 
333     /**
334      * <p>The version identifier for the API.</p>
335      */
WithVersion(Aws::String && value)336     inline AwsApiGatewayV2ApiDetails& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;}
337 
338     /**
339      * <p>The version identifier for the API.</p>
340      */
WithVersion(const char * value)341     inline AwsApiGatewayV2ApiDetails& WithVersion(const char* value) { SetVersion(value); return *this;}
342 
343 
344     /**
345      * <p>The name of the API.</p>
346      */
GetName()347     inline const Aws::String& GetName() const{ return m_name; }
348 
349     /**
350      * <p>The name of the API.</p>
351      */
NameHasBeenSet()352     inline bool NameHasBeenSet() const { return m_nameHasBeenSet; }
353 
354     /**
355      * <p>The name of the API.</p>
356      */
SetName(const Aws::String & value)357     inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; }
358 
359     /**
360      * <p>The name of the API.</p>
361      */
SetName(Aws::String && value)362     inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); }
363 
364     /**
365      * <p>The name of the API.</p>
366      */
SetName(const char * value)367     inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); }
368 
369     /**
370      * <p>The name of the API.</p>
371      */
WithName(const Aws::String & value)372     inline AwsApiGatewayV2ApiDetails& WithName(const Aws::String& value) { SetName(value); return *this;}
373 
374     /**
375      * <p>The name of the API.</p>
376      */
WithName(Aws::String && value)377     inline AwsApiGatewayV2ApiDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;}
378 
379     /**
380      * <p>The name of the API.</p>
381      */
WithName(const char * value)382     inline AwsApiGatewayV2ApiDetails& WithName(const char* value) { SetName(value); return *this;}
383 
384 
385     /**
386      * <p>The API protocol for the API.</p> <p>Valid values: <code>WEBSOCKET</code> |
387      * <code>HTTP</code> </p>
388      */
GetProtocolType()389     inline const Aws::String& GetProtocolType() const{ return m_protocolType; }
390 
391     /**
392      * <p>The API protocol for the API.</p> <p>Valid values: <code>WEBSOCKET</code> |
393      * <code>HTTP</code> </p>
394      */
ProtocolTypeHasBeenSet()395     inline bool ProtocolTypeHasBeenSet() const { return m_protocolTypeHasBeenSet; }
396 
397     /**
398      * <p>The API protocol for the API.</p> <p>Valid values: <code>WEBSOCKET</code> |
399      * <code>HTTP</code> </p>
400      */
SetProtocolType(const Aws::String & value)401     inline void SetProtocolType(const Aws::String& value) { m_protocolTypeHasBeenSet = true; m_protocolType = value; }
402 
403     /**
404      * <p>The API protocol for the API.</p> <p>Valid values: <code>WEBSOCKET</code> |
405      * <code>HTTP</code> </p>
406      */
SetProtocolType(Aws::String && value)407     inline void SetProtocolType(Aws::String&& value) { m_protocolTypeHasBeenSet = true; m_protocolType = std::move(value); }
408 
409     /**
410      * <p>The API protocol for the API.</p> <p>Valid values: <code>WEBSOCKET</code> |
411      * <code>HTTP</code> </p>
412      */
SetProtocolType(const char * value)413     inline void SetProtocolType(const char* value) { m_protocolTypeHasBeenSet = true; m_protocolType.assign(value); }
414 
415     /**
416      * <p>The API protocol for the API.</p> <p>Valid values: <code>WEBSOCKET</code> |
417      * <code>HTTP</code> </p>
418      */
WithProtocolType(const Aws::String & value)419     inline AwsApiGatewayV2ApiDetails& WithProtocolType(const Aws::String& value) { SetProtocolType(value); return *this;}
420 
421     /**
422      * <p>The API protocol for the API.</p> <p>Valid values: <code>WEBSOCKET</code> |
423      * <code>HTTP</code> </p>
424      */
WithProtocolType(Aws::String && value)425     inline AwsApiGatewayV2ApiDetails& WithProtocolType(Aws::String&& value) { SetProtocolType(std::move(value)); return *this;}
426 
427     /**
428      * <p>The API protocol for the API.</p> <p>Valid values: <code>WEBSOCKET</code> |
429      * <code>HTTP</code> </p>
430      */
WithProtocolType(const char * value)431     inline AwsApiGatewayV2ApiDetails& WithProtocolType(const char* value) { SetProtocolType(value); return *this;}
432 
433 
434     /**
435      * <p>The route selection expression for the API.</p> <p>For HTTP APIs, must be
436      * <code>${request.method} ${request.path}</code>. This is the default value for
437      * HTTP APIs.</p> <p>For WebSocket APIs, there is no default value.</p>
438      */
GetRouteSelectionExpression()439     inline const Aws::String& GetRouteSelectionExpression() const{ return m_routeSelectionExpression; }
440 
441     /**
442      * <p>The route selection expression for the API.</p> <p>For HTTP APIs, must be
443      * <code>${request.method} ${request.path}</code>. This is the default value for
444      * HTTP APIs.</p> <p>For WebSocket APIs, there is no default value.</p>
445      */
RouteSelectionExpressionHasBeenSet()446     inline bool RouteSelectionExpressionHasBeenSet() const { return m_routeSelectionExpressionHasBeenSet; }
447 
448     /**
449      * <p>The route selection expression for the API.</p> <p>For HTTP APIs, must be
450      * <code>${request.method} ${request.path}</code>. This is the default value for
451      * HTTP APIs.</p> <p>For WebSocket APIs, there is no default value.</p>
452      */
SetRouteSelectionExpression(const Aws::String & value)453     inline void SetRouteSelectionExpression(const Aws::String& value) { m_routeSelectionExpressionHasBeenSet = true; m_routeSelectionExpression = value; }
454 
455     /**
456      * <p>The route selection expression for the API.</p> <p>For HTTP APIs, must be
457      * <code>${request.method} ${request.path}</code>. This is the default value for
458      * HTTP APIs.</p> <p>For WebSocket APIs, there is no default value.</p>
459      */
SetRouteSelectionExpression(Aws::String && value)460     inline void SetRouteSelectionExpression(Aws::String&& value) { m_routeSelectionExpressionHasBeenSet = true; m_routeSelectionExpression = std::move(value); }
461 
462     /**
463      * <p>The route selection expression for the API.</p> <p>For HTTP APIs, must be
464      * <code>${request.method} ${request.path}</code>. This is the default value for
465      * HTTP APIs.</p> <p>For WebSocket APIs, there is no default value.</p>
466      */
SetRouteSelectionExpression(const char * value)467     inline void SetRouteSelectionExpression(const char* value) { m_routeSelectionExpressionHasBeenSet = true; m_routeSelectionExpression.assign(value); }
468 
469     /**
470      * <p>The route selection expression for the API.</p> <p>For HTTP APIs, must be
471      * <code>${request.method} ${request.path}</code>. This is the default value for
472      * HTTP APIs.</p> <p>For WebSocket APIs, there is no default value.</p>
473      */
WithRouteSelectionExpression(const Aws::String & value)474     inline AwsApiGatewayV2ApiDetails& WithRouteSelectionExpression(const Aws::String& value) { SetRouteSelectionExpression(value); return *this;}
475 
476     /**
477      * <p>The route selection expression for the API.</p> <p>For HTTP APIs, must be
478      * <code>${request.method} ${request.path}</code>. This is the default value for
479      * HTTP APIs.</p> <p>For WebSocket APIs, there is no default value.</p>
480      */
WithRouteSelectionExpression(Aws::String && value)481     inline AwsApiGatewayV2ApiDetails& WithRouteSelectionExpression(Aws::String&& value) { SetRouteSelectionExpression(std::move(value)); return *this;}
482 
483     /**
484      * <p>The route selection expression for the API.</p> <p>For HTTP APIs, must be
485      * <code>${request.method} ${request.path}</code>. This is the default value for
486      * HTTP APIs.</p> <p>For WebSocket APIs, there is no default value.</p>
487      */
WithRouteSelectionExpression(const char * value)488     inline AwsApiGatewayV2ApiDetails& WithRouteSelectionExpression(const char* value) { SetRouteSelectionExpression(value); return *this;}
489 
490 
491     /**
492      * <p>A cross-origin resource sharing (CORS) configuration. Supported only for HTTP
493      * APIs.</p>
494      */
GetCorsConfiguration()495     inline const AwsCorsConfiguration& GetCorsConfiguration() const{ return m_corsConfiguration; }
496 
497     /**
498      * <p>A cross-origin resource sharing (CORS) configuration. Supported only for HTTP
499      * APIs.</p>
500      */
CorsConfigurationHasBeenSet()501     inline bool CorsConfigurationHasBeenSet() const { return m_corsConfigurationHasBeenSet; }
502 
503     /**
504      * <p>A cross-origin resource sharing (CORS) configuration. Supported only for HTTP
505      * APIs.</p>
506      */
SetCorsConfiguration(const AwsCorsConfiguration & value)507     inline void SetCorsConfiguration(const AwsCorsConfiguration& value) { m_corsConfigurationHasBeenSet = true; m_corsConfiguration = value; }
508 
509     /**
510      * <p>A cross-origin resource sharing (CORS) configuration. Supported only for HTTP
511      * APIs.</p>
512      */
SetCorsConfiguration(AwsCorsConfiguration && value)513     inline void SetCorsConfiguration(AwsCorsConfiguration&& value) { m_corsConfigurationHasBeenSet = true; m_corsConfiguration = std::move(value); }
514 
515     /**
516      * <p>A cross-origin resource sharing (CORS) configuration. Supported only for HTTP
517      * APIs.</p>
518      */
WithCorsConfiguration(const AwsCorsConfiguration & value)519     inline AwsApiGatewayV2ApiDetails& WithCorsConfiguration(const AwsCorsConfiguration& value) { SetCorsConfiguration(value); return *this;}
520 
521     /**
522      * <p>A cross-origin resource sharing (CORS) configuration. Supported only for HTTP
523      * APIs.</p>
524      */
WithCorsConfiguration(AwsCorsConfiguration && value)525     inline AwsApiGatewayV2ApiDetails& WithCorsConfiguration(AwsCorsConfiguration&& value) { SetCorsConfiguration(std::move(value)); return *this;}
526 
527   private:
528 
529     Aws::String m_apiEndpoint;
530     bool m_apiEndpointHasBeenSet;
531 
532     Aws::String m_apiId;
533     bool m_apiIdHasBeenSet;
534 
535     Aws::String m_apiKeySelectionExpression;
536     bool m_apiKeySelectionExpressionHasBeenSet;
537 
538     Aws::String m_createdDate;
539     bool m_createdDateHasBeenSet;
540 
541     Aws::String m_description;
542     bool m_descriptionHasBeenSet;
543 
544     Aws::String m_version;
545     bool m_versionHasBeenSet;
546 
547     Aws::String m_name;
548     bool m_nameHasBeenSet;
549 
550     Aws::String m_protocolType;
551     bool m_protocolTypeHasBeenSet;
552 
553     Aws::String m_routeSelectionExpression;
554     bool m_routeSelectionExpressionHasBeenSet;
555 
556     AwsCorsConfiguration m_corsConfiguration;
557     bool m_corsConfigurationHasBeenSet;
558   };
559 
560 } // namespace Model
561 } // namespace SecurityHub
562 } // namespace Aws
563