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 the cross-origin resource sharing (CORS) configuration for the API. 29 * CORS is only supported for HTTP APIs.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsCorsConfiguration">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_SECURITYHUB_API AwsCorsConfiguration 34 { 35 public: 36 AwsCorsConfiguration(); 37 AwsCorsConfiguration(Aws::Utils::Json::JsonView jsonValue); 38 AwsCorsConfiguration& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The allowed origins for CORS requests.</p> 44 */ GetAllowOrigins()45 inline const Aws::Vector<Aws::String>& GetAllowOrigins() const{ return m_allowOrigins; } 46 47 /** 48 * <p>The allowed origins for CORS requests.</p> 49 */ AllowOriginsHasBeenSet()50 inline bool AllowOriginsHasBeenSet() const { return m_allowOriginsHasBeenSet; } 51 52 /** 53 * <p>The allowed origins for CORS requests.</p> 54 */ SetAllowOrigins(const Aws::Vector<Aws::String> & value)55 inline void SetAllowOrigins(const Aws::Vector<Aws::String>& value) { m_allowOriginsHasBeenSet = true; m_allowOrigins = value; } 56 57 /** 58 * <p>The allowed origins for CORS requests.</p> 59 */ SetAllowOrigins(Aws::Vector<Aws::String> && value)60 inline void SetAllowOrigins(Aws::Vector<Aws::String>&& value) { m_allowOriginsHasBeenSet = true; m_allowOrigins = std::move(value); } 61 62 /** 63 * <p>The allowed origins for CORS requests.</p> 64 */ WithAllowOrigins(const Aws::Vector<Aws::String> & value)65 inline AwsCorsConfiguration& WithAllowOrigins(const Aws::Vector<Aws::String>& value) { SetAllowOrigins(value); return *this;} 66 67 /** 68 * <p>The allowed origins for CORS requests.</p> 69 */ WithAllowOrigins(Aws::Vector<Aws::String> && value)70 inline AwsCorsConfiguration& WithAllowOrigins(Aws::Vector<Aws::String>&& value) { SetAllowOrigins(std::move(value)); return *this;} 71 72 /** 73 * <p>The allowed origins for CORS requests.</p> 74 */ AddAllowOrigins(const Aws::String & value)75 inline AwsCorsConfiguration& AddAllowOrigins(const Aws::String& value) { m_allowOriginsHasBeenSet = true; m_allowOrigins.push_back(value); return *this; } 76 77 /** 78 * <p>The allowed origins for CORS requests.</p> 79 */ AddAllowOrigins(Aws::String && value)80 inline AwsCorsConfiguration& AddAllowOrigins(Aws::String&& value) { m_allowOriginsHasBeenSet = true; m_allowOrigins.push_back(std::move(value)); return *this; } 81 82 /** 83 * <p>The allowed origins for CORS requests.</p> 84 */ AddAllowOrigins(const char * value)85 inline AwsCorsConfiguration& AddAllowOrigins(const char* value) { m_allowOriginsHasBeenSet = true; m_allowOrigins.push_back(value); return *this; } 86 87 88 /** 89 * <p>Indicates whether the CORS request includes credentials.</p> 90 */ GetAllowCredentials()91 inline bool GetAllowCredentials() const{ return m_allowCredentials; } 92 93 /** 94 * <p>Indicates whether the CORS request includes credentials.</p> 95 */ AllowCredentialsHasBeenSet()96 inline bool AllowCredentialsHasBeenSet() const { return m_allowCredentialsHasBeenSet; } 97 98 /** 99 * <p>Indicates whether the CORS request includes credentials.</p> 100 */ SetAllowCredentials(bool value)101 inline void SetAllowCredentials(bool value) { m_allowCredentialsHasBeenSet = true; m_allowCredentials = value; } 102 103 /** 104 * <p>Indicates whether the CORS request includes credentials.</p> 105 */ WithAllowCredentials(bool value)106 inline AwsCorsConfiguration& WithAllowCredentials(bool value) { SetAllowCredentials(value); return *this;} 107 108 109 /** 110 * <p>The exposed headers for CORS requests.</p> 111 */ GetExposeHeaders()112 inline const Aws::Vector<Aws::String>& GetExposeHeaders() const{ return m_exposeHeaders; } 113 114 /** 115 * <p>The exposed headers for CORS requests.</p> 116 */ ExposeHeadersHasBeenSet()117 inline bool ExposeHeadersHasBeenSet() const { return m_exposeHeadersHasBeenSet; } 118 119 /** 120 * <p>The exposed headers for CORS requests.</p> 121 */ SetExposeHeaders(const Aws::Vector<Aws::String> & value)122 inline void SetExposeHeaders(const Aws::Vector<Aws::String>& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders = value; } 123 124 /** 125 * <p>The exposed headers for CORS requests.</p> 126 */ SetExposeHeaders(Aws::Vector<Aws::String> && value)127 inline void SetExposeHeaders(Aws::Vector<Aws::String>&& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders = std::move(value); } 128 129 /** 130 * <p>The exposed headers for CORS requests.</p> 131 */ WithExposeHeaders(const Aws::Vector<Aws::String> & value)132 inline AwsCorsConfiguration& WithExposeHeaders(const Aws::Vector<Aws::String>& value) { SetExposeHeaders(value); return *this;} 133 134 /** 135 * <p>The exposed headers for CORS requests.</p> 136 */ WithExposeHeaders(Aws::Vector<Aws::String> && value)137 inline AwsCorsConfiguration& WithExposeHeaders(Aws::Vector<Aws::String>&& value) { SetExposeHeaders(std::move(value)); return *this;} 138 139 /** 140 * <p>The exposed headers for CORS requests.</p> 141 */ AddExposeHeaders(const Aws::String & value)142 inline AwsCorsConfiguration& AddExposeHeaders(const Aws::String& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(value); return *this; } 143 144 /** 145 * <p>The exposed headers for CORS requests.</p> 146 */ AddExposeHeaders(Aws::String && value)147 inline AwsCorsConfiguration& AddExposeHeaders(Aws::String&& value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(std::move(value)); return *this; } 148 149 /** 150 * <p>The exposed headers for CORS requests.</p> 151 */ AddExposeHeaders(const char * value)152 inline AwsCorsConfiguration& AddExposeHeaders(const char* value) { m_exposeHeadersHasBeenSet = true; m_exposeHeaders.push_back(value); return *this; } 153 154 155 /** 156 * <p>The number of seconds for which the browser caches preflight request 157 * results.</p> 158 */ GetMaxAge()159 inline int GetMaxAge() const{ return m_maxAge; } 160 161 /** 162 * <p>The number of seconds for which the browser caches preflight request 163 * results.</p> 164 */ MaxAgeHasBeenSet()165 inline bool MaxAgeHasBeenSet() const { return m_maxAgeHasBeenSet; } 166 167 /** 168 * <p>The number of seconds for which the browser caches preflight request 169 * results.</p> 170 */ SetMaxAge(int value)171 inline void SetMaxAge(int value) { m_maxAgeHasBeenSet = true; m_maxAge = value; } 172 173 /** 174 * <p>The number of seconds for which the browser caches preflight request 175 * results.</p> 176 */ WithMaxAge(int value)177 inline AwsCorsConfiguration& WithMaxAge(int value) { SetMaxAge(value); return *this;} 178 179 180 /** 181 * <p>The allowed methods for CORS requests.</p> 182 */ GetAllowMethods()183 inline const Aws::Vector<Aws::String>& GetAllowMethods() const{ return m_allowMethods; } 184 185 /** 186 * <p>The allowed methods for CORS requests.</p> 187 */ AllowMethodsHasBeenSet()188 inline bool AllowMethodsHasBeenSet() const { return m_allowMethodsHasBeenSet; } 189 190 /** 191 * <p>The allowed methods for CORS requests.</p> 192 */ SetAllowMethods(const Aws::Vector<Aws::String> & value)193 inline void SetAllowMethods(const Aws::Vector<Aws::String>& value) { m_allowMethodsHasBeenSet = true; m_allowMethods = value; } 194 195 /** 196 * <p>The allowed methods for CORS requests.</p> 197 */ SetAllowMethods(Aws::Vector<Aws::String> && value)198 inline void SetAllowMethods(Aws::Vector<Aws::String>&& value) { m_allowMethodsHasBeenSet = true; m_allowMethods = std::move(value); } 199 200 /** 201 * <p>The allowed methods for CORS requests.</p> 202 */ WithAllowMethods(const Aws::Vector<Aws::String> & value)203 inline AwsCorsConfiguration& WithAllowMethods(const Aws::Vector<Aws::String>& value) { SetAllowMethods(value); return *this;} 204 205 /** 206 * <p>The allowed methods for CORS requests.</p> 207 */ WithAllowMethods(Aws::Vector<Aws::String> && value)208 inline AwsCorsConfiguration& WithAllowMethods(Aws::Vector<Aws::String>&& value) { SetAllowMethods(std::move(value)); return *this;} 209 210 /** 211 * <p>The allowed methods for CORS requests.</p> 212 */ AddAllowMethods(const Aws::String & value)213 inline AwsCorsConfiguration& AddAllowMethods(const Aws::String& value) { m_allowMethodsHasBeenSet = true; m_allowMethods.push_back(value); return *this; } 214 215 /** 216 * <p>The allowed methods for CORS requests.</p> 217 */ AddAllowMethods(Aws::String && value)218 inline AwsCorsConfiguration& AddAllowMethods(Aws::String&& value) { m_allowMethodsHasBeenSet = true; m_allowMethods.push_back(std::move(value)); return *this; } 219 220 /** 221 * <p>The allowed methods for CORS requests.</p> 222 */ AddAllowMethods(const char * value)223 inline AwsCorsConfiguration& AddAllowMethods(const char* value) { m_allowMethodsHasBeenSet = true; m_allowMethods.push_back(value); return *this; } 224 225 226 /** 227 * <p>The allowed headers for CORS requests.</p> 228 */ GetAllowHeaders()229 inline const Aws::Vector<Aws::String>& GetAllowHeaders() const{ return m_allowHeaders; } 230 231 /** 232 * <p>The allowed headers for CORS requests.</p> 233 */ AllowHeadersHasBeenSet()234 inline bool AllowHeadersHasBeenSet() const { return m_allowHeadersHasBeenSet; } 235 236 /** 237 * <p>The allowed headers for CORS requests.</p> 238 */ SetAllowHeaders(const Aws::Vector<Aws::String> & value)239 inline void SetAllowHeaders(const Aws::Vector<Aws::String>& value) { m_allowHeadersHasBeenSet = true; m_allowHeaders = value; } 240 241 /** 242 * <p>The allowed headers for CORS requests.</p> 243 */ SetAllowHeaders(Aws::Vector<Aws::String> && value)244 inline void SetAllowHeaders(Aws::Vector<Aws::String>&& value) { m_allowHeadersHasBeenSet = true; m_allowHeaders = std::move(value); } 245 246 /** 247 * <p>The allowed headers for CORS requests.</p> 248 */ WithAllowHeaders(const Aws::Vector<Aws::String> & value)249 inline AwsCorsConfiguration& WithAllowHeaders(const Aws::Vector<Aws::String>& value) { SetAllowHeaders(value); return *this;} 250 251 /** 252 * <p>The allowed headers for CORS requests.</p> 253 */ WithAllowHeaders(Aws::Vector<Aws::String> && value)254 inline AwsCorsConfiguration& WithAllowHeaders(Aws::Vector<Aws::String>&& value) { SetAllowHeaders(std::move(value)); return *this;} 255 256 /** 257 * <p>The allowed headers for CORS requests.</p> 258 */ AddAllowHeaders(const Aws::String & value)259 inline AwsCorsConfiguration& AddAllowHeaders(const Aws::String& value) { m_allowHeadersHasBeenSet = true; m_allowHeaders.push_back(value); return *this; } 260 261 /** 262 * <p>The allowed headers for CORS requests.</p> 263 */ AddAllowHeaders(Aws::String && value)264 inline AwsCorsConfiguration& AddAllowHeaders(Aws::String&& value) { m_allowHeadersHasBeenSet = true; m_allowHeaders.push_back(std::move(value)); return *this; } 265 266 /** 267 * <p>The allowed headers for CORS requests.</p> 268 */ AddAllowHeaders(const char * value)269 inline AwsCorsConfiguration& AddAllowHeaders(const char* value) { m_allowHeadersHasBeenSet = true; m_allowHeaders.push_back(value); return *this; } 270 271 private: 272 273 Aws::Vector<Aws::String> m_allowOrigins; 274 bool m_allowOriginsHasBeenSet; 275 276 bool m_allowCredentials; 277 bool m_allowCredentialsHasBeenSet; 278 279 Aws::Vector<Aws::String> m_exposeHeaders; 280 bool m_exposeHeadersHasBeenSet; 281 282 int m_maxAge; 283 bool m_maxAgeHasBeenSet; 284 285 Aws::Vector<Aws::String> m_allowMethods; 286 bool m_allowMethodsHasBeenSet; 287 288 Aws::Vector<Aws::String> m_allowHeaders; 289 bool m_allowHeadersHasBeenSet; 290 }; 291 292 } // namespace Model 293 } // namespace SecurityHub 294 } // namespace Aws 295