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/AWSVector.h> 9 #include <aws/core/utils/memory/stl/AWSString.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 the endpoints for the API.</p><p><h3>See 29 * Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsApiGatewayEndpointConfiguration">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_SECURITYHUB_API AwsApiGatewayEndpointConfiguration 34 { 35 public: 36 AwsApiGatewayEndpointConfiguration(); 37 AwsApiGatewayEndpointConfiguration(Aws::Utils::Json::JsonView jsonValue); 38 AwsApiGatewayEndpointConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 44 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 45 * <code>REGIONAL</code>. For a private API, the endpoint type is 46 * <code>PRIVATE</code>.</p> 47 */ GetTypes()48 inline const Aws::Vector<Aws::String>& GetTypes() const{ return m_types; } 49 50 /** 51 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 52 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 53 * <code>REGIONAL</code>. For a private API, the endpoint type is 54 * <code>PRIVATE</code>.</p> 55 */ TypesHasBeenSet()56 inline bool TypesHasBeenSet() const { return m_typesHasBeenSet; } 57 58 /** 59 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 60 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 61 * <code>REGIONAL</code>. For a private API, the endpoint type is 62 * <code>PRIVATE</code>.</p> 63 */ SetTypes(const Aws::Vector<Aws::String> & value)64 inline void SetTypes(const Aws::Vector<Aws::String>& value) { m_typesHasBeenSet = true; m_types = value; } 65 66 /** 67 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 68 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 69 * <code>REGIONAL</code>. For a private API, the endpoint type is 70 * <code>PRIVATE</code>.</p> 71 */ SetTypes(Aws::Vector<Aws::String> && value)72 inline void SetTypes(Aws::Vector<Aws::String>&& value) { m_typesHasBeenSet = true; m_types = std::move(value); } 73 74 /** 75 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 76 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 77 * <code>REGIONAL</code>. For a private API, the endpoint type is 78 * <code>PRIVATE</code>.</p> 79 */ WithTypes(const Aws::Vector<Aws::String> & value)80 inline AwsApiGatewayEndpointConfiguration& WithTypes(const Aws::Vector<Aws::String>& value) { SetTypes(value); return *this;} 81 82 /** 83 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 84 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 85 * <code>REGIONAL</code>. For a private API, the endpoint type is 86 * <code>PRIVATE</code>.</p> 87 */ WithTypes(Aws::Vector<Aws::String> && value)88 inline AwsApiGatewayEndpointConfiguration& WithTypes(Aws::Vector<Aws::String>&& value) { SetTypes(std::move(value)); return *this;} 89 90 /** 91 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 92 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 93 * <code>REGIONAL</code>. For a private API, the endpoint type is 94 * <code>PRIVATE</code>.</p> 95 */ AddTypes(const Aws::String & value)96 inline AwsApiGatewayEndpointConfiguration& AddTypes(const Aws::String& value) { m_typesHasBeenSet = true; m_types.push_back(value); return *this; } 97 98 /** 99 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 100 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 101 * <code>REGIONAL</code>. For a private API, the endpoint type is 102 * <code>PRIVATE</code>.</p> 103 */ AddTypes(Aws::String && value)104 inline AwsApiGatewayEndpointConfiguration& AddTypes(Aws::String&& value) { m_typesHasBeenSet = true; m_types.push_back(std::move(value)); return *this; } 105 106 /** 107 * <p>A list of endpoint types for the REST API.</p> <p>For an edge-optimized API, 108 * the endpoint type is <code>EDGE</code>. For a Regional API, the endpoint type is 109 * <code>REGIONAL</code>. For a private API, the endpoint type is 110 * <code>PRIVATE</code>.</p> 111 */ AddTypes(const char * value)112 inline AwsApiGatewayEndpointConfiguration& AddTypes(const char* value) { m_typesHasBeenSet = true; m_types.push_back(value); return *this; } 113 114 private: 115 116 Aws::Vector<Aws::String> m_types; 117 bool m_typesHasBeenSet; 118 }; 119 120 } // namespace Model 121 } // namespace SecurityHub 122 } // namespace Aws 123