/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace CodeBuild { namespace Model { /** *

Information about the build output artifacts for the build * project.

See Also:

AWS * API Reference

*/ class AWS_CODEBUILD_API ProjectArtifacts { public: ProjectArtifacts(); ProjectArtifacts(Aws::Utils::Json::JsonView jsonValue); ProjectArtifacts& operator=(Aws::Utils::Json::JsonView jsonValue); Aws::Utils::Json::JsonValue Jsonize() const; /** *

The type of build output artifact. Valid values include:

  • * CODEPIPELINE: The build project has build output generated through * AWS CodePipeline.

    The CODEPIPELINE type is not * supported for secondaryArtifacts.

  • * NO_ARTIFACTS: The build project does not produce any build * output.

  • S3: The build project stores build * output in Amazon Simple Storage Service (Amazon S3).

*/ inline const ArtifactsType& GetType() const{ return m_type; } /** *

The type of build output artifact. Valid values include:

  • * CODEPIPELINE: The build project has build output generated through * AWS CodePipeline.

    The CODEPIPELINE type is not * supported for secondaryArtifacts.

  • * NO_ARTIFACTS: The build project does not produce any build * output.

  • S3: The build project stores build * output in Amazon Simple Storage Service (Amazon S3).

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of build output artifact. Valid values include:

  • * CODEPIPELINE: The build project has build output generated through * AWS CodePipeline.

    The CODEPIPELINE type is not * supported for secondaryArtifacts.

  • * NO_ARTIFACTS: The build project does not produce any build * output.

  • S3: The build project stores build * output in Amazon Simple Storage Service (Amazon S3).

*/ inline void SetType(const ArtifactsType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of build output artifact. Valid values include:

  • * CODEPIPELINE: The build project has build output generated through * AWS CodePipeline.

    The CODEPIPELINE type is not * supported for secondaryArtifacts.

  • * NO_ARTIFACTS: The build project does not produce any build * output.

  • S3: The build project stores build * output in Amazon Simple Storage Service (Amazon S3).

*/ inline void SetType(ArtifactsType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of build output artifact. Valid values include:

  • * CODEPIPELINE: The build project has build output generated through * AWS CodePipeline.

    The CODEPIPELINE type is not * supported for secondaryArtifacts.

  • * NO_ARTIFACTS: The build project does not produce any build * output.

  • S3: The build project stores build * output in Amazon Simple Storage Service (Amazon S3).

*/ inline ProjectArtifacts& WithType(const ArtifactsType& value) { SetType(value); return *this;} /** *

The type of build output artifact. Valid values include:

  • * CODEPIPELINE: The build project has build output generated through * AWS CodePipeline.

    The CODEPIPELINE type is not * supported for secondaryArtifacts.

  • * NO_ARTIFACTS: The build project does not produce any build * output.

  • S3: The build project stores build * output in Amazon Simple Storage Service (Amazon S3).

*/ inline ProjectArtifacts& WithType(ArtifactsType&& value) { SetType(std::move(value)); return *this;} /** *

Information about the build output artifact location:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output locations instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, this is the name of the output * bucket.

*/ inline const Aws::String& GetLocation() const{ return m_location; } /** *

Information about the build output artifact location:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output locations instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, this is the name of the output * bucket.

*/ inline bool LocationHasBeenSet() const { return m_locationHasBeenSet; } /** *

Information about the build output artifact location:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output locations instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, this is the name of the output * bucket.

*/ inline void SetLocation(const Aws::String& value) { m_locationHasBeenSet = true; m_location = value; } /** *

Information about the build output artifact location:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output locations instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, this is the name of the output * bucket.

*/ inline void SetLocation(Aws::String&& value) { m_locationHasBeenSet = true; m_location = std::move(value); } /** *

Information about the build output artifact location:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output locations instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, this is the name of the output * bucket.

*/ inline void SetLocation(const char* value) { m_locationHasBeenSet = true; m_location.assign(value); } /** *

Information about the build output artifact location:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output locations instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, this is the name of the output * bucket.

*/ inline ProjectArtifacts& WithLocation(const Aws::String& value) { SetLocation(value); return *this;} /** *

Information about the build output artifact location:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output locations instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, this is the name of the output * bucket.

*/ inline ProjectArtifacts& WithLocation(Aws::String&& value) { SetLocation(std::move(value)); return *this;} /** *

Information about the build output artifact location:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output locations instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, this is the name of the output * bucket.

*/ inline ProjectArtifacts& WithLocation(const char* value) { SetLocation(value); return *this;} /** *

Along with namespaceType and name, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the path to the output artifact. If path * is not specified, path is not used.

For example, * if path is set to MyArtifacts, * namespaceType is set to NONE, and name is * set to MyArtifact.zip, the output artifact is stored in the output * bucket at MyArtifacts/MyArtifact.zip.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

Along with namespaceType and name, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the path to the output artifact. If path * is not specified, path is not used.

For example, * if path is set to MyArtifacts, * namespaceType is set to NONE, and name is * set to MyArtifact.zip, the output artifact is stored in the output * bucket at MyArtifacts/MyArtifact.zip.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

Along with namespaceType and name, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the path to the output artifact. If path * is not specified, path is not used.

For example, * if path is set to MyArtifacts, * namespaceType is set to NONE, and name is * set to MyArtifact.zip, the output artifact is stored in the output * bucket at MyArtifacts/MyArtifact.zip.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

Along with namespaceType and name, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the path to the output artifact. If path * is not specified, path is not used.

For example, * if path is set to MyArtifacts, * namespaceType is set to NONE, and name is * set to MyArtifact.zip, the output artifact is stored in the output * bucket at MyArtifacts/MyArtifact.zip.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

Along with namespaceType and name, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the path to the output artifact. If path * is not specified, path is not used.

For example, * if path is set to MyArtifacts, * namespaceType is set to NONE, and name is * set to MyArtifact.zip, the output artifact is stored in the output * bucket at MyArtifacts/MyArtifact.zip.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

Along with namespaceType and name, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the path to the output artifact. If path * is not specified, path is not used.

For example, * if path is set to MyArtifacts, * namespaceType is set to NONE, and name is * set to MyArtifact.zip, the output artifact is stored in the output * bucket at MyArtifacts/MyArtifact.zip.

*/ inline ProjectArtifacts& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

Along with namespaceType and name, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the path to the output artifact. If path * is not specified, path is not used.

For example, * if path is set to MyArtifacts, * namespaceType is set to NONE, and name is * set to MyArtifact.zip, the output artifact is stored in the output * bucket at MyArtifacts/MyArtifact.zip.

*/ inline ProjectArtifacts& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

Along with namespaceType and name, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the path to the output artifact. If path * is not specified, path is not used.

For example, * if path is set to MyArtifacts, * namespaceType is set to NONE, and name is * set to MyArtifact.zip, the output artifact is stored in the output * bucket at MyArtifacts/MyArtifact.zip.

*/ inline ProjectArtifacts& WithPath(const char* value) { SetPath(value); return *this;} /** *

Along with path and name, the pattern that AWS * CodeBuild uses to determine the name and location to store the output * artifact:

  • If type is set to * CODEPIPELINE, AWS CodePipeline ignores this value if specified. * This is because AWS CodePipeline manages its build output names instead of AWS * CodeBuild.

  • If type is set to * NO_ARTIFACTS, this value is ignored if specified, because no build * output is produced.

  • If type is set to * S3, valid values include:

    • BUILD_ID: * Include the build ID in the location of the build output artifact.

    • *
    • NONE: Do not include the build ID. This is the default if * namespaceType is not specified.

For * example, if path is set to MyArtifacts, * namespaceType is set to BUILD_ID, and * name is set to MyArtifact.zip, the output artifact is * stored in MyArtifacts/<build-ID>/MyArtifact.zip.

*/ inline const ArtifactNamespace& GetNamespaceType() const{ return m_namespaceType; } /** *

Along with path and name, the pattern that AWS * CodeBuild uses to determine the name and location to store the output * artifact:

  • If type is set to * CODEPIPELINE, AWS CodePipeline ignores this value if specified. * This is because AWS CodePipeline manages its build output names instead of AWS * CodeBuild.

  • If type is set to * NO_ARTIFACTS, this value is ignored if specified, because no build * output is produced.

  • If type is set to * S3, valid values include:

    • BUILD_ID: * Include the build ID in the location of the build output artifact.

    • *
    • NONE: Do not include the build ID. This is the default if * namespaceType is not specified.

For * example, if path is set to MyArtifacts, * namespaceType is set to BUILD_ID, and * name is set to MyArtifact.zip, the output artifact is * stored in MyArtifacts/<build-ID>/MyArtifact.zip.

*/ inline bool NamespaceTypeHasBeenSet() const { return m_namespaceTypeHasBeenSet; } /** *

Along with path and name, the pattern that AWS * CodeBuild uses to determine the name and location to store the output * artifact:

  • If type is set to * CODEPIPELINE, AWS CodePipeline ignores this value if specified. * This is because AWS CodePipeline manages its build output names instead of AWS * CodeBuild.

  • If type is set to * NO_ARTIFACTS, this value is ignored if specified, because no build * output is produced.

  • If type is set to * S3, valid values include:

    • BUILD_ID: * Include the build ID in the location of the build output artifact.

    • *
    • NONE: Do not include the build ID. This is the default if * namespaceType is not specified.

For * example, if path is set to MyArtifacts, * namespaceType is set to BUILD_ID, and * name is set to MyArtifact.zip, the output artifact is * stored in MyArtifacts/<build-ID>/MyArtifact.zip.

*/ inline void SetNamespaceType(const ArtifactNamespace& value) { m_namespaceTypeHasBeenSet = true; m_namespaceType = value; } /** *

Along with path and name, the pattern that AWS * CodeBuild uses to determine the name and location to store the output * artifact:

  • If type is set to * CODEPIPELINE, AWS CodePipeline ignores this value if specified. * This is because AWS CodePipeline manages its build output names instead of AWS * CodeBuild.

  • If type is set to * NO_ARTIFACTS, this value is ignored if specified, because no build * output is produced.

  • If type is set to * S3, valid values include:

    • BUILD_ID: * Include the build ID in the location of the build output artifact.

    • *
    • NONE: Do not include the build ID. This is the default if * namespaceType is not specified.

For * example, if path is set to MyArtifacts, * namespaceType is set to BUILD_ID, and * name is set to MyArtifact.zip, the output artifact is * stored in MyArtifacts/<build-ID>/MyArtifact.zip.

*/ inline void SetNamespaceType(ArtifactNamespace&& value) { m_namespaceTypeHasBeenSet = true; m_namespaceType = std::move(value); } /** *

Along with path and name, the pattern that AWS * CodeBuild uses to determine the name and location to store the output * artifact:

  • If type is set to * CODEPIPELINE, AWS CodePipeline ignores this value if specified. * This is because AWS CodePipeline manages its build output names instead of AWS * CodeBuild.

  • If type is set to * NO_ARTIFACTS, this value is ignored if specified, because no build * output is produced.

  • If type is set to * S3, valid values include:

    • BUILD_ID: * Include the build ID in the location of the build output artifact.

    • *
    • NONE: Do not include the build ID. This is the default if * namespaceType is not specified.

For * example, if path is set to MyArtifacts, * namespaceType is set to BUILD_ID, and * name is set to MyArtifact.zip, the output artifact is * stored in MyArtifacts/<build-ID>/MyArtifact.zip.

*/ inline ProjectArtifacts& WithNamespaceType(const ArtifactNamespace& value) { SetNamespaceType(value); return *this;} /** *

Along with path and name, the pattern that AWS * CodeBuild uses to determine the name and location to store the output * artifact:

  • If type is set to * CODEPIPELINE, AWS CodePipeline ignores this value if specified. * This is because AWS CodePipeline manages its build output names instead of AWS * CodeBuild.

  • If type is set to * NO_ARTIFACTS, this value is ignored if specified, because no build * output is produced.

  • If type is set to * S3, valid values include:

    • BUILD_ID: * Include the build ID in the location of the build output artifact.

    • *
    • NONE: Do not include the build ID. This is the default if * namespaceType is not specified.

For * example, if path is set to MyArtifacts, * namespaceType is set to BUILD_ID, and * name is set to MyArtifact.zip, the output artifact is * stored in MyArtifacts/<build-ID>/MyArtifact.zip.

*/ inline ProjectArtifacts& WithNamespaceType(ArtifactNamespace&& value) { SetNamespaceType(std::move(value)); return *this;} /** *

Along with path and namespaceType, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the name of the output artifact object. If you set the * name to be a forward slash ("/"), the artifact is stored in the root of the * output bucket.

For example:

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * MyArtifact.zip, then the output artifact is stored in * MyArtifacts/<build-ID>/MyArtifact.zip.

  • If * path is empty, namespaceType is set to * NONE, and name is set to "/", the output * artifact is stored in the root of the output bucket.

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * "/", the output artifact is stored in * MyArtifacts/<build-ID>.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

Along with path and namespaceType, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the name of the output artifact object. If you set the * name to be a forward slash ("/"), the artifact is stored in the root of the * output bucket.

For example:

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * MyArtifact.zip, then the output artifact is stored in * MyArtifacts/<build-ID>/MyArtifact.zip.

  • If * path is empty, namespaceType is set to * NONE, and name is set to "/", the output * artifact is stored in the root of the output bucket.

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * "/", the output artifact is stored in * MyArtifacts/<build-ID>.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

Along with path and namespaceType, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the name of the output artifact object. If you set the * name to be a forward slash ("/"), the artifact is stored in the root of the * output bucket.

For example:

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * MyArtifact.zip, then the output artifact is stored in * MyArtifacts/<build-ID>/MyArtifact.zip.

  • If * path is empty, namespaceType is set to * NONE, and name is set to "/", the output * artifact is stored in the root of the output bucket.

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * "/", the output artifact is stored in * MyArtifacts/<build-ID>.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

Along with path and namespaceType, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the name of the output artifact object. If you set the * name to be a forward slash ("/"), the artifact is stored in the root of the * output bucket.

For example:

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * MyArtifact.zip, then the output artifact is stored in * MyArtifacts/<build-ID>/MyArtifact.zip.

  • If * path is empty, namespaceType is set to * NONE, and name is set to "/", the output * artifact is stored in the root of the output bucket.

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * "/", the output artifact is stored in * MyArtifacts/<build-ID>.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

Along with path and namespaceType, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the name of the output artifact object. If you set the * name to be a forward slash ("/"), the artifact is stored in the root of the * output bucket.

For example:

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * MyArtifact.zip, then the output artifact is stored in * MyArtifacts/<build-ID>/MyArtifact.zip.

  • If * path is empty, namespaceType is set to * NONE, and name is set to "/", the output * artifact is stored in the root of the output bucket.

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * "/", the output artifact is stored in * MyArtifacts/<build-ID>.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

Along with path and namespaceType, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the name of the output artifact object. If you set the * name to be a forward slash ("/"), the artifact is stored in the root of the * output bucket.

For example:

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * MyArtifact.zip, then the output artifact is stored in * MyArtifacts/<build-ID>/MyArtifact.zip.

  • If * path is empty, namespaceType is set to * NONE, and name is set to "/", the output * artifact is stored in the root of the output bucket.

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * "/", the output artifact is stored in * MyArtifacts/<build-ID>.

*/ inline ProjectArtifacts& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

Along with path and namespaceType, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the name of the output artifact object. If you set the * name to be a forward slash ("/"), the artifact is stored in the root of the * output bucket.

For example:

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * MyArtifact.zip, then the output artifact is stored in * MyArtifacts/<build-ID>/MyArtifact.zip.

  • If * path is empty, namespaceType is set to * NONE, and name is set to "/", the output * artifact is stored in the root of the output bucket.

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * "/", the output artifact is stored in * MyArtifacts/<build-ID>.

*/ inline ProjectArtifacts& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

Along with path and namespaceType, the pattern that * AWS CodeBuild uses to name and store the output artifact:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output names instead of AWS CodeBuild.

  • If type is * set to NO_ARTIFACTS, this value is ignored if specified, because no * build output is produced.

  • If type is set to * S3, this is the name of the output artifact object. If you set the * name to be a forward slash ("/"), the artifact is stored in the root of the * output bucket.

For example:

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * MyArtifact.zip, then the output artifact is stored in * MyArtifacts/<build-ID>/MyArtifact.zip.

  • If * path is empty, namespaceType is set to * NONE, and name is set to "/", the output * artifact is stored in the root of the output bucket.

  • If * path is set to MyArtifacts, namespaceType * is set to BUILD_ID, and name is set to * "/", the output artifact is stored in * MyArtifacts/<build-ID>.

*/ inline ProjectArtifacts& WithName(const char* value) { SetName(value); return *this;} /** *

The type of build output artifact to create:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output artifacts instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, valid values include:

    • *

      NONE: AWS CodeBuild creates in the output bucket a folder that * contains the build output. This is the default if packaging is not * specified.

    • ZIP: AWS CodeBuild creates in the * output bucket a ZIP file that contains the build output.

  • *
*/ inline const ArtifactPackaging& GetPackaging() const{ return m_packaging; } /** *

The type of build output artifact to create:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output artifacts instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, valid values include:

    • *

      NONE: AWS CodeBuild creates in the output bucket a folder that * contains the build output. This is the default if packaging is not * specified.

    • ZIP: AWS CodeBuild creates in the * output bucket a ZIP file that contains the build output.

  • *
*/ inline bool PackagingHasBeenSet() const { return m_packagingHasBeenSet; } /** *

The type of build output artifact to create:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output artifacts instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, valid values include:

    • *

      NONE: AWS CodeBuild creates in the output bucket a folder that * contains the build output. This is the default if packaging is not * specified.

    • ZIP: AWS CodeBuild creates in the * output bucket a ZIP file that contains the build output.

  • *
*/ inline void SetPackaging(const ArtifactPackaging& value) { m_packagingHasBeenSet = true; m_packaging = value; } /** *

The type of build output artifact to create:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output artifacts instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, valid values include:

    • *

      NONE: AWS CodeBuild creates in the output bucket a folder that * contains the build output. This is the default if packaging is not * specified.

    • ZIP: AWS CodeBuild creates in the * output bucket a ZIP file that contains the build output.

  • *
*/ inline void SetPackaging(ArtifactPackaging&& value) { m_packagingHasBeenSet = true; m_packaging = std::move(value); } /** *

The type of build output artifact to create:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output artifacts instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, valid values include:

    • *

      NONE: AWS CodeBuild creates in the output bucket a folder that * contains the build output. This is the default if packaging is not * specified.

    • ZIP: AWS CodeBuild creates in the * output bucket a ZIP file that contains the build output.

  • *
*/ inline ProjectArtifacts& WithPackaging(const ArtifactPackaging& value) { SetPackaging(value); return *this;} /** *

The type of build output artifact to create:

  • If * type is set to CODEPIPELINE, AWS CodePipeline ignores * this value if specified. This is because AWS CodePipeline manages its build * output artifacts instead of AWS CodeBuild.

  • If * type is set to NO_ARTIFACTS, this value is ignored if * specified, because no build output is produced.

  • If * type is set to S3, valid values include:

    • *

      NONE: AWS CodeBuild creates in the output bucket a folder that * contains the build output. This is the default if packaging is not * specified.

    • ZIP: AWS CodeBuild creates in the * output bucket a ZIP file that contains the build output.

  • *
*/ inline ProjectArtifacts& WithPackaging(ArtifactPackaging&& value) { SetPackaging(std::move(value)); return *this;} /** *

If this flag is set, a name specified in the buildspec file overrides the * artifact name. The name specified in a buildspec file is calculated at build * time and uses the Shell Command Language. For example, you can append a date and * time to your artifact name so that it is always unique.

*/ inline bool GetOverrideArtifactName() const{ return m_overrideArtifactName; } /** *

If this flag is set, a name specified in the buildspec file overrides the * artifact name. The name specified in a buildspec file is calculated at build * time and uses the Shell Command Language. For example, you can append a date and * time to your artifact name so that it is always unique.

*/ inline bool OverrideArtifactNameHasBeenSet() const { return m_overrideArtifactNameHasBeenSet; } /** *

If this flag is set, a name specified in the buildspec file overrides the * artifact name. The name specified in a buildspec file is calculated at build * time and uses the Shell Command Language. For example, you can append a date and * time to your artifact name so that it is always unique.

*/ inline void SetOverrideArtifactName(bool value) { m_overrideArtifactNameHasBeenSet = true; m_overrideArtifactName = value; } /** *

If this flag is set, a name specified in the buildspec file overrides the * artifact name. The name specified in a buildspec file is calculated at build * time and uses the Shell Command Language. For example, you can append a date and * time to your artifact name so that it is always unique.

*/ inline ProjectArtifacts& WithOverrideArtifactName(bool value) { SetOverrideArtifactName(value); return *this;} /** *

Set to true if you do not want your output artifacts encrypted. This option * is valid only if your artifacts type is Amazon Simple Storage Service (Amazon * S3). If this is set with another artifacts type, an invalidInputException is * thrown.

*/ inline bool GetEncryptionDisabled() const{ return m_encryptionDisabled; } /** *

Set to true if you do not want your output artifacts encrypted. This option * is valid only if your artifacts type is Amazon Simple Storage Service (Amazon * S3). If this is set with another artifacts type, an invalidInputException is * thrown.

*/ inline bool EncryptionDisabledHasBeenSet() const { return m_encryptionDisabledHasBeenSet; } /** *

Set to true if you do not want your output artifacts encrypted. This option * is valid only if your artifacts type is Amazon Simple Storage Service (Amazon * S3). If this is set with another artifacts type, an invalidInputException is * thrown.

*/ inline void SetEncryptionDisabled(bool value) { m_encryptionDisabledHasBeenSet = true; m_encryptionDisabled = value; } /** *

Set to true if you do not want your output artifacts encrypted. This option * is valid only if your artifacts type is Amazon Simple Storage Service (Amazon * S3). If this is set with another artifacts type, an invalidInputException is * thrown.

*/ inline ProjectArtifacts& WithEncryptionDisabled(bool value) { SetEncryptionDisabled(value); return *this;} /** *

An identifier for this artifact definition.

*/ inline const Aws::String& GetArtifactIdentifier() const{ return m_artifactIdentifier; } /** *

An identifier for this artifact definition.

*/ inline bool ArtifactIdentifierHasBeenSet() const { return m_artifactIdentifierHasBeenSet; } /** *

An identifier for this artifact definition.

*/ inline void SetArtifactIdentifier(const Aws::String& value) { m_artifactIdentifierHasBeenSet = true; m_artifactIdentifier = value; } /** *

An identifier for this artifact definition.

*/ inline void SetArtifactIdentifier(Aws::String&& value) { m_artifactIdentifierHasBeenSet = true; m_artifactIdentifier = std::move(value); } /** *

An identifier for this artifact definition.

*/ inline void SetArtifactIdentifier(const char* value) { m_artifactIdentifierHasBeenSet = true; m_artifactIdentifier.assign(value); } /** *

An identifier for this artifact definition.

*/ inline ProjectArtifacts& WithArtifactIdentifier(const Aws::String& value) { SetArtifactIdentifier(value); return *this;} /** *

An identifier for this artifact definition.

*/ inline ProjectArtifacts& WithArtifactIdentifier(Aws::String&& value) { SetArtifactIdentifier(std::move(value)); return *this;} /** *

An identifier for this artifact definition.

*/ inline ProjectArtifacts& WithArtifactIdentifier(const char* value) { SetArtifactIdentifier(value); return *this;} private: ArtifactsType m_type; bool m_typeHasBeenSet; Aws::String m_location; bool m_locationHasBeenSet; Aws::String m_path; bool m_pathHasBeenSet; ArtifactNamespace m_namespaceType; bool m_namespaceTypeHasBeenSet; Aws::String m_name; bool m_nameHasBeenSet; ArtifactPackaging m_packaging; bool m_packagingHasBeenSet; bool m_overrideArtifactName; bool m_overrideArtifactNameHasBeenSet; bool m_encryptionDisabled; bool m_encryptionDisabledHasBeenSet; Aws::String m_artifactIdentifier; bool m_artifactIdentifierHasBeenSet; }; } // namespace Model } // namespace CodeBuild } // namespace Aws