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 <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace SecurityHub 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Information about the build artifacts for the CodeBuild 28 * project.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsCodeBuildProjectArtifactsDetails">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_SECURITYHUB_API AwsCodeBuildProjectArtifactsDetails 33 { 34 public: 35 AwsCodeBuildProjectArtifactsDetails(); 36 AwsCodeBuildProjectArtifactsDetails(Aws::Utils::Json::JsonView jsonValue); 37 AwsCodeBuildProjectArtifactsDetails& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>An identifier for the artifact definition.</p> 43 */ GetArtifactIdentifier()44 inline const Aws::String& GetArtifactIdentifier() const{ return m_artifactIdentifier; } 45 46 /** 47 * <p>An identifier for the artifact definition.</p> 48 */ ArtifactIdentifierHasBeenSet()49 inline bool ArtifactIdentifierHasBeenSet() const { return m_artifactIdentifierHasBeenSet; } 50 51 /** 52 * <p>An identifier for the artifact definition.</p> 53 */ SetArtifactIdentifier(const Aws::String & value)54 inline void SetArtifactIdentifier(const Aws::String& value) { m_artifactIdentifierHasBeenSet = true; m_artifactIdentifier = value; } 55 56 /** 57 * <p>An identifier for the artifact definition.</p> 58 */ SetArtifactIdentifier(Aws::String && value)59 inline void SetArtifactIdentifier(Aws::String&& value) { m_artifactIdentifierHasBeenSet = true; m_artifactIdentifier = std::move(value); } 60 61 /** 62 * <p>An identifier for the artifact definition.</p> 63 */ SetArtifactIdentifier(const char * value)64 inline void SetArtifactIdentifier(const char* value) { m_artifactIdentifierHasBeenSet = true; m_artifactIdentifier.assign(value); } 65 66 /** 67 * <p>An identifier for the artifact definition.</p> 68 */ WithArtifactIdentifier(const Aws::String & value)69 inline AwsCodeBuildProjectArtifactsDetails& WithArtifactIdentifier(const Aws::String& value) { SetArtifactIdentifier(value); return *this;} 70 71 /** 72 * <p>An identifier for the artifact definition.</p> 73 */ WithArtifactIdentifier(Aws::String && value)74 inline AwsCodeBuildProjectArtifactsDetails& WithArtifactIdentifier(Aws::String&& value) { SetArtifactIdentifier(std::move(value)); return *this;} 75 76 /** 77 * <p>An identifier for the artifact definition.</p> 78 */ WithArtifactIdentifier(const char * value)79 inline AwsCodeBuildProjectArtifactsDetails& WithArtifactIdentifier(const char* value) { SetArtifactIdentifier(value); return *this;} 80 81 82 /** 83 * <p>Indicates whether to disable encryption on the artifact. Only valid when 84 * <code>Type</code> is <code>S3</code>.</p> 85 */ GetEncryptionDisabled()86 inline bool GetEncryptionDisabled() const{ return m_encryptionDisabled; } 87 88 /** 89 * <p>Indicates whether to disable encryption on the artifact. Only valid when 90 * <code>Type</code> is <code>S3</code>.</p> 91 */ EncryptionDisabledHasBeenSet()92 inline bool EncryptionDisabledHasBeenSet() const { return m_encryptionDisabledHasBeenSet; } 93 94 /** 95 * <p>Indicates whether to disable encryption on the artifact. Only valid when 96 * <code>Type</code> is <code>S3</code>.</p> 97 */ SetEncryptionDisabled(bool value)98 inline void SetEncryptionDisabled(bool value) { m_encryptionDisabledHasBeenSet = true; m_encryptionDisabled = value; } 99 100 /** 101 * <p>Indicates whether to disable encryption on the artifact. Only valid when 102 * <code>Type</code> is <code>S3</code>.</p> 103 */ WithEncryptionDisabled(bool value)104 inline AwsCodeBuildProjectArtifactsDetails& WithEncryptionDisabled(bool value) { SetEncryptionDisabled(value); return *this;} 105 106 107 /** 108 * <p>Only used when <code>Type</code> is <code>S3</code>. The name of the S3 109 * bucket where the artifact is located.</p> 110 */ GetLocation()111 inline const Aws::String& GetLocation() const{ return m_location; } 112 113 /** 114 * <p>Only used when <code>Type</code> is <code>S3</code>. The name of the S3 115 * bucket where the artifact is located.</p> 116 */ LocationHasBeenSet()117 inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } 118 119 /** 120 * <p>Only used when <code>Type</code> is <code>S3</code>. The name of the S3 121 * bucket where the artifact is located.</p> 122 */ SetLocation(const Aws::String & value)123 inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } 124 125 /** 126 * <p>Only used when <code>Type</code> is <code>S3</code>. The name of the S3 127 * bucket where the artifact is located.</p> 128 */ SetLocation(Aws::String && value)129 inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } 130 131 /** 132 * <p>Only used when <code>Type</code> is <code>S3</code>. The name of the S3 133 * bucket where the artifact is located.</p> 134 */ SetLocation(const char * value)135 inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } 136 137 /** 138 * <p>Only used when <code>Type</code> is <code>S3</code>. The name of the S3 139 * bucket where the artifact is located.</p> 140 */ WithLocation(const Aws::String & value)141 inline AwsCodeBuildProjectArtifactsDetails& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} 142 143 /** 144 * <p>Only used when <code>Type</code> is <code>S3</code>. The name of the S3 145 * bucket where the artifact is located.</p> 146 */ WithLocation(Aws::String && value)147 inline AwsCodeBuildProjectArtifactsDetails& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} 148 149 /** 150 * <p>Only used when <code>Type</code> is <code>S3</code>. The name of the S3 151 * bucket where the artifact is located.</p> 152 */ WithLocation(const char * value)153 inline AwsCodeBuildProjectArtifactsDetails& WithLocation(const char* value) { SetLocation(value); return *this;} 154 155 156 /** 157 * <p>Only used when Type is S3. The name of the artifact. Used with 158 * <code>NamepaceType</code> and <code>Path</code> to determine the pattern for 159 * storing the artifact.</p> 160 */ GetName()161 inline const Aws::String& GetName() const{ return m_name; } 162 163 /** 164 * <p>Only used when Type is S3. The name of the artifact. Used with 165 * <code>NamepaceType</code> and <code>Path</code> to determine the pattern for 166 * storing the artifact.</p> 167 */ NameHasBeenSet()168 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 169 170 /** 171 * <p>Only used when Type is S3. The name of the artifact. Used with 172 * <code>NamepaceType</code> and <code>Path</code> to determine the pattern for 173 * storing the artifact.</p> 174 */ SetName(const Aws::String & value)175 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 176 177 /** 178 * <p>Only used when Type is S3. The name of the artifact. Used with 179 * <code>NamepaceType</code> and <code>Path</code> to determine the pattern for 180 * storing the artifact.</p> 181 */ SetName(Aws::String && value)182 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 183 184 /** 185 * <p>Only used when Type is S3. The name of the artifact. Used with 186 * <code>NamepaceType</code> and <code>Path</code> to determine the pattern for 187 * storing the artifact.</p> 188 */ SetName(const char * value)189 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 190 191 /** 192 * <p>Only used when Type is S3. The name of the artifact. Used with 193 * <code>NamepaceType</code> and <code>Path</code> to determine the pattern for 194 * storing the artifact.</p> 195 */ WithName(const Aws::String & value)196 inline AwsCodeBuildProjectArtifactsDetails& WithName(const Aws::String& value) { SetName(value); return *this;} 197 198 /** 199 * <p>Only used when Type is S3. The name of the artifact. Used with 200 * <code>NamepaceType</code> and <code>Path</code> to determine the pattern for 201 * storing the artifact.</p> 202 */ WithName(Aws::String && value)203 inline AwsCodeBuildProjectArtifactsDetails& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 204 205 /** 206 * <p>Only used when Type is S3. The name of the artifact. Used with 207 * <code>NamepaceType</code> and <code>Path</code> to determine the pattern for 208 * storing the artifact.</p> 209 */ WithName(const char * value)210 inline AwsCodeBuildProjectArtifactsDetails& WithName(const char* value) { SetName(value); return *this;} 211 212 213 /** 214 * <p>Only used when <code>Type</code> is <code>S3</code>. The value to use for the 215 * namespace. Used with <code>Name</code> and <code>Path</code> to determine the 216 * pattern for storing the artifact.</p> 217 */ GetNamespaceType()218 inline const Aws::String& GetNamespaceType() const{ return m_namespaceType; } 219 220 /** 221 * <p>Only used when <code>Type</code> is <code>S3</code>. The value to use for the 222 * namespace. Used with <code>Name</code> and <code>Path</code> to determine the 223 * pattern for storing the artifact.</p> 224 */ NamespaceTypeHasBeenSet()225 inline bool NamespaceTypeHasBeenSet() const { return m_namespaceTypeHasBeenSet; } 226 227 /** 228 * <p>Only used when <code>Type</code> is <code>S3</code>. The value to use for the 229 * namespace. Used with <code>Name</code> and <code>Path</code> to determine the 230 * pattern for storing the artifact.</p> 231 */ SetNamespaceType(const Aws::String & value)232 inline void SetNamespaceType(const Aws::String& value) { m_namespaceTypeHasBeenSet = true; m_namespaceType = value; } 233 234 /** 235 * <p>Only used when <code>Type</code> is <code>S3</code>. The value to use for the 236 * namespace. Used with <code>Name</code> and <code>Path</code> to determine the 237 * pattern for storing the artifact.</p> 238 */ SetNamespaceType(Aws::String && value)239 inline void SetNamespaceType(Aws::String&& value) { m_namespaceTypeHasBeenSet = true; m_namespaceType = std::move(value); } 240 241 /** 242 * <p>Only used when <code>Type</code> is <code>S3</code>. The value to use for the 243 * namespace. Used with <code>Name</code> and <code>Path</code> to determine the 244 * pattern for storing the artifact.</p> 245 */ SetNamespaceType(const char * value)246 inline void SetNamespaceType(const char* value) { m_namespaceTypeHasBeenSet = true; m_namespaceType.assign(value); } 247 248 /** 249 * <p>Only used when <code>Type</code> is <code>S3</code>. The value to use for the 250 * namespace. Used with <code>Name</code> and <code>Path</code> to determine the 251 * pattern for storing the artifact.</p> 252 */ WithNamespaceType(const Aws::String & value)253 inline AwsCodeBuildProjectArtifactsDetails& WithNamespaceType(const Aws::String& value) { SetNamespaceType(value); return *this;} 254 255 /** 256 * <p>Only used when <code>Type</code> is <code>S3</code>. The value to use for the 257 * namespace. Used with <code>Name</code> and <code>Path</code> to determine the 258 * pattern for storing the artifact.</p> 259 */ WithNamespaceType(Aws::String && value)260 inline AwsCodeBuildProjectArtifactsDetails& WithNamespaceType(Aws::String&& value) { SetNamespaceType(std::move(value)); return *this;} 261 262 /** 263 * <p>Only used when <code>Type</code> is <code>S3</code>. The value to use for the 264 * namespace. Used with <code>Name</code> and <code>Path</code> to determine the 265 * pattern for storing the artifact.</p> 266 */ WithNamespaceType(const char * value)267 inline AwsCodeBuildProjectArtifactsDetails& WithNamespaceType(const char* value) { SetNamespaceType(value); return *this;} 268 269 270 /** 271 * <p>Whether the name specified in the buildspec file overrides the artifact 272 * name.</p> 273 */ GetOverrideArtifactName()274 inline bool GetOverrideArtifactName() const{ return m_overrideArtifactName; } 275 276 /** 277 * <p>Whether the name specified in the buildspec file overrides the artifact 278 * name.</p> 279 */ OverrideArtifactNameHasBeenSet()280 inline bool OverrideArtifactNameHasBeenSet() const { return m_overrideArtifactNameHasBeenSet; } 281 282 /** 283 * <p>Whether the name specified in the buildspec file overrides the artifact 284 * name.</p> 285 */ SetOverrideArtifactName(bool value)286 inline void SetOverrideArtifactName(bool value) { m_overrideArtifactNameHasBeenSet = true; m_overrideArtifactName = value; } 287 288 /** 289 * <p>Whether the name specified in the buildspec file overrides the artifact 290 * name.</p> 291 */ WithOverrideArtifactName(bool value)292 inline AwsCodeBuildProjectArtifactsDetails& WithOverrideArtifactName(bool value) { SetOverrideArtifactName(value); return *this;} 293 294 295 /** 296 * <p>Only used when <code>Type</code> is <code>S3</code>. The type of output 297 * artifact to create.</p> 298 */ GetPackaging()299 inline const Aws::String& GetPackaging() const{ return m_packaging; } 300 301 /** 302 * <p>Only used when <code>Type</code> is <code>S3</code>. The type of output 303 * artifact to create.</p> 304 */ PackagingHasBeenSet()305 inline bool PackagingHasBeenSet() const { return m_packagingHasBeenSet; } 306 307 /** 308 * <p>Only used when <code>Type</code> is <code>S3</code>. The type of output 309 * artifact to create.</p> 310 */ SetPackaging(const Aws::String & value)311 inline void SetPackaging(const Aws::String& value) { m_packagingHasBeenSet = true; m_packaging = value; } 312 313 /** 314 * <p>Only used when <code>Type</code> is <code>S3</code>. The type of output 315 * artifact to create.</p> 316 */ SetPackaging(Aws::String && value)317 inline void SetPackaging(Aws::String&& value) { m_packagingHasBeenSet = true; m_packaging = std::move(value); } 318 319 /** 320 * <p>Only used when <code>Type</code> is <code>S3</code>. The type of output 321 * artifact to create.</p> 322 */ SetPackaging(const char * value)323 inline void SetPackaging(const char* value) { m_packagingHasBeenSet = true; m_packaging.assign(value); } 324 325 /** 326 * <p>Only used when <code>Type</code> is <code>S3</code>. The type of output 327 * artifact to create.</p> 328 */ WithPackaging(const Aws::String & value)329 inline AwsCodeBuildProjectArtifactsDetails& WithPackaging(const Aws::String& value) { SetPackaging(value); return *this;} 330 331 /** 332 * <p>Only used when <code>Type</code> is <code>S3</code>. The type of output 333 * artifact to create.</p> 334 */ WithPackaging(Aws::String && value)335 inline AwsCodeBuildProjectArtifactsDetails& WithPackaging(Aws::String&& value) { SetPackaging(std::move(value)); return *this;} 336 337 /** 338 * <p>Only used when <code>Type</code> is <code>S3</code>. The type of output 339 * artifact to create.</p> 340 */ WithPackaging(const char * value)341 inline AwsCodeBuildProjectArtifactsDetails& WithPackaging(const char* value) { SetPackaging(value); return *this;} 342 343 344 /** 345 * <p>Only used when <code>Type</code> is <code>S3</code>. The path to the 346 * artifact. Used with <code>Name</code> and <code>NamespaceType</code> to 347 * determine the pattern for storing the artifact.</p> 348 */ GetPath()349 inline const Aws::String& GetPath() const{ return m_path; } 350 351 /** 352 * <p>Only used when <code>Type</code> is <code>S3</code>. The path to the 353 * artifact. Used with <code>Name</code> and <code>NamespaceType</code> to 354 * determine the pattern for storing the artifact.</p> 355 */ PathHasBeenSet()356 inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } 357 358 /** 359 * <p>Only used when <code>Type</code> is <code>S3</code>. The path to the 360 * artifact. Used with <code>Name</code> and <code>NamespaceType</code> to 361 * determine the pattern for storing the artifact.</p> 362 */ SetPath(const Aws::String & value)363 inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } 364 365 /** 366 * <p>Only used when <code>Type</code> is <code>S3</code>. The path to the 367 * artifact. Used with <code>Name</code> and <code>NamespaceType</code> to 368 * determine the pattern for storing the artifact.</p> 369 */ SetPath(Aws::String && value)370 inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } 371 372 /** 373 * <p>Only used when <code>Type</code> is <code>S3</code>. The path to the 374 * artifact. Used with <code>Name</code> and <code>NamespaceType</code> to 375 * determine the pattern for storing the artifact.</p> 376 */ SetPath(const char * value)377 inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } 378 379 /** 380 * <p>Only used when <code>Type</code> is <code>S3</code>. The path to the 381 * artifact. Used with <code>Name</code> and <code>NamespaceType</code> to 382 * determine the pattern for storing the artifact.</p> 383 */ WithPath(const Aws::String & value)384 inline AwsCodeBuildProjectArtifactsDetails& WithPath(const Aws::String& value) { SetPath(value); return *this;} 385 386 /** 387 * <p>Only used when <code>Type</code> is <code>S3</code>. The path to the 388 * artifact. Used with <code>Name</code> and <code>NamespaceType</code> to 389 * determine the pattern for storing the artifact.</p> 390 */ WithPath(Aws::String && value)391 inline AwsCodeBuildProjectArtifactsDetails& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} 392 393 /** 394 * <p>Only used when <code>Type</code> is <code>S3</code>. The path to the 395 * artifact. Used with <code>Name</code> and <code>NamespaceType</code> to 396 * determine the pattern for storing the artifact.</p> 397 */ WithPath(const char * value)398 inline AwsCodeBuildProjectArtifactsDetails& WithPath(const char* value) { SetPath(value); return *this;} 399 400 401 /** 402 * <p>The type of build artifact.</p> 403 */ GetType()404 inline const Aws::String& GetType() const{ return m_type; } 405 406 /** 407 * <p>The type of build artifact.</p> 408 */ TypeHasBeenSet()409 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 410 411 /** 412 * <p>The type of build artifact.</p> 413 */ SetType(const Aws::String & value)414 inline void SetType(const Aws::String& value) { m_typeHasBeenSet = true; m_type = value; } 415 416 /** 417 * <p>The type of build artifact.</p> 418 */ SetType(Aws::String && value)419 inline void SetType(Aws::String&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 420 421 /** 422 * <p>The type of build artifact.</p> 423 */ SetType(const char * value)424 inline void SetType(const char* value) { m_typeHasBeenSet = true; m_type.assign(value); } 425 426 /** 427 * <p>The type of build artifact.</p> 428 */ WithType(const Aws::String & value)429 inline AwsCodeBuildProjectArtifactsDetails& WithType(const Aws::String& value) { SetType(value); return *this;} 430 431 /** 432 * <p>The type of build artifact.</p> 433 */ WithType(Aws::String && value)434 inline AwsCodeBuildProjectArtifactsDetails& WithType(Aws::String&& value) { SetType(std::move(value)); return *this;} 435 436 /** 437 * <p>The type of build artifact.</p> 438 */ WithType(const char * value)439 inline AwsCodeBuildProjectArtifactsDetails& WithType(const char* value) { SetType(value); return *this;} 440 441 private: 442 443 Aws::String m_artifactIdentifier; 444 bool m_artifactIdentifierHasBeenSet; 445 446 bool m_encryptionDisabled; 447 bool m_encryptionDisabledHasBeenSet; 448 449 Aws::String m_location; 450 bool m_locationHasBeenSet; 451 452 Aws::String m_name; 453 bool m_nameHasBeenSet; 454 455 Aws::String m_namespaceType; 456 bool m_namespaceTypeHasBeenSet; 457 458 bool m_overrideArtifactName; 459 bool m_overrideArtifactNameHasBeenSet; 460 461 Aws::String m_packaging; 462 bool m_packagingHasBeenSet; 463 464 Aws::String m_path; 465 bool m_pathHasBeenSet; 466 467 Aws::String m_type; 468 bool m_typeHasBeenSet; 469 }; 470 471 } // namespace Model 472 } // namespace SecurityHub 473 } // namespace Aws 474