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/core/utils/memory/stl/AWSVector.h> 10 #include <aws/securityhub/model/AwsApiGatewayEndpointConfiguration.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace Utils 16 { 17 namespace Json 18 { 19 class JsonValue; 20 class JsonView; 21 } // namespace Json 22 } // namespace Utils 23 namespace SecurityHub 24 { 25 namespace Model 26 { 27 28 /** 29 * <p>Contains information about a REST API in version 1 of Amazon API 30 * Gateway.</p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsApiGatewayRestApiDetails">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_SECURITYHUB_API AwsApiGatewayRestApiDetails 35 { 36 public: 37 AwsApiGatewayRestApiDetails(); 38 AwsApiGatewayRestApiDetails(Aws::Utils::Json::JsonView jsonValue); 39 AwsApiGatewayRestApiDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 /** 44 * <p>The identifier of the REST API.</p> 45 */ GetId()46 inline const Aws::String& GetId() const{ return m_id; } 47 48 /** 49 * <p>The identifier of the REST API.</p> 50 */ IdHasBeenSet()51 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 52 53 /** 54 * <p>The identifier of the REST API.</p> 55 */ SetId(const Aws::String & value)56 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 57 58 /** 59 * <p>The identifier of the REST API.</p> 60 */ SetId(Aws::String && value)61 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 62 63 /** 64 * <p>The identifier of the REST API.</p> 65 */ SetId(const char * value)66 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 67 68 /** 69 * <p>The identifier of the REST API.</p> 70 */ WithId(const Aws::String & value)71 inline AwsApiGatewayRestApiDetails& WithId(const Aws::String& value) { SetId(value); return *this;} 72 73 /** 74 * <p>The identifier of the REST API.</p> 75 */ WithId(Aws::String && value)76 inline AwsApiGatewayRestApiDetails& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 77 78 /** 79 * <p>The identifier of the REST API.</p> 80 */ WithId(const char * value)81 inline AwsApiGatewayRestApiDetails& WithId(const char* value) { SetId(value); return *this;} 82 83 84 /** 85 * <p>The name of the REST API.</p> 86 */ GetName()87 inline const Aws::String& GetName() const{ return m_name; } 88 89 /** 90 * <p>The name of the REST API.</p> 91 */ NameHasBeenSet()92 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 93 94 /** 95 * <p>The name of the REST API.</p> 96 */ SetName(const Aws::String & value)97 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 98 99 /** 100 * <p>The name of the REST API.</p> 101 */ SetName(Aws::String && value)102 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 103 104 /** 105 * <p>The name of the REST API.</p> 106 */ SetName(const char * value)107 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 108 109 /** 110 * <p>The name of the REST API.</p> 111 */ WithName(const Aws::String & value)112 inline AwsApiGatewayRestApiDetails& WithName(const Aws::String& value) { SetName(value); return *this;} 113 114 /** 115 * <p>The name of the REST API.</p> 116 */ WithName(Aws::String && value)117 inline AwsApiGatewayRestApiDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 118 119 /** 120 * <p>The name of the REST API.</p> 121 */ WithName(const char * value)122 inline AwsApiGatewayRestApiDetails& WithName(const char* value) { SetName(value); return *this;} 123 124 125 /** 126 * <p>A description of the REST API.</p> 127 */ GetDescription()128 inline const Aws::String& GetDescription() const{ return m_description; } 129 130 /** 131 * <p>A description of the REST API.</p> 132 */ DescriptionHasBeenSet()133 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 134 135 /** 136 * <p>A description of the REST API.</p> 137 */ SetDescription(const Aws::String & value)138 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 139 140 /** 141 * <p>A description of the REST API.</p> 142 */ SetDescription(Aws::String && value)143 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 144 145 /** 146 * <p>A description of the REST API.</p> 147 */ SetDescription(const char * value)148 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 149 150 /** 151 * <p>A description of the REST API.</p> 152 */ WithDescription(const Aws::String & value)153 inline AwsApiGatewayRestApiDetails& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 154 155 /** 156 * <p>A description of the REST API.</p> 157 */ WithDescription(Aws::String && value)158 inline AwsApiGatewayRestApiDetails& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 159 160 /** 161 * <p>A description of the REST API.</p> 162 */ WithDescription(const char * value)163 inline AwsApiGatewayRestApiDetails& WithDescription(const char* value) { SetDescription(value); return *this;} 164 165 166 /** 167 * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code> 168 * format specified in <a 169 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 170 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 171 * <code>2020-03-22T13:22:13.933Z</code>.</p> 172 */ GetCreatedDate()173 inline const Aws::String& GetCreatedDate() const{ return m_createdDate; } 174 175 /** 176 * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code> 177 * format specified in <a 178 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 179 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 180 * <code>2020-03-22T13:22:13.933Z</code>.</p> 181 */ CreatedDateHasBeenSet()182 inline bool CreatedDateHasBeenSet() const { return m_createdDateHasBeenSet; } 183 184 /** 185 * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code> 186 * format specified in <a 187 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 188 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 189 * <code>2020-03-22T13:22:13.933Z</code>.</p> 190 */ SetCreatedDate(const Aws::String & value)191 inline void SetCreatedDate(const Aws::String& value) { m_createdDateHasBeenSet = true; m_createdDate = value; } 192 193 /** 194 * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code> 195 * format specified in <a 196 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 197 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 198 * <code>2020-03-22T13:22:13.933Z</code>.</p> 199 */ SetCreatedDate(Aws::String && value)200 inline void SetCreatedDate(Aws::String&& value) { m_createdDateHasBeenSet = true; m_createdDate = std::move(value); } 201 202 /** 203 * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code> 204 * format specified in <a 205 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 206 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 207 * <code>2020-03-22T13:22:13.933Z</code>.</p> 208 */ SetCreatedDate(const char * value)209 inline void SetCreatedDate(const char* value) { m_createdDateHasBeenSet = true; m_createdDate.assign(value); } 210 211 /** 212 * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code> 213 * format specified in <a 214 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 215 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 216 * <code>2020-03-22T13:22:13.933Z</code>.</p> 217 */ WithCreatedDate(const Aws::String & value)218 inline AwsApiGatewayRestApiDetails& WithCreatedDate(const Aws::String& value) { SetCreatedDate(value); return *this;} 219 220 /** 221 * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code> 222 * format specified in <a 223 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 224 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 225 * <code>2020-03-22T13:22:13.933Z</code>.</p> 226 */ WithCreatedDate(Aws::String && value)227 inline AwsApiGatewayRestApiDetails& WithCreatedDate(Aws::String&& value) { SetCreatedDate(std::move(value)); return *this;} 228 229 /** 230 * <p>Indicates when the API was created.</p> <p>Uses the <code>date-time</code> 231 * format specified in <a 232 * href="https://tools.ietf.org/html/rfc3339#section-5.6">RFC 3339 section 5.6, 233 * Internet Date/Time Format</a>. The value cannot contain spaces. For example, 234 * <code>2020-03-22T13:22:13.933Z</code>.</p> 235 */ WithCreatedDate(const char * value)236 inline AwsApiGatewayRestApiDetails& WithCreatedDate(const char* value) { SetCreatedDate(value); return *this;} 237 238 239 /** 240 * <p>The version identifier for the REST API.</p> 241 */ GetVersion()242 inline const Aws::String& GetVersion() const{ return m_version; } 243 244 /** 245 * <p>The version identifier for the REST API.</p> 246 */ VersionHasBeenSet()247 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } 248 249 /** 250 * <p>The version identifier for the REST API.</p> 251 */ SetVersion(const Aws::String & value)252 inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } 253 254 /** 255 * <p>The version identifier for the REST API.</p> 256 */ SetVersion(Aws::String && value)257 inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } 258 259 /** 260 * <p>The version identifier for the REST API.</p> 261 */ SetVersion(const char * value)262 inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } 263 264 /** 265 * <p>The version identifier for the REST API.</p> 266 */ WithVersion(const Aws::String & value)267 inline AwsApiGatewayRestApiDetails& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} 268 269 /** 270 * <p>The version identifier for the REST API.</p> 271 */ WithVersion(Aws::String && value)272 inline AwsApiGatewayRestApiDetails& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} 273 274 /** 275 * <p>The version identifier for the REST API.</p> 276 */ WithVersion(const char * value)277 inline AwsApiGatewayRestApiDetails& WithVersion(const char* value) { SetVersion(value); return *this;} 278 279 280 /** 281 * <p>The list of binary media types supported by the REST API.</p> 282 */ GetBinaryMediaTypes()283 inline const Aws::Vector<Aws::String>& GetBinaryMediaTypes() const{ return m_binaryMediaTypes; } 284 285 /** 286 * <p>The list of binary media types supported by the REST API.</p> 287 */ BinaryMediaTypesHasBeenSet()288 inline bool BinaryMediaTypesHasBeenSet() const { return m_binaryMediaTypesHasBeenSet; } 289 290 /** 291 * <p>The list of binary media types supported by the REST API.</p> 292 */ SetBinaryMediaTypes(const Aws::Vector<Aws::String> & value)293 inline void SetBinaryMediaTypes(const Aws::Vector<Aws::String>& value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes = value; } 294 295 /** 296 * <p>The list of binary media types supported by the REST API.</p> 297 */ SetBinaryMediaTypes(Aws::Vector<Aws::String> && value)298 inline void SetBinaryMediaTypes(Aws::Vector<Aws::String>&& value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes = std::move(value); } 299 300 /** 301 * <p>The list of binary media types supported by the REST API.</p> 302 */ WithBinaryMediaTypes(const Aws::Vector<Aws::String> & value)303 inline AwsApiGatewayRestApiDetails& WithBinaryMediaTypes(const Aws::Vector<Aws::String>& value) { SetBinaryMediaTypes(value); return *this;} 304 305 /** 306 * <p>The list of binary media types supported by the REST API.</p> 307 */ WithBinaryMediaTypes(Aws::Vector<Aws::String> && value)308 inline AwsApiGatewayRestApiDetails& WithBinaryMediaTypes(Aws::Vector<Aws::String>&& value) { SetBinaryMediaTypes(std::move(value)); return *this;} 309 310 /** 311 * <p>The list of binary media types supported by the REST API.</p> 312 */ AddBinaryMediaTypes(const Aws::String & value)313 inline AwsApiGatewayRestApiDetails& AddBinaryMediaTypes(const Aws::String& value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes.push_back(value); return *this; } 314 315 /** 316 * <p>The list of binary media types supported by the REST API.</p> 317 */ AddBinaryMediaTypes(Aws::String && value)318 inline AwsApiGatewayRestApiDetails& AddBinaryMediaTypes(Aws::String&& value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes.push_back(std::move(value)); return *this; } 319 320 /** 321 * <p>The list of binary media types supported by the REST API.</p> 322 */ AddBinaryMediaTypes(const char * value)323 inline AwsApiGatewayRestApiDetails& AddBinaryMediaTypes(const char* value) { m_binaryMediaTypesHasBeenSet = true; m_binaryMediaTypes.push_back(value); return *this; } 324 325 326 /** 327 * <p>The minimum size in bytes of a payload before compression is enabled.</p> 328 * <p>If <code>null</code>, then compression is disabled.</p> <p>If 0, then all 329 * payloads are compressed.</p> 330 */ GetMinimumCompressionSize()331 inline int GetMinimumCompressionSize() const{ return m_minimumCompressionSize; } 332 333 /** 334 * <p>The minimum size in bytes of a payload before compression is enabled.</p> 335 * <p>If <code>null</code>, then compression is disabled.</p> <p>If 0, then all 336 * payloads are compressed.</p> 337 */ MinimumCompressionSizeHasBeenSet()338 inline bool MinimumCompressionSizeHasBeenSet() const { return m_minimumCompressionSizeHasBeenSet; } 339 340 /** 341 * <p>The minimum size in bytes of a payload before compression is enabled.</p> 342 * <p>If <code>null</code>, then compression is disabled.</p> <p>If 0, then all 343 * payloads are compressed.</p> 344 */ SetMinimumCompressionSize(int value)345 inline void SetMinimumCompressionSize(int value) { m_minimumCompressionSizeHasBeenSet = true; m_minimumCompressionSize = value; } 346 347 /** 348 * <p>The minimum size in bytes of a payload before compression is enabled.</p> 349 * <p>If <code>null</code>, then compression is disabled.</p> <p>If 0, then all 350 * payloads are compressed.</p> 351 */ WithMinimumCompressionSize(int value)352 inline AwsApiGatewayRestApiDetails& WithMinimumCompressionSize(int value) { SetMinimumCompressionSize(value); return *this;} 353 354 355 /** 356 * <p>The source of the API key for metering requests according to a usage 357 * plan.</p> <p> <code>HEADER</code> indicates whether to read the API key from the 358 * X-API-Key header of a request.</p> <p> <code>AUTHORIZER</code> indicates whether 359 * to read the API key from the <code>UsageIdentifierKey</code> from a custom 360 * authorizer.</p> 361 */ GetApiKeySource()362 inline const Aws::String& GetApiKeySource() const{ return m_apiKeySource; } 363 364 /** 365 * <p>The source of the API key for metering requests according to a usage 366 * plan.</p> <p> <code>HEADER</code> indicates whether to read the API key from the 367 * X-API-Key header of a request.</p> <p> <code>AUTHORIZER</code> indicates whether 368 * to read the API key from the <code>UsageIdentifierKey</code> from a custom 369 * authorizer.</p> 370 */ ApiKeySourceHasBeenSet()371 inline bool ApiKeySourceHasBeenSet() const { return m_apiKeySourceHasBeenSet; } 372 373 /** 374 * <p>The source of the API key for metering requests according to a usage 375 * plan.</p> <p> <code>HEADER</code> indicates whether to read the API key from the 376 * X-API-Key header of a request.</p> <p> <code>AUTHORIZER</code> indicates whether 377 * to read the API key from the <code>UsageIdentifierKey</code> from a custom 378 * authorizer.</p> 379 */ SetApiKeySource(const Aws::String & value)380 inline void SetApiKeySource(const Aws::String& value) { m_apiKeySourceHasBeenSet = true; m_apiKeySource = value; } 381 382 /** 383 * <p>The source of the API key for metering requests according to a usage 384 * plan.</p> <p> <code>HEADER</code> indicates whether to read the API key from the 385 * X-API-Key header of a request.</p> <p> <code>AUTHORIZER</code> indicates whether 386 * to read the API key from the <code>UsageIdentifierKey</code> from a custom 387 * authorizer.</p> 388 */ SetApiKeySource(Aws::String && value)389 inline void SetApiKeySource(Aws::String&& value) { m_apiKeySourceHasBeenSet = true; m_apiKeySource = std::move(value); } 390 391 /** 392 * <p>The source of the API key for metering requests according to a usage 393 * plan.</p> <p> <code>HEADER</code> indicates whether to read the API key from the 394 * X-API-Key header of a request.</p> <p> <code>AUTHORIZER</code> indicates whether 395 * to read the API key from the <code>UsageIdentifierKey</code> from a custom 396 * authorizer.</p> 397 */ SetApiKeySource(const char * value)398 inline void SetApiKeySource(const char* value) { m_apiKeySourceHasBeenSet = true; m_apiKeySource.assign(value); } 399 400 /** 401 * <p>The source of the API key for metering requests according to a usage 402 * plan.</p> <p> <code>HEADER</code> indicates whether to read the API key from the 403 * X-API-Key header of a request.</p> <p> <code>AUTHORIZER</code> indicates whether 404 * to read the API key from the <code>UsageIdentifierKey</code> from a custom 405 * authorizer.</p> 406 */ WithApiKeySource(const Aws::String & value)407 inline AwsApiGatewayRestApiDetails& WithApiKeySource(const Aws::String& value) { SetApiKeySource(value); return *this;} 408 409 /** 410 * <p>The source of the API key for metering requests according to a usage 411 * plan.</p> <p> <code>HEADER</code> indicates whether to read the API key from the 412 * X-API-Key header of a request.</p> <p> <code>AUTHORIZER</code> indicates whether 413 * to read the API key from the <code>UsageIdentifierKey</code> from a custom 414 * authorizer.</p> 415 */ WithApiKeySource(Aws::String && value)416 inline AwsApiGatewayRestApiDetails& WithApiKeySource(Aws::String&& value) { SetApiKeySource(std::move(value)); return *this;} 417 418 /** 419 * <p>The source of the API key for metering requests according to a usage 420 * plan.</p> <p> <code>HEADER</code> indicates whether to read the API key from the 421 * X-API-Key header of a request.</p> <p> <code>AUTHORIZER</code> indicates whether 422 * to read the API key from the <code>UsageIdentifierKey</code> from a custom 423 * authorizer.</p> 424 */ WithApiKeySource(const char * value)425 inline AwsApiGatewayRestApiDetails& WithApiKeySource(const char* value) { SetApiKeySource(value); return *this;} 426 427 428 /** 429 * <p>The endpoint configuration of the REST API.</p> 430 */ GetEndpointConfiguration()431 inline const AwsApiGatewayEndpointConfiguration& GetEndpointConfiguration() const{ return m_endpointConfiguration; } 432 433 /** 434 * <p>The endpoint configuration of the REST API.</p> 435 */ EndpointConfigurationHasBeenSet()436 inline bool EndpointConfigurationHasBeenSet() const { return m_endpointConfigurationHasBeenSet; } 437 438 /** 439 * <p>The endpoint configuration of the REST API.</p> 440 */ SetEndpointConfiguration(const AwsApiGatewayEndpointConfiguration & value)441 inline void SetEndpointConfiguration(const AwsApiGatewayEndpointConfiguration& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = value; } 442 443 /** 444 * <p>The endpoint configuration of the REST API.</p> 445 */ SetEndpointConfiguration(AwsApiGatewayEndpointConfiguration && value)446 inline void SetEndpointConfiguration(AwsApiGatewayEndpointConfiguration&& value) { m_endpointConfigurationHasBeenSet = true; m_endpointConfiguration = std::move(value); } 447 448 /** 449 * <p>The endpoint configuration of the REST API.</p> 450 */ WithEndpointConfiguration(const AwsApiGatewayEndpointConfiguration & value)451 inline AwsApiGatewayRestApiDetails& WithEndpointConfiguration(const AwsApiGatewayEndpointConfiguration& value) { SetEndpointConfiguration(value); return *this;} 452 453 /** 454 * <p>The endpoint configuration of the REST API.</p> 455 */ WithEndpointConfiguration(AwsApiGatewayEndpointConfiguration && value)456 inline AwsApiGatewayRestApiDetails& WithEndpointConfiguration(AwsApiGatewayEndpointConfiguration&& value) { SetEndpointConfiguration(std::move(value)); return *this;} 457 458 private: 459 460 Aws::String m_id; 461 bool m_idHasBeenSet; 462 463 Aws::String m_name; 464 bool m_nameHasBeenSet; 465 466 Aws::String m_description; 467 bool m_descriptionHasBeenSet; 468 469 Aws::String m_createdDate; 470 bool m_createdDateHasBeenSet; 471 472 Aws::String m_version; 473 bool m_versionHasBeenSet; 474 475 Aws::Vector<Aws::String> m_binaryMediaTypes; 476 bool m_binaryMediaTypesHasBeenSet; 477 478 int m_minimumCompressionSize; 479 bool m_minimumCompressionSizeHasBeenSet; 480 481 Aws::String m_apiKeySource; 482 bool m_apiKeySourceHasBeenSet; 483 484 AwsApiGatewayEndpointConfiguration m_endpointConfiguration; 485 bool m_endpointConfigurationHasBeenSet; 486 }; 487 488 } // namespace Model 489 } // namespace SecurityHub 490 } // namespace Aws 491